<SEC-DOCUMENT>0001654954-25-004888.txt : 20250430
<SEC-HEADER>0001654954-25-004888.hdr.sgml : 20250430
<ACCEPTANCE-DATETIME>20250430163059
ACCESSION NUMBER:		0001654954-25-004888
CONFORMED SUBMISSION TYPE:	20-F
PUBLIC DOCUMENT COUNT:		153
CONFORMED PERIOD OF REPORT:	20241231
FILED AS OF DATE:		20250430
DATE AS OF CHANGE:		20250430

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			EURO TECH HOLDINGS CO LTD
		CENTRAL INDEX KEY:			0001026662
		STANDARD INDUSTRIAL CLASSIFICATION:	WHOLESALE-PROFESSIONAL & COMMERCIAL EQUIPMENT & SUPPLIES [5040]
		ORGANIZATION NAME:           	07 Trade & Services
		EIN:				000000000
		STATE OF INCORPORATION:			D8
		FISCAL YEAR END:			1231

	FILING VALUES:
		FORM TYPE:		20-F
		SEC ACT:		1934 Act
		SEC FILE NUMBER:	000-22113
		FILM NUMBER:		25895965

	BUSINESS ADDRESS:	
		STREET 1:		C/O EURO TECH (FAR EAST) LTD 18 F GEE
		STREET 2:		CHANG HONG CENTRE 65 WONG CHUK HANG ROAD
		CITY:			HONG KONG
		STATE:			K3
		ZIP:			00000
		BUSINESS PHONE:		0118522814

	MAIL ADDRESS:	
		STREET 1:		BRITISH VIRGIN ISLANDS LTD
		STREET 2:		TRUSTNET CHAMBERS PO BOX 3444
		CITY:			ROAD TOWN TORROLA BR
		STATE:			D8
		ZIP:			00000
</SEC-HEADER>
<DOCUMENT>
<TYPE>20-F
<SEQUENCE>1
<FILENAME>clwt_20f.htm
<DESCRIPTION>FORM 20-F
<TEXT>
<XBRL>
<?xml version='1.0' encoding='ASCII'?>
<html xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2015-02-26" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:currency="http://xbrl.sec.gov/currency/2024" xmlns="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:dei="http://xbrl.sec.gov/dei/2024" xmlns:num="http://www.xbrl.org/dtr/type/numeric" xmlns:nonnum="http://www.xbrl.org/dtr/type/non-numeric" xmlns:ref="http://www.xbrl.org/2006/ref" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:us-roles="http://fasb.org/us-roles/2024" xmlns:country="http://xbrl.sec.gov/country/2024" xmlns:utr="http://www.xbrl.org/2009/utr" xmlns:srt-types="http://fasb.org/srt-types/2024" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2020-01-21" xmlns:srt="http://fasb.org/srt/2024" xmlns:us-gaap="http://fasb.org/us-gaap/2024" xmlns:ecd="http://xbrl.sec.gov/ecd/2024" xmlns:ffd="http://xbrl.sec.gov/ffd/2024q2" xmlns:cyd="http://xbrl.sec.gov/cyd/2024" xmlns:clwt="http://euro-tech.com/20241231"><head><title>clwt_20f.htm</title><!--Document Created by XBRLMaster--><meta http-equiv="Content-Type" content="text/html"/></head><body style="text-align:justify;font:10pt times new roman"><div style="display:none;text-align:justify;font:10pt times new roman;margin:0px 0px 0px 15px;" id="XBRLDIV"><ix:header><ix:hidden><ix:nonNumeric name="dei:EntityCentralIndexKey" contextRef="From2024-01-01to2024-12-31" id="ixv-35004">0001026662</ix:nonNumeric><ix:nonNumeric name="dei:AmendmentFlag" contextRef="From2024-01-01to2024-12-31" format="ixt:booleanfalse" id="ixv-35005">false</ix:nonNumeric><ix:nonNumeric name="dei:CurrentFiscalYearEndDate" contextRef="From2024-01-01to2024-12-31" id="ixv-35006">--12-31</ix:nonNumeric><ix:nonNumeric name="dei:DocumentFiscalPeriodFocus" contextRef="From2024-01-01to2024-12-31" id="ixv-35007">FY</ix:nonNumeric><ix:nonNumeric name="dei:DocumentFiscalYearFocus" contextRef="From2024-01-01to2024-12-31" id="ixv-35008">2024</ix:nonNumeric><ix:nonNumeric name="dei:EntityAddressPostalZipCode" contextRef="From2024-01-01to2024-12-31" format="ixt:booleantrue" id="ixv-35009">true</ix:nonNumeric><ix:nonFraction name="us-gaap:CommonStockSharesAuthorized" contextRef="AsOf2023-12-31" unitRef="Shares" decimals="0" id="ixv-35010">20000000</ix:nonFraction><ix:nonFraction name="us-gaap:CommonStockSharesAuthorized" contextRef="AsOf2023-12-31_srt_SubsidiariesMember" unitRef="Shares" decimals="0" id="ixv-35011">82572000</ix:nonFraction><ix:nonFraction name="clwt:ForeignCurrencyTranslationAdjustment" contextRef="From2022-01-01to2022-12-31_clwt_PRCStatutoryReserveMember" unitRef="USD" decimals="0" id="ixv-35012">0</ix:nonFraction><ix:nonFraction name="clwt:PurchaseSharesOfTreasuryStock" contextRef="From2023-01-01to2023-12-31_us-gaap_RetainedEarningsMember" unitRef="USD" decimals="0" id="ixv-35013">0</ix:nonFraction><ix:nonFraction name="clwt:PurchaseSharesOfTreasuryStock" contextRef="From2024-01-01to2024-12-31_us-gaap_RetainedEarningsMember" unitRef="USD" decimals="0" id="ixv-35014">0</ix:nonFraction><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2024-01-01to2024-12-31_clwt_ZhejiangTianlanShareCapitalMember" unitRef="CNY" decimals="0" id="ixv-35015">0</ix:nonFraction><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2024-01-01to2024-12-31_clwt_ZhejiangTianlanCapitalReserveMember" unitRef="CNY" decimals="0" id="ixv-35016">0</ix:nonFraction><ix:nonFraction name="us-gaap:NetIncomeLoss" contextRef="From2024-01-01to2024-12-31_clwt_ZhejiangTianlanPrcStatutoryReserveMember" unitRef="CNY" decimals="0" id="ixv-35017">0</ix:nonFraction><ix:nonNumeric name="ecd:Rule10b51ArrAdoptedFlag" contextRef="From2024-01-01to2024-12-31" id="ixv-35018">false</ix:nonNumeric><ix:nonNumeric name="ecd:Rule10b51ArrTrmntdFlag" contextRef="From2024-01-01to2024-12-31" id="ixv-35019">false</ix:nonNumeric><ix:nonNumeric name="ecd:NonRule10b51ArrAdoptedFlag" contextRef="From2024-01-01to2024-12-31" id="ixv-35020">false</ix:nonNumeric><ix:nonNumeric name="ecd:NonRule10b51ArrTrmntdFlag" contextRef="From2024-01-01to2024-12-31" id="ixv-35021">false</ix:nonNumeric><ix:nonFraction name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" contextRef="From2024-01-01to2024-12-31_clwt_ShanghaiEuroTechsLimitedMember" unitRef="Pure" decimals="INF" id="ixv-35022">0</ix:nonFraction><ix:nonFraction name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" contextRef="From2023-01-01to2023-12-31_clwt_PactEnvironmentalTechnologyPteLtdMember" unitRef="Pure" decimals="INF" id="ixv-35023">0</ix:nonFraction><ix:nonFraction name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" contextRef="From2023-01-01to2023-12-31_clwt_ZhejiangTianlanMember_clwt_XuanchengLanjingEnvironmentalProtectionEquipmentCoLtdMember" unitRef="Pure" decimals="INF" id="ixv-35024">0</ix:nonFraction><ix:nonFraction name="us-gaap:ResearchAndDevelopmentExpense" contextRef="From2022-01-01to2022-12-31" unitRef="USD" decimals="0" id="ixv-35025">0</ix:nonFraction><ix:nonFraction name="us-gaap:ResearchAndDevelopmentExpense" contextRef="From2023-01-01to2023-12-31" unitRef="USD" decimals="0" id="ixv-35026">0</ix:nonFraction><ix:nonFraction name="us-gaap:ResearchAndDevelopmentExpense" contextRef="From2024-01-01to2024-12-31" unitRef="USD" decimals="0" id="ixv-35027">0</ix:nonFraction><ix:nonFraction name="us-gaap:ImpairmentOfLongLivedAssetsHeldForUse" contextRef="From2022-01-01to2022-12-31_srt_SubsidiaryIssuerMember" unitRef="USD" decimals="0" id="ixv-35028">0</ix:nonFraction><ix:nonFraction name="us-gaap:ImpairmentOfLongLivedAssetsHeldForUse" contextRef="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember" unitRef="USD" decimals="0" id="ixv-35029">0</ix:nonFraction><ix:nonFraction name="us-gaap:ImpairmentOfLongLivedAssetsHeldForUse" contextRef="From2023-01-01to2023-12-31_srt_SubsidiaryIssuerMember" unitRef="CNY" decimals="0" id="ixv-35030">0</ix:nonFraction><ix:nonFraction name="clwt:BillingsToDate" contextRef="AsOf2024-12-31" unitRef="USD" decimals="0" id="ixv-35031">885000</ix:nonFraction><ix:nonFraction name="clwt:BillingsToDate" contextRef="AsOf2023-12-31" unitRef="USD" decimals="0" id="ixv-35032">839000</ix:nonFraction><ix:nonFraction name="us-gaap:OtherOwnershipInterestsValue" contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember" unitRef="CNY" decimals="0" id="ixv-35033">0</ix:nonFraction><ix:nonFraction name="us-gaap:LongTermInvestments" contextRef="AsOf2023-12-31_clwt_BluesSkyMember" unitRef="USD" decimals="0" id="ixv-35034">5540000</ix:nonFraction><ix:nonFraction name="us-gaap:StatutoryAccountingPracticesStatutoryNetIncomeAmount" contextRef="From2023-01-01to2023-12-31_clwt_EnterpriseExpansionFundMember" unitRef="USD" decimals="0" id="ixv-35035">408000</ix:nonFraction><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="From2022-01-01to2022-12-31_clwt_HKMember" unitRef="USD" decimals="0" id="ixv-35036">256000</ix:nonFraction><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" contextRef="From2022-01-01to2022-12-31_clwt_EuroTechTradingShanghaiLimitedMember" unitRef="Pure" decimals="INF" id="ixv-35037">0.25</ix:nonFraction><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" contextRef="From2022-01-01to2022-12-31_clwt_ShanghaiEuroTechLimitedMember" unitRef="Pure" decimals="INF" id="ixv-35038">0.25</ix:nonFraction><ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" contextRef="From2022-01-01to2022-12-31_clwt_YixingPactEnvironmentalTechnologyCoLtdMember" unitRef="Pure" decimals="INF" id="ixv-35039">0.25</ix:nonFraction><ix:nonFraction name="us-gaap:Investments" contextRef="AsOf2024-12-31_srt_SubsidiariesMember_clwt_EngineeringServiceMember" unitRef="USD" decimals="0" id="ixv-35040">0</ix:nonFraction><ix:nonFraction name="us-gaap:Investments" contextRef="AsOf2023-12-31_srt_SubsidiariesMember_clwt_EngineeringServiceMember" unitRef="CNY" decimals="0" id="ixv-35041">0</ix:nonFraction><ix:nonFraction name="us-gaap:SecurityDeposit" contextRef="AsOf2023-12-31" unitRef="USD" decimals="0" id="ixv-35042">897000</ix:nonFraction></ix:hidden><ix:references><link:schemaRef xlink:type="simple" xlink:href="clwt-20241231.xsd"/></ix:references><ix:resources><xbrli:context id="From2024-01-01to2024-12-31"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier></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="From2025-02-01to2025-02-20_us-gaap_SubsequentEventMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2025-02-01</xbrli:startDate><xbrli:endDate>2025-02-20</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2024-01-01to2024-12-31_clwt_PactAsiaPacificLimitedMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">clwt:PactAsiaPacificLimitedMember</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="AsOf2024-12-31_clwt_PactAsiaPacificLimitedMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">clwt:PactAsiaPacificLimitedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="From2023-01-01to2023-12-31_srt_SubsidiariesMember_clwt_EngineeringServiceMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">clwt:EngineeringServiceMember</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="From2024-01-01to2024-12-31_srt_SubsidiariesMember_clwt_EngineeringServiceMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">clwt:EngineeringServiceMember</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="AsOf2023-12-31_srt_SubsidiariesMember_clwt_EngineeringServiceMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">clwt:EngineeringServiceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-12-31_srt_SubsidiariesMember_clwt_EngineeringServiceMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">clwt:EngineeringServiceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-12-31_clwt_HongKongAndPRCMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">clwt:HongKongAndPRCMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="From2023-01-01to2023-12-31_clwt_HongKongAndPRCMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">clwt:HongKongAndPRCMember</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="AsOf2023-12-31_srt_SubsidiariesMember_clwt_CNMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">clwt:CNMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-12-31_clwt_HongKongAndPRCMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">clwt:HongKongAndPRCMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-12-31_srt_SubsidiariesMember_clwt_CNMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">clwt:CNMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="From2023-01-01to2023-12-31_srt_SubsidiariesMember_clwt_CNMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">clwt:CNMember</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="From2024-01-01to2024-12-31_clwt_HongKongAndPRCMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">clwt:HongKongAndPRCMember</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="From2023-01-01to2023-12-31_srt_SubsidiariesMember_clwt_TopsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">clwt:TopsMember</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="From2023-01-01to2023-12-31_srt_SubsidiariesMember_clwt_BottomsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">clwt:BottomsMember</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="From2023-01-01to2023-12-31_clwt_TwoThousandTwentyNineStockOptionAndIncentivePlanMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">clwt:TwoThousandTwentyNineStockOptionAndIncentivePlanMember</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="From2024-01-01to2024-12-31_clwt_TwoThousandTwentyNineStockOptionAndIncentivePlanMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">clwt:TwoThousandTwentyNineStockOptionAndIncentivePlanMember</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="From2019-04-01to2019-04-30_clwt_TwoThousandTwentyNineStockOptionAndIncentivePlanMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">clwt:TwoThousandTwentyNineStockOptionAndIncentivePlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-04-01</xbrli:startDate><xbrli:endDate>2019-04-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2022-01-01to2022-12-31_clwt_TwoThousandTwentyNineStockOptionAndIncentivePlanMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">clwt:TwoThousandTwentyNineStockOptionAndIncentivePlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-12-31_us-gaap_StockOptionMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:StockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="From2024-01-01to2024-12-31_us-gaap_StockOptionMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:StockOptionMember</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="From2023-01-01to2023-12-31_us-gaap_StockOptionMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:StockOptionMember</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="From2022-01-01to2022-12-31_us-gaap_StockOptionMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:StockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="AsOf2021-12-31_us-gaap_StockOptionMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:StockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2022-12-31_us-gaap_StockOptionMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:StockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-12-31_us-gaap_StockOptionMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:StockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="From2022-01-01to2022-12-31_clwt_YixingPactEnvironmentalTechnologyCoLtdMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">clwt:YixingPactEnvironmentalTechnologyCoLtdMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2022-01-01to2022-12-31_clwt_ShanghaiEuroTechLimitedMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">clwt:ShanghaiEuroTechLimitedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2024-01-01to2024-12-31_clwt_ShanghaiEuroTechLimitedMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">clwt:ShanghaiEuroTechLimitedMember</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="From2022-01-01to2022-12-31_clwt_EuroTechTradingShanghaiLimitedMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">clwt:EuroTechTradingShanghaiLimitedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2024-01-01to2024-12-31_clwt_YixingPactEnvironmentalTechnologyCoLtdMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">clwt:YixingPactEnvironmentalTechnologyCoLtdMember</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="From2023-01-01to2023-12-31_clwt_YixingPactEnvironmentalTechnologyCoLtdMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">clwt:YixingPactEnvironmentalTechnologyCoLtdMember</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="From2023-01-01to2023-12-31_clwt_ShanghaiEuroTechLimitedMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">clwt:ShanghaiEuroTechLimitedMember</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="From2024-01-01to2024-12-31_clwt_EuroTechTradingShanghaiLimitedMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">clwt:EuroTechTradingShanghaiLimitedMember</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="From2023-01-01to2023-12-31_clwt_EuroTechTradingShanghaiLimitedMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">clwt:EuroTechTradingShanghaiLimitedMember</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="From2023-01-01to2023-12-31_clwt_HKMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">clwt:HKMember</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="From2024-01-01to2024-12-31_clwt_HKMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">clwt:HKMember</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="From2022-01-01to2022-12-31_clwt_HKMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">clwt:HKMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2024-01-01to2024-12-31_clwt_HongKongProfitTaxMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">clwt:HongKongProfitTaxMember</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="From2022-01-01to2022-12-31_clwt_HongKongProfitTaxMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">clwt:HongKongProfitTaxMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-01-01to2023-12-31_clwt_HongKongProfitTaxMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">clwt:HongKongProfitTaxMember</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="From2024-01-01to2024-12-31_clwt_StatutoryReserveFundMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">clwt:StatutoryReserveFundMember</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="From2023-01-01to2023-12-31_clwt_StatutoryReserveFundMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">clwt:StatutoryReserveFundMember</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="From2022-01-01to2022-12-31_clwt_StatutoryReserveFundMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">clwt:StatutoryReserveFundMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-01-01to2023-12-31_clwt_StatutoryStaffWelfareFundMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">clwt:StatutoryStaffWelfareFundMember</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="From2024-01-01to2024-12-31_clwt_StatutoryStaffWelfareFundMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">clwt:StatutoryStaffWelfareFundMember</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="From2023-01-01to2023-12-31_clwt_EnterpriseExpansionFundMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">clwt:EnterpriseExpansionFundMember</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="From2024-01-01to2024-12-31_clwt_EnterpriseExpansionFundMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">clwt:EnterpriseExpansionFundMember</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="AsOf2023-12-31_clwt_StockRepurchasePlanMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">clwt:StockRepurchasePlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-12-31_clwt_StockRepurchasePlanMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">clwt:StockRepurchasePlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-04-30_clwt_StockRepurchasePlanMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">clwt:StockRepurchasePlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-04-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="From2022-01-01to2022-01-24"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-01-24</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2021-03-01to2021-03-03"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2021-03-01</xbrli:startDate><xbrli:endDate>2021-03-03</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-12-31_srt_SubsidiariesMember_clwt_TopsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">clwt:TopsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-12-31_srt_SubsidiariesMember_clwt_BottomsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">clwt:BottomsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-12-31_srt_SubsidiariesMember_clwt_TopsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">clwt:TopsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-12-31_srt_SubsidiariesMember_clwt_BottomsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">clwt:BottomsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="From2023-01-01to2023-12-31_clwt_BluesSkyMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementScenarioAxis">clwt:BluesSkyMember</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="From2024-01-01to2024-12-31_clwt_BluesSkyMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementScenarioAxis">clwt:BluesSkyMember</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="AsOf2023-12-31_clwt_BluesSkyMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementScenarioAxis">clwt:BluesSkyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-12-31_clwt_BluesSkyMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementScenarioAxis">clwt:BluesSkyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="From2022-01-01to2022-12-31_srt_SubsidiariesMember_clwt_BorrowedBySubsidiariesCompanyMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">clwt:BorrowedBySubsidiariesCompanyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-01-01to2023-12-31_srt_SubsidiariesMember_clwt_BorrowedByTheCompanyMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">clwt:BorrowedByTheCompanyMember</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="From2022-01-01to2022-12-31_srt_SubsidiariesMember_clwt_BorrowedByTheCompanyMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">clwt:BorrowedByTheCompanyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-01-01to2023-12-31_srt_SubsidiariesMember_clwt_BorrowedBySubsidiariesCompanyMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">clwt:BorrowedBySubsidiariesCompanyMember</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="From2024-01-01to2024-12-31_srt_SubsidiariesMember_clwt_BorrowedBySubsidiariesCompanyMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">clwt:BorrowedBySubsidiariesCompanyMember</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="From2024-01-01to2024-12-31_srt_SubsidiariesMember_clwt_BorrowedByTheCompanyMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">clwt:BorrowedByTheCompanyMember</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="AsOf2023-12-31_srt_SubsidiariesMember_clwt_BankLoanBorrowedBySubsidiariesOfTheCompanysMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">clwt:BankLoanBorrowedBySubsidiariesOfTheCompanysMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-12-31_srt_SubsidiariesMember_clwt_BankLoanBorrowedBySubsidiariesOfTheCompanysMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">clwt:BankLoanBorrowedBySubsidiariesOfTheCompanysMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-12-31_srt_SubsidiariesMember_clwt_BankLoanBorrowedByTheCompanysMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">clwt:BankLoanBorrowedByTheCompanysMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-12-31_srt_SubsidiariesMember_clwt_BankLoanBorrowedByTheCompanysMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">clwt:BankLoanBorrowedByTheCompanysMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-12-31_clwt_PropertyInBeijingPRCMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">clwt:PropertyInBeijingPRCMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-12-31_clwt_PropertyInBeijingPRCMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">clwt:PropertyInBeijingPRCMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-12-31_us-gaap_BilledRevenuesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis">us-gaap:BilledRevenuesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-12-31_us-gaap_BilledRevenuesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis">us-gaap:BilledRevenuesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-12-31_srt_SubsidiaryIssuerMember_us-gaap_UnbilledRevenuesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiaryIssuerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis">us-gaap:UnbilledRevenuesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-12-31_srt_SubsidiaryIssuerMember_us-gaap_UnbilledRevenuesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiaryIssuerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis">us-gaap:UnbilledRevenuesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-12-31_us-gaap_UnbilledRevenuesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis">us-gaap:UnbilledRevenuesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-12-31_us-gaap_UnbilledRevenuesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis">us-gaap:UnbilledRevenuesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-12-31_clwt_PastDuesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">clwt:PastDuesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-12-31_clwt_PastDuesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">clwt:PastDuesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-12-31_clwt_MoreThanThreeMonthPastDueMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">clwt:MoreThanThreeMonthPastDueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-12-31_clwt_MoreThanThreeMonthPastDueMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">clwt:MoreThanThreeMonthPastDueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-12-31_clwt_ThreeMonthPastDueMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">clwt:ThreeMonthPastDueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-12-31_clwt_ThreeMonthPastDueMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">clwt:ThreeMonthPastDueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-12-31_clwt_OneToTwoMonthPastDueMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">clwt:OneToTwoMonthPastDueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-12-31_clwt_OneToTwoMonthPastDueMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">clwt:OneToTwoMonthPastDueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-12-31_clwt_OneMonthsPastDueMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">clwt:OneMonthsPastDueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-12-31_clwt_OneMonthsPastDueMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">clwt:OneMonthsPastDueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-12-31_srt_SubsidiaryIssuerMember_clwt_FourYearsToFiveYearsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiaryIssuerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">clwt:FourYearsToFiveYearsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-12-31_srt_SubsidiaryIssuerMember_clwt_ThreeYearsToFourYearMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiaryIssuerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">clwt:ThreeYearsToFourYearMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-12-31_srt_SubsidiaryIssuerMember_clwt_TwoYearToThreeYearMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiaryIssuerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">clwt:TwoYearToThreeYearMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-12-31_srt_SubsidiaryIssuerMember_clwt_OneYearToTwoYearMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiaryIssuerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">clwt:OneYearToTwoYearMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-12-31_srt_SubsidiaryIssuerMember_clwt_WithinOneYearMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiaryIssuerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">clwt:WithinOneYearMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-12-31_clwt_CurrentsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">clwt:CurrentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-12-31_srt_SubsidiaryIssuerMember_clwt_FourYearsToFiveYearsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiaryIssuerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">clwt:FourYearsToFiveYearsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-12-31_srt_SubsidiaryIssuerMember_clwt_ThreeYearsToFourYearMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiaryIssuerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">clwt:ThreeYearsToFourYearMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-12-31_srt_SubsidiaryIssuerMember_clwt_TwoYearToThreeYearMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiaryIssuerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">clwt:TwoYearToThreeYearMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-12-31_srt_SubsidiaryIssuerMember_clwt_OneYearToTwoYearMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiaryIssuerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">clwt:OneYearToTwoYearMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-12-31_srt_SubsidiaryIssuerMember_clwt_WithinOneYearMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiaryIssuerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">clwt:WithinOneYearMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-12-31_clwt_CurrentsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">clwt:CurrentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-12-31_srt_SubsidiaryIssuerMember_clwt_OverfiveYearsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiaryIssuerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">clwt:OverfiveYearsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2022-12-31_srt_SubsidiaryIssuerMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiaryIssuerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-12-31_srt_SubsidiaryIssuerMember_clwt_LeaseObligationsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiaryIssuerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">clwt:LeaseObligationsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-12-31_srt_SubsidiaryIssuerMember_clwt_LeaseObligationsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiaryIssuerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">clwt:LeaseObligationsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember_clwt_LeaseObligationsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiaryIssuerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">clwt:LeaseObligationsMember</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="From2024-01-01to2024-12-31_clwt_CustomersCMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:CustomersCMember</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="From2024-01-01to2024-12-31_clwt_CustomerGMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:CustomerGMember</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="From2024-01-01to2024-12-31_clwt_CustomerFMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:CustomerFMember</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="From2022-01-01to2022-12-31_clwt_CustomerFMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:CustomerFMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-01-01to2023-12-31_clwt_CustomerFMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:CustomerFMember</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="From2022-01-01to2022-12-31_clwt_CustomerEMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:CustomerEMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-01-01to2023-12-31_clwt_CustomerEMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:CustomerEMember</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="From2022-01-01to2022-12-31_clwt_CustomerDMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:CustomerDMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-01-01to2023-12-31_clwt_CustomerDMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:CustomerDMember</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="From2024-01-01to2024-12-31_clwt_CustomerEMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:CustomerEMember</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="From2024-01-01to2024-12-31_clwt_CustomerDMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:CustomerDMember</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="From2024-01-01to2024-12-31_clwt_CustomerHMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:CustomerHMember</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="From2022-01-01to2022-12-31_clwt_CustomersCMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:CustomersCMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2022-01-01to2022-12-31_clwt_CustomerGMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:CustomerGMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2022-01-01to2022-12-31_clwt_CustomerHMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:CustomerHMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-01-01to2023-12-31_clwt_CustomersCMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:CustomersCMember</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="From2023-01-01to2023-12-31_clwt_CustomerHMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:CustomerHMember</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="From2023-01-01to2023-12-31_clwt_CustomerGMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:CustomerGMember</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="From2024-01-01to2024-12-31_clwt_CustomersBMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:CustomersBMember</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="From2022-01-01to2022-12-31_clwt_CustomersBMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:CustomersBMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-01-01to2023-12-31_clwt_CustomersBMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:CustomersBMember</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="From2024-01-01to2024-12-31_clwt_CustomersAMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:CustomersAMember</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="From2024-01-01to2024-12-31_clwt_CustomerIMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:CustomerIMember</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="From2022-01-01to2022-12-31_clwt_CustomersAMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:CustomersAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2022-01-01to2022-12-31_clwt_CustomerIMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:CustomerIMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-01-01to2023-12-31_clwt_CustomersAMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:CustomersAMember</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="From2023-01-01to2023-12-31_clwt_CustomerIMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:CustomerIMember</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="From2023-01-01to2023-12-31_clwt_SuppliersFMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:SuppliersFMember</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="From2024-01-01to2024-12-31_clwt_SuppliersFMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:SuppliersFMember</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="From2022-01-01to2022-12-31_clwt_SuppliersFMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:SuppliersFMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-01-01to2023-12-31_clwt_SuppliersEMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:SuppliersEMember</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="From2024-01-01to2024-12-31_clwt_SuppliersEMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:SuppliersEMember</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="From2022-01-01to2022-12-31_clwt_SuppliersEMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:SuppliersEMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-01-01to2023-12-31_clwt_SuppliersDMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:SuppliersDMember</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="From2024-01-01to2024-12-31_clwt_SuppliersDMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:SuppliersDMember</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="From2022-01-01to2022-12-31_clwt_SuppliersDMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:SuppliersDMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-01-01to2023-12-31_clwt_SuppliersCMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:SuppliersCMember</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="From2024-01-01to2024-12-31_clwt_SuppliersCMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:SuppliersCMember</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="From2022-01-01to2022-12-31_clwt_SuppliersCMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:SuppliersCMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-01-01to2023-12-31_clwt_SuppliersBMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:SuppliersBMember</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="From2024-01-01to2024-12-31_clwt_SuppliersBMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:SuppliersBMember</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="From2022-01-01to2022-12-31_clwt_SuppliersBMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:SuppliersBMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-01-01to2023-12-31_clwt_SuppliersAMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:SuppliersAMember</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="From2024-01-01to2024-12-31_clwt_SuppliersAMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:SuppliersAMember</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="From2022-01-01to2022-12-31_clwt_SuppliersAMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:SuppliersAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-01-01to2023-12-31_clwt_OthersGeographicAreaMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:OthersGeographicAreaMember</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="From2024-01-01to2024-12-31_clwt_OthersGeographicAreaMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:OthersGeographicAreaMember</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="From2022-01-01to2022-12-31_clwt_OthersGeographicAreaMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:OthersGeographicAreaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-01-01to2023-12-31_clwt_HongKongsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:HongKongsMember</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="From2024-01-01to2024-12-31_clwt_HongKongsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:HongKongsMember</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="From2022-01-01to2022-12-31_clwt_HongKongsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:HongKongsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-01-01to2023-12-31_clwt_ThePRCsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:ThePRCsMember</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="From2024-01-01to2024-12-31_clwt_ThePRCsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:ThePRCsMember</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="From2022-01-01to2022-12-31_clwt_ThePRCsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:ThePRCsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-12-31_clwt_EngineeringsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">clwt:EngineeringsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-12-31_clwt_EngineeringsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">clwt:EngineeringsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-12-31_clwt_TradingsAndManufacturingMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">clwt:TradingsAndManufacturingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-12-31_clwt_TradingsAndManufacturingMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">clwt:TradingsAndManufacturingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="From2024-01-01to2024-12-31_clwt_UnallocatedCorporateExpensessMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">clwt:UnallocatedCorporateExpensessMember</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="From2022-01-01to2022-12-31_clwt_UnallocatedCorporateExpensessMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">clwt:UnallocatedCorporateExpensessMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-01-01to2023-12-31_clwt_UnallocatedCorporateExpensessMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">clwt:UnallocatedCorporateExpensessMember</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="From2024-01-01to2024-12-31_clwt_EngineeringsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">clwt:EngineeringsMember</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="From2022-01-01to2022-12-31_clwt_EngineeringsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">clwt:EngineeringsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-01-01to2023-12-31_clwt_EngineeringsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">clwt:EngineeringsMember</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="From2024-01-01to2024-12-31_clwt_TradingsAndManufacturingMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">clwt:TradingsAndManufacturingMember</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="From2022-01-01to2022-12-31_clwt_TradingsAndManufacturingMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">clwt:TradingsAndManufacturingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-01-01to2023-12-31_clwt_TradingsAndManufacturingMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">clwt:TradingsAndManufacturingMember</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="From2023-01-01to2023-12-31_srt_SubsidiaryIssuerMember_us-gaap_SalesRevenueNetMember_clwt_CustomerOneMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiaryIssuerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:CustomerOneMember</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="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember_us-gaap_SalesRevenueNetMember_clwt_CustomerOneMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiaryIssuerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:CustomerOneMember</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="From2022-01-01to2022-12-31_srt_SubsidiaryIssuerMember_us-gaap_SalesRevenueNetMember_clwt_CustomerOneMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiaryIssuerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:CustomerOneMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-01-01to2023-12-31_us-gaap_SalesRevenueNetMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</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="From2024-01-01to2024-12-31_us-gaap_SalesRevenueNetMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</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="From2022-01-01to2022-12-31_us-gaap_SalesRevenueNetMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-01-01to2023-12-31_srt_SubsidiaryIssuerMember_us-gaap_SalesRevenueNetMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiaryIssuerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</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="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember_us-gaap_SalesRevenueNetMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiaryIssuerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</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="From2022-01-01to2022-12-31_srt_SubsidiaryIssuerMember_us-gaap_SalesRevenueNetMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiaryIssuerMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="AsOf2021-03-03"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2021-03-03</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2019-10-08"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2019-10-08</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-12-31_srt_SubsidiaryIssuerMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiaryIssuerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-12-31_srt_SubsidiaryIssuerMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiaryIssuerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="From2023-01-01to2023-12-31_srt_SubsidiaryIssuerMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiaryIssuerMember</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="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiaryIssuerMember</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="From2022-01-01to2022-12-31_srt_SubsidiaryIssuerMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiaryIssuerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2024-01-01to2024-12-31_srt_SubsidiariesMember_clwt_PlantAndMachineriesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">clwt:PlantAndMachineriesMember</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="From2024-01-01to2024-12-31_srt_SubsidiariesMember_us-gaap_VehiclesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</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="From2024-01-01to2024-12-31_srt_SubsidiariesMember_us-gaap_FurnitureAndFixturesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</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="From2024-01-01to2024-12-31_srt_SubsidiariesMember_us-gaap_BuildingAndBuildingImprovementsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</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="From2024-01-01to2024-12-31_srt_SubsidiariesMember_clwt_LandUseRightMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">clwt:LandUseRightMember</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="From2024-01-01to2024-12-31_us-gaap_LeaseholdImprovementsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</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="From2024-01-01to2024-12-31_us-gaap_OtherMachineryAndEquipmentMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OtherMachineryAndEquipmentMember</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="From2024-01-01to2024-12-31_us-gaap_VehiclesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</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="From2024-01-01to2024-12-31_us-gaap_FurnitureAndFixturesMember_clwt_TopsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">clwt:TopsMember</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="From2024-01-01to2024-12-31_us-gaap_FurnitureAndFixturesMember_clwt_BottomsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">clwt:BottomsMember</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="From2024-01-01to2024-12-31_clwt_OfficePremisesMember_clwt_TopsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">clwt:OfficePremisesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">clwt:TopsMember</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="From2024-01-01to2024-12-31_clwt_OfficerPremisesMember_clwt_BottomsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">clwt:OfficerPremisesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">clwt:BottomsMember</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="From2024-01-01to2024-12-31_clwt_ZhejiangTianlanMember_clwt_XuanchengLanjingEnvironmentalProtectionEquipmentCoLtdMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">clwt:ZhejiangTianlanMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">clwt:XuanchengLanjingEnvironmentalProtectionEquipmentCoLtdMember</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="From2024-01-01to2024-12-31_clwt_ZhejiangTianlanEnvironmentalProtectionTechnologyCoLtdMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">clwt:ZhejiangTianlanEnvironmentalProtectionTechnologyCoLtdMember</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="From2024-01-01to2024-12-31_clwt_PactEnvironmentalTechnologyPteLtdMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">clwt:PactEnvironmentalTechnologyPteLtdMember</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="From2023-01-01to2023-12-31_clwt_ZhejiangTianlanMember_clwt_XuanchengLanjingEnvironmentalProtectionEquipmentCoLtdMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">clwt:ZhejiangTianlanMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">clwt:XuanchengLanjingEnvironmentalProtectionEquipmentCoLtdMember</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="From2023-01-01to2023-12-31_clwt_ZhejiangTianlanEnvironmentalProtectionTechnologyCoLtdMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">clwt:ZhejiangTianlanEnvironmentalProtectionTechnologyCoLtdMember</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="From2023-01-01to2023-12-31_clwt_PactEnvironmentalTechnologyPteLtdMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">clwt:PactEnvironmentalTechnologyPteLtdMember</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="From2024-01-01to2024-12-31_clwt_PactAsiaPacificLimitedsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">clwt:PactAsiaPacificLimitedsMember</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="From2023-01-01to2023-12-31_clwt_PactAsiaPacificLimitedsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">clwt:PactAsiaPacificLimitedsMember</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="From2024-01-01to2024-12-31_clwt_YixingPactEnvironmentalsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">clwt:YixingPactEnvironmentalsMember</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="From2023-01-01to2023-12-31_clwt_YixingPactEnvironmentalsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">clwt:YixingPactEnvironmentalsMember</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="From2023-01-01to2023-12-31_clwt_ZhejiangTianlanMember_clwt_HangzhouZhongyiEcologicalAndEnvironmentalConsultingCompanyLimitedMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">clwt:ZhejiangTianlanMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">clwt:HangzhouZhongyiEcologicalAndEnvironmentalConsultingCompanyLimitedMember</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="From2024-01-01to2024-12-31_clwt_ZhejiangTianlanMember_clwt_HangzhouZhongyiEcologicalAndEnvironmentalConsultingCompanyLimitedMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">clwt:ZhejiangTianlanMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">clwt:HangzhouZhongyiEcologicalAndEnvironmentalConsultingCompanyLimitedMember</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="From2024-01-01to2024-12-31_clwt_HangzhouTiancanEnvironmentalTechnologyCompanysLimitedMember_clwt_ZhejiangTianlanMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">clwt:HangzhouTiancanEnvironmentalTechnologyCompanysLimitedMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">clwt:ZhejiangTianlanMember</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="From2024-01-01to2024-12-31_clwt_HangzhouTianlanPureEnvironmentalProtectionTechnologyCompanysLimitedMember_clwt_ZhejiangTianlanMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">clwt:HangzhouTianlanPureEnvironmentalProtectionTechnologyCompanysLimitedMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">clwt:ZhejiangTianlanMember</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="From2024-01-01to2024-12-31_clwt_HangzhouTianlanEnvironmenstalProtectionEquipmentCompanyLimitedMember_clwt_ZhejiangTianlanMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">clwt:HangzhouTianlanEnvironmenstalProtectionEquipmentCompanyLimitedMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">clwt:ZhejiangTianlanMember</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="From2024-01-01to2024-12-31_clwt_ShanghaiEuroTechsLimitedMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">clwt:ShanghaiEuroTechsLimitedMember</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="From2023-01-01to2023-12-31_clwt_HangzhouTiancanEnvironmentalTechnologyCompanysLimitedMember_clwt_ZhejiangTianlanMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">clwt:HangzhouTiancanEnvironmentalTechnologyCompanysLimitedMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">clwt:ZhejiangTianlanMember</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="From2023-01-01to2023-12-31_clwt_HangzhouTianlanPureEnvironmentalProtectionTechnologyCompanysLimitedMember_clwt_ZhejiangTianlanMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">clwt:HangzhouTianlanPureEnvironmentalProtectionTechnologyCompanysLimitedMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">clwt:ZhejiangTianlanMember</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="From2023-01-01to2023-12-31_clwt_HangzhouTianlanEnvironmenstalProtectionEquipmentCompanyLimitedMember_clwt_ZhejiangTianlanMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">clwt:HangzhouTianlanEnvironmenstalProtectionEquipmentCompanyLimitedMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">clwt:ZhejiangTianlanMember</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="From2023-01-01to2023-12-31_clwt_ShanghaiEuroTechsLimitedMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">clwt:ShanghaiEuroTechsLimitedMember</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="From2024-01-01to2024-12-31_clwt_ZhejiangTianlanEnvironmentalProtectionEngineeringsMember_clwt_ZhejiangTianlanMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">clwt:ZhejiangTianlanEnvironmentalProtectionEngineeringsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">clwt:ZhejiangTianlanMember</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="From2024-01-01to2024-12-31_clwt_EuroTechTradingsLimitedMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">clwt:EuroTechTradingsLimitedMember</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="From2023-01-01to2023-12-31_clwt_ZhejiangTianlanEnvironmentalProtectionEngineeringsMember_clwt_ZhejiangTianlanMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">clwt:ZhejiangTianlanEnvironmentalProtectionEngineeringsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">clwt:ZhejiangTianlanMember</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="From2023-01-01to2023-12-31_clwt_EuroTechTradingsLimitedMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">clwt:EuroTechTradingsLimitedMember</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="From2024-01-01to2024-12-31_clwt_EuroTechFarEastsLimitedMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">clwt:EuroTechFarEastsLimitedMember</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="From2023-01-01to2023-12-31_clwt_EuroTechFarEastsLimitedMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">clwt:EuroTechFarEastsLimitedMember</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="AsOf2024-12-31_clwt_ZhejiangTianlanNonControllingInterestsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanNonControllingInterestsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-12-31_clwt_ZhejiangTianlanRetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanRetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-12-31_clwt_ZhejiangTianlanPrcStatutoryReserveMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanPrcStatutoryReserveMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-12-31_clwt_ZhejiangTianlanCapitalReserveMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanCapitalReserveMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-12-31_clwt_ZhejiangTianlanShareCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanShareCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-12-31_clwt_SubsidiaryMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:SubsidiaryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-12-31_us-gaap_NoncontrollingInterestMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</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="AsOf2024-12-31_us-gaap_RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</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="AsOf2024-12-31_clwt_PRCStatutoryReserveMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:PRCStatutoryReserveMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</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="AsOf2024-12-31_us-gaap_TreasuryStockCommonMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</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="AsOf2024-12-31_us-gaap_AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</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="AsOf2024-12-31_us-gaap_CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</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="From2024-01-01to2024-12-31_clwt_ZhejiangTianlanCapitalReserveMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanCapitalReserveMember</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="From2024-01-01to2024-12-31_clwt_ZhejiangTianlanShareCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanShareCapitalMember</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="From2024-01-01to2024-12-31_us-gaap_NoncontrollingInterestMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</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-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2024-01-01to2024-12-31_us-gaap_RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</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-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2024-01-01to2024-12-31_clwt_PRCStatutoryReserveMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:PRCStatutoryReserveMember</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="From2024-01-01to2024-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</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-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2024-01-01to2024-12-31_us-gaap_TreasuryStockCommonMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</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="From2024-01-01to2024-12-31_us-gaap_AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</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-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2024-01-01to2024-12-31_us-gaap_CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</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="From2024-01-01to2024-12-31_clwt_ZhejiangTianlanNonControllingInterestsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanNonControllingInterestsMember</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="From2024-01-01to2024-12-31_clwt_ZhejiangTianlanRetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanRetainedEarningsMember</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="From2024-01-01to2024-12-31_clwt_ZhejiangTianlanPrcStatutoryReserveMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanPrcStatutoryReserveMember</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="From2024-01-01to2024-12-31_clwt_SubsidiaryMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:SubsidiaryMember</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="AsOf2023-12-31_clwt_ZhejiangTianlanNonControllingInterestsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanNonControllingInterestsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-12-31_clwt_ZhejiangTianlanRetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanRetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-12-31_clwt_ZhejiangTianlanPrcStatutoryReserveMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanPrcStatutoryReserveMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-12-31_clwt_ZhejiangTianlanCapitalReserveMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanCapitalReserveMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-12-31_clwt_ZhejiangTianlanShareCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanShareCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-12-31_clwt_SubsidiaryMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:SubsidiaryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-12-31_us-gaap_NoncontrollingInterestMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</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="AsOf2023-12-31_us-gaap_RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</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="AsOf2023-12-31_clwt_PRCStatutoryReserveMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:PRCStatutoryReserveMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</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="AsOf2023-12-31_us-gaap_TreasuryStockCommonMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</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="AsOf2023-12-31_us-gaap_AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</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="AsOf2023-12-31_us-gaap_CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</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="From2023-01-01to2023-12-31_us-gaap_NoncontrollingInterestMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</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="From2023-01-01to2023-12-31_us-gaap_RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-01-01to2023-12-31_clwt_PRCStatutoryReserveMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:PRCStatutoryReserveMember</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="From2023-01-01to2023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-01-01to2023-12-31_us-gaap_TreasuryStockCommonMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</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="From2023-01-01to2023-12-31_us-gaap_AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-01-01to2023-12-31_us-gaap_CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-01-01to2023-12-31_clwt_ZhejiangTianlanNonControllingInterestsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanNonControllingInterestsMember</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="From2023-01-01to2023-12-31_clwt_ZhejiangTianlanRetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanRetainedEarningsMember</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="From2023-01-01to2023-12-31_clwt_ZhejiangTianlanPrcStatutoryReserveMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanPrcStatutoryReserveMember</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="From2023-01-01to2023-12-31_clwt_ZhejiangTianlanCapitalReserveMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanCapitalReserveMember</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="From2023-01-01to2023-12-31_clwt_ZhejiangTianlanShareCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanShareCapitalMember</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="From2023-01-01to2023-12-31_clwt_SubsidiaryMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:SubsidiaryMember</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="AsOf2022-12-31_clwt_ZhejiangTianlanNonControllingInterestsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanNonControllingInterestsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2022-12-31_clwt_ZhejiangTianlanRetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanRetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2022-12-31_clwt_ZhejiangTianlanPrcStatutoryReserveMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanPrcStatutoryReserveMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2022-12-31_clwt_ZhejiangTianlanCapitalReserveMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanCapitalReserveMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2022-12-31_clwt_ZhejiangTianlanShareCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanShareCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2022-12-31_clwt_SubsidiaryMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:SubsidiaryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2022-12-31_us-gaap_NoncontrollingInterestMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2022-12-31_us-gaap_RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2022-12-31_clwt_PRCStatutoryReserveMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:PRCStatutoryReserveMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2022-12-31_us-gaap_TreasuryStockCommonMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2022-12-31_us-gaap_AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2022-12-31_us-gaap_CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="From2022-01-01to2022-12-31_clwt_ZhejiangTianlanNonControllingInterestsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanNonControllingInterestsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2022-01-01to2022-12-31_clwt_ZhejiangTianlanRetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanRetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2022-01-01to2022-12-31_clwt_ZhejiangTianlanPrcStatutoryReserveMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanPrcStatutoryReserveMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2022-01-01to2022-12-31_clwt_ZhejiangTianlanCapitalReserveMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanCapitalReserveMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2022-01-01to2022-12-31_clwt_ZhejiangTianlanShareCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanShareCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2022-01-01to2022-12-31_clwt_SubsidiaryMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:SubsidiaryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2022-01-01to2022-12-31_us-gaap_NoncontrollingInterestMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2022-01-01to2022-12-31_us-gaap_RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2022-01-01to2022-12-31_clwt_PRCStatutoryReserveMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:PRCStatutoryReserveMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2022-01-01to2022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2022-01-01to2022-12-31_us-gaap_TreasuryStockCommonMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2022-01-01to2022-12-31_us-gaap_AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2022-01-01to2022-12-31_us-gaap_CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="AsOf2021-12-31_clwt_ZhejiangTianlanNonControllingInterestsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanNonControllingInterestsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2021-12-31_clwt_ZhejiangTianlanRetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanRetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2021-12-31_clwt_ZhejiangTianlanPrcStatutoryReserveMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanPrcStatutoryReserveMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2021-12-31_clwt_ZhejiangTianlanCapitalReserveMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanCapitalReserveMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2021-12-31_clwt_ZhejiangTianlanShareCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanShareCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2021-12-31_clwt_SubsidiaryMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:SubsidiaryMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2021-12-31_us-gaap_NoncontrollingInterestMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2021-12-31_us-gaap_RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2021-12-31_clwt_PRCStatutoryReserveMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:PRCStatutoryReserveMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2021-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2021-12-31_us-gaap_TreasuryStockCommonMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2021-12-31_us-gaap_AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2021-12-31_us-gaap_CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2021-12-31_srt_SubsidiariesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2022-12-31_srt_SubsidiariesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2022-12-31"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2021-12-31"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2021-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="From2024-01-01to2024-12-31_srt_SubsidiariesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</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="From2022-01-01to2022-12-31_srt_SubsidiariesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-01-01to2023-12-31_srt_SubsidiariesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</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="From2022-01-01to2022-12-31"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2022-01-01</xbrli:startDate><xbrli:endDate>2022-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-01-01to2023-12-31"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-12-31_srt_SubsidiariesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-12-31_srt_SubsidiariesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-12-31"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-12-31"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2024-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="From2024-01-01to2024-12-31_dei_BusinessContactMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001026662</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="dei:EntityAddressesAddressTypeAxis">dei:BusinessContactMember</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:unit id="USD"><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unit><xbrli:unit id="Shares"><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unit><xbrli:unit id="USDPShares"><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="CNY"><xbrli:measure>iso4217:CNY</xbrli:measure></xbrli:unit><xbrli:unit id="CNYPShares"><xbrli:divide><xbrli:unitNumerator><xbrli:measure>iso4217:CNY</xbrli:measure></xbrli:unitNumerator><xbrli:unitDenominator><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unitDenominator></xbrli:divide></xbrli:unit><xbrli:unit id="Pure"><xbrli:measure>xbrli:pure</xbrli:measure></xbrli:unit></ix:resources></ix:header></div><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="font-size:1px;width:100%"><tbody><tr><td style="BORDER-BOTTOM: 5px solid;"/></tr><tr><td style="BORDER-BOTTOM: 2px solid;"/></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>UNITED STATES</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>SECURITIES AND EXCHANGE COMMISSION</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>WASHINGTON, DC 20549</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong><span style="font-size:18pt">FORM <ix:nonNumeric name="dei:DocumentType" contextRef="From2024-01-01to2024-12-31" id="ixv-37659">20-F</ix:nonNumeric></span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#9744; REGISTRATION STATEMENT PURSUANT TO SECTION 12(b) OR (g) OF THE SECURITIES EXCHANGE ACT OF 1934</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>OR</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><ix:nonNumeric name="dei:DocumentAnnualReport" contextRef="From2024-01-01to2024-12-31" format="ixt-sec:boolballotbox" id="ixv-37660">&#9746;</ix:nonNumeric> ANNUAL REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>For the fiscal year ended <ix:nonNumeric name="dei:DocumentPeriodEndDate" contextRef="From2024-01-01to2024-12-31" format="ixt:datemonthdayyearen" id="ixv-37661">December 31, 2024</ix:nonNumeric></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">OR</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><ix:nonNumeric name="dei:DocumentTransitionReport" contextRef="From2024-01-01to2024-12-31" format="ixt-sec:boolballotbox" id="ixv-37662">&#9744;</ix:nonNumeric> TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">ACT OF 1934</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>OR</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><ix:nonNumeric name="dei:DocumentShellCompanyReport" contextRef="From2024-01-01to2024-12-31" format="ixt-sec:boolballotbox" id="ixv-37663">&#9744;</ix:nonNumeric> SHELL COMPANY REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">Commission file number <strong><span style="text-decoration:underline"><ix:nonNumeric name="dei:EntityFileNumber" contextRef="From2024-01-01to2024-12-31" id="ixv-37664">000-22113</ix:nonNumeric></span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;text-align:justify;margin-left:auto;margin-right:auto;width:60%" cellpadding="0"><tbody><tr style="height:15px"><td style="BORDER-BOTTOM: 1px solid;width:100%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong><span style="font-size:18pt"><ix:nonNumeric name="dei:EntityRegistrantName" contextRef="From2024-01-01to2024-12-31" id="ixv-37665">EURO TECH HOLDINGS COMPANY LIMITED</ix:nonNumeric></span></strong></p></td></tr><tr style="height:15px"><td style="width:100%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">(Exact name of Registrant as specified in its charter)</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">(Translation of Registrant&#8217;s name into English)&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong><span style="text-decoration:underline"><ix:nonNumeric name="dei:EntityIncorporationStateCountryCode" contextRef="From2024-01-01to2024-12-31" format="ixt-sec:edgarprovcountryen" id="ixv-37666">British Virgin Islands</ix:nonNumeric></span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">(Jurisdiction of incorporation or organization)&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong><span style="text-decoration:underline"><ix:nonNumeric name="dei:EntityAddressAddressLine1" contextRef="From2024-01-01to2024-12-31" id="ixv-37667">Unit D, 18/F.</ix:nonNumeric>, <ix:nonNumeric name="dei:EntityAddressAddressLine2" contextRef="From2024-01-01to2024-12-31" id="ixv-37668">Gee Chang Hong Centre</ix:nonNumeric>, <ix:nonNumeric name="dei:EntityAddressCityOrTown" contextRef="From2024-01-01to2024-12-31" id="ixv-37669">65 Wong Chuk Hang Road</ix:nonNumeric>, <ix:nonNumeric name="dei:EntityAddressCountry" contextRef="From2024-01-01to2024-12-31" format="ixt-sec:countrynameen" id="ixv-37670">Hong Kong</ix:nonNumeric></span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">(Address of principal executive offices)&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong><ix:nonNumeric id="aid_190_0" name="dei:ContactPersonnelName" contextRef="From2024-01-01to2024-12-31_dei_BusinessContactMember">David YL Leung</ix:nonNumeric></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>FAX:<ix:nonNumeric id="aid_190_1" name="dei:PhoneFaxNumberDescription" contextRef="From2024-01-01to2024-12-31_dei_BusinessContactMember">852-28734887</ix:nonNumeric></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong><ix:nonNumeric id="aid_190_2" name="dei:EntityAddressAddressLine1" contextRef="From2024-01-01to2024-12-31_dei_BusinessContactMember">Unit D, 18/F</ix:nonNumeric>., <ix:nonNumeric id="aid_190_3" name="dei:EntityAddressAddressLine2" contextRef="From2024-01-01to2024-12-31_dei_BusinessContactMember">Gee Chang Hong Centre</ix:nonNumeric></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong><ix:nonNumeric id="aid_190_4" name="dei:EntityAddressCityOrTown" contextRef="From2024-01-01to2024-12-31_dei_BusinessContactMember">65 Wong Chuk Hang Road</ix:nonNumeric></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><span style="text-decoration:underline"><ix:nonNumeric id="aid_190_5" name="dei:EntityAddressCountry" contextRef="From2024-01-01to2024-12-31_dei_BusinessContactMember" format="ixt-sec:countrynameen">Hong Kong</ix:nonNumeric></span></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">(Name, Telephone, Email and/or Facsimile number and Address of Company Contact Person)&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Securities registered or to be registered pursuant to Section 12(b) of the Act.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="BORDER-BOTTOM: 1px solid;width:30%;vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Title of each class</strong></p></td><td style="width:5%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:30%;vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Trading Symbol</strong></p></td><td style="width:5%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:30%;vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Name of each exchange on which registered</strong></p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><ix:nonNumeric name="dei:Security12bTitle" contextRef="From2024-01-01to2024-12-31" id="ixv-37677">ordinary shares, no par value</ix:nonNumeric></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><ix:nonNumeric name="dei:TradingSymbol" contextRef="From2024-01-01to2024-12-31" id="ixv-37678">CLWT</ix:nonNumeric></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><ix:nonNumeric name="dei:SecurityExchangeName" contextRef="From2024-01-01to2024-12-31" format="ixt-sec:exchnameen" id="ixv-37679">NASDAQ</ix:nonNumeric> Capital Market</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Securities registered or to be registered pursuant to Section 12(g) of the Act.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong><span style="text-decoration:underline">None.</span></strong><span style="text-decoration:underline">&#160;</span></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">(Title of Class)&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Securities for which there is a reporting obligation pursuant to Section 15(d) of the Act.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong><span style="text-decoration:underline">None.</span></strong><span style="text-decoration:underline">&#160;</span></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">(Title of Class)&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Indicate the number of issued and outstanding shares of each of the issuer&#8217;s classes of capital or common stock as of the close of the period covered by this annual report. <ix:nonFraction name="dei:EntityCommonStockSharesOutstanding" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="Shares" decimals="INF" id="ixv-37680">7,716,299</ix:nonFraction> ordinary shares. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Indicate by check mark if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. &#9744; Yes&#160;&#160;&#160;&#160; &#9746; <ix:nonNumeric name="dei:EntityWellKnownSeasonedIssuer" contextRef="From2024-01-01to2024-12-31" id="ixv-37681">No</ix:nonNumeric></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">If this report is an annual or transition report, indicate by check mark if the registrant is not required to file reports pursuant to Section 13 or 15(d) of the Securities Exchange Act of 1934. &#9744; Yes&#160;&#160;&#160; &#160;&#9746; <ix:nonNumeric name="dei:EntityVoluntaryFilers" contextRef="From2024-01-01to2024-12-31" id="ixv-37682">No</ix:nonNumeric></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Note &#8212; Checking the box above will not relieve any registrant required to file reports pursuant to Section 13 or 15(d) of the Securities Exchange Act of 1934 from their obligations under those Sections.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Indicate by check mark whether the registrant (1) has filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that the registrant was required to file such reports), and (2) has been subject to such filing requirements for the past 90 days. &#9746; <ix:nonNumeric name="dei:EntityCurrentReportingStatus" contextRef="From2024-01-01to2024-12-31" id="ixv-37683">Yes</ix:nonNumeric>&#160;&#160;&#160;&#160;&#160;&#9744; No</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Indicate by check mark whether the registrant has submitted electronically and posed on its corporate Web site, if any, every Interactive Data File required to be submitted and posted pursuant to Rule 405 of Regulation S-T (&#167;232.405 of this chapter) during the preceding 12 months (or for such shorter period that the registrant was required to submit and post such files). &#9746; <ix:nonNumeric name="dei:EntityInteractiveDataCurrent" contextRef="From2024-01-01to2024-12-31" id="ixv-37684">Yes</ix:nonNumeric>&#160;&#160;&#160;&#160; &#9744; No</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, or an emerging growth company. See definition of &#8220;large accelerated filer,&#8221; &#8220; accelerated filer,&#8221; and &#8220; emerging growth company&#8221; in Rule 12b-2 of the Exchange Act (Check one).</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;text-align:justify;margin-left:auto;margin-right:auto;width:85%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:30%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Large accelerated filer </p></td><td style="width:20%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#9744;</p></td><td style="width:30%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><ix:nonNumeric name="dei:EntityFilerCategory" contextRef="From2024-01-01to2024-12-31" format="ixt-sec:entityfilercategoryen" id="ixv-37685">Non-accelerated Filer</ix:nonNumeric></p></td><td style="width:20%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#9746;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Accelerated filer </p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#9744;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Emerging Growth Company</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><ix:nonNumeric name="dei:EntityEmergingGrowthCompany" contextRef="From2024-01-01to2024-12-31" format="ixt-sec:boolballotbox" id="ixv-37686">&#9744;</ix:nonNumeric></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">If an emerging growth company that prepares its financial statements in accordance with U.S. GAAP, 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&#8224; provided pursuant to Section 13(a) of the Exchange Act. &#9744;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#8224;The term &#8220;new or revised financial accounting standards&#8221; refers to any update by the Financial Accounting Standards Board to its accounting Standards Codification after April 5, 2012.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Indicate by check mark whether the registrant has filed a report on and attestation to its management&#8217;s assessment of the effectiveness of its internal control over financial reporting under Section 404(b) of the Sarbanes-Oxley Act 15 U.S.C. 7262(b) by the registered public accounting firm that prepared or issued its audit report. <ix:nonNumeric name="dei:IcfrAuditorAttestationFlag" contextRef="From2024-01-01to2024-12-31" format="ixt-sec:boolballotbox" id="ixv-37687">&#9744;</ix:nonNumeric></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">If securities are registered pursuant to Section 12(b) of the Act, indicate by check mark whether the financial statements of the registrant included in the filing reflect the correction of an error to previously issued financial statements. &#9744;&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Indicate by check mark whether any of those error corrections are restatements that required a recovery analysis of incentive-based compensation received by any of the registrant&#8217;s executive officers during the relevant recovery period pursuant to &#167;240.10D-1(b). &#9744;&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Indicate by check mark which basis of accounting the registrant has used to prepare the financial statements included in this filing:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:20%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><ix:nonNumeric name="dei:DocumentAccountingStandard" contextRef="From2024-01-01to2024-12-31" id="ixv-37688">U.S. GAAP</ix:nonNumeric></p></td><td style="width:10%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#9746;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">International Financial Reporting Standards as issued by the International Accounting Standards Board </p></td><td style="width:10%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#9744;&#160;</p></td><td style="width:20%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Other </p></td><td style="width:10%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#9744;&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">If &#8220;Other&#8221; has been checked in response to the previous question, indicate by check mark which financial statement item the registrant has elected to follow. <ix:nonNumeric name="dei:DocumentRegistrationStatement" contextRef="From2024-01-01to2024-12-31" format="ixt-sec:boolballotbox" id="ixv-37689">&#9744;</ix:nonNumeric> Item 17&#160;&#160;&#160;&#160; &#9744; Item 18</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">If this is an annual report, indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Exchange Act). <ix:nonNumeric name="dei:EntityShellCompany" contextRef="From2024-01-01to2024-12-31" format="ixt-sec:boolballotbox" id="ixv-37690">&#9744;</ix:nonNumeric> Yes&#160;&#160;&#160;&#160; &#9746; No</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="font-size:1px;width:100%"><tbody><tr><td style="BORDER-BOTTOM: 2px solid;"/></tr><tr><td style="BORDER-BOTTOM: 5px solid;"/></tr></tbody></table><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="TEXT-INDENT: 0px;"/></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td>&#160;</td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong><span class="atag" style="display: inline" id="TOC">TABLE OF CONTENTS</span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px;background-color:#cceeff"><td colspan="2" style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong><a href="#INT">INTRODUCTION</a></strong></p></td><td/><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">3</p></td><td/></tr><tr style="height:15px;background-color:#ffffff"><td colspan="2" style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong><a href="#FLS">FORWARD LOOKING STATEMENTS</a></strong></p></td><td/><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">3</p></td><td/></tr><tr style="height:15px;background-color:#cceeff"><td colspan="2" style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong><a href="#GL">GLOSSARY</a></strong></p></td><td/><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">4</p></td><td/></tr><tr style="height:15px;background-color:#ffffff"><td style="width:8%;"/><td/><td style="width:1%;"/><td style="width:9%;"/><td style="width:1%;"/></tr><tr style="height:15px;background-color:#ffffff"><td colspan="5"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong><a href="#P1">PART I</a></strong></p></td></tr><tr style="height:15px;background-color:#ffffff"><td/><td/><td/><td/><td/></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>ITEM 1.</strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>IDENTITY OF DIRECTORS, SENIOR MANAGEMENT AND ADVISERS</strong></p></td><td/><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;</p></td><td/></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>ITEM 2.</strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>OFFER STATISTICS AND EXPECTED TIMETABLE</strong></p></td><td/><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;</p></td><td/></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong><a href="#IT3">ITEM 3.</a></strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong><a href="#IT3">KEY INFORMATION</a></strong></p></td><td/><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">5</p></td><td/></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong><a href="#IT4">ITEM 4.</a></strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong><a href="#IT4">INFORMATION ON THE COMPANY</a></strong></p></td><td/><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">33</p></td><td/></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong><a href="#IT4A">ITEM 4A.</a></strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong><a href="#IT4A">UNRESOLVED STAFF COMMENTS</a></strong></p></td><td/><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">51</p></td><td/></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong><a href="#IT5">ITEM 5.</a></strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong><a href="#IT5">OPERATING AND FINANCIAL REVIEW AND PROSPECTS</a></strong></p></td><td/><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">51</p></td><td/></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong><a href="#IT6">ITEM 6.</a></strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong><a href="#IT6">DIRECTORS, SENIOR MANAGEMENT AND EMPLOYEES</a></strong></p></td><td/><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">60</p></td><td/></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong><a href="#IT7">ITEM 7.</a></strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong><a href="#IT7">MAJOR SHAREHOLDERS AND RELATED PARTY TRANSACTIONS</a></strong></p></td><td/><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">67</p></td><td/></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong><a href="#IT8">ITEM 8.</a></strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong><a href="#IT8">FINANCIAL INFORMATION</a></strong></p></td><td/><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">67</p></td><td/></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong><a href="#IT9">ITEM 9.</a></strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong><a href="#IT9">THE OFFER AND LISTING</a></strong></p></td><td/><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">68</p></td><td/></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong><a href="#IT10">ITEM 10.</a></strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong><a href="#IT10">ADDITIONAL INFORMATION</a></strong></p></td><td/><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">69</p></td><td/></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong><a href="#IT11">ITEM 11.</a></strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong><a href="#IT11">QUANTITATIVE AND QUALITATIVE DISCLOSURES ABOUT MARKET RISK</a></strong></p></td><td/><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">76</p></td><td/></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong><a href="#IT12">ITEM 12.</a></strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong><a href="#IT12">DESCRIPTION OF SECURITIES OTHER THAN EQUITY SECURITIES</a></strong></p></td><td/><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">76</p></td><td/></tr><tr style="height:15px;background-color:#ffffff"><td/><td/><td/><td/><td/></tr><tr style="height:15px;background-color:#ffffff"><td colspan="5"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong><a href="#P2">PART II</a></strong></p></td></tr><tr style="height:15px;background-color:#ffffff"><td/><td/><td/><td/><td/></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong><a href="#IT13">ITEM 13.</a></strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong><a href="#IT13">DEFAULTS, DIVIDEND ARREARAGES AND DELINQUENCIES</a></strong></p></td><td/><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">77</p></td><td/></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong><a href="#IT14">ITEM 14.</a></strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong><a href="#IT14">MATERIAL MODIFICATIONS TO THE RIGHTS OF SECURITYHOLDERS AND USE OF PROCEEDS</a></strong></p></td><td/><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">77</p></td><td/></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong><a href="#IT15">ITEM 15.</a></strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong><a href="#IT15">CONTROLS AND PROCEDURES</a></strong></p></td><td/><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">77</p></td><td/></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong><a href="#IT16A">ITEM 16A.</a></strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong><a href="#IT16A">AUDIT COMMITTEE FINANCIAL EXPERT</a></strong></p></td><td/><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">78</p></td><td/></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong><a href="#IT16B">ITEM 16B.</a></strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong><a href="#IT16B">CODE OF ETHICS</a></strong></p></td><td/><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">78</p></td><td/></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong><a href="#IT16C">ITEM 16C.</a></strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong><a href="#IT16C">PRINCIPAL ACCOUNTANT FEES AND SERVICES</a></strong></p></td><td/><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">79</p></td><td/></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong><a href="#IT16D">ITEM 16D.</a></strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong><a href="#IT16D">EXEMPTIONS FROM THE LISTING STANDARDS FOR AUDIT COMMITTEE</a></strong></p></td><td/><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">79</p></td><td/></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong><a href="#IT16E">ITEM 16E.</a></strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="#IT16E"><strong>PURCHASES OF EQUITY SECURITIES BY </strong><strong>THE </strong><strong>ISSUER AND AFFILIATED PURCHASERS</strong></a></p></td><td/><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">79</p></td><td/></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong><a href="#IT16F">ITEM 16F.</a></strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong><a href="#IT16F">CHANGE IN REGISTRANT&#8217;S CERTIFYING ACCOUNTANT</a></strong></p></td><td/><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">81</p></td><td/></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong><a href="#IT16G">ITEM 16G.</a></strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong><a href="#IT16G">CORPORATE GOVERNANCE</a></strong></p></td><td/><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">81</p></td><td/></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong><a href="#IT16H">ITEM 16H.</a></strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong><a href="#IT16H">MINE SAFETY DISCLOSURE</a></strong></p></td><td/><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">81</p></td><td/></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="#IT16I"><strong>ITEM </strong><strong>16I.</strong></a></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong><a href="#IT16I">DISCLOSURE REGARDING FOREIGN JURISDICTIONS THAT PREVENT INSPECTIONS</a></strong></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">82</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="#IT16J"><strong>ITEM </strong><strong>16J.</strong></a></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong><a href="#IT16J">INSIDER TRADING POLICIES</a></strong></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">83</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="#IT16k"><strong>ITEM </strong><strong>16K.</strong></a></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong><a href="#IT16k">CYBERSECURITY</a></strong></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">83</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td/><td/><td/><td/><td/></tr><tr style="height:15px;background-color:#ffffff"><td colspan="5"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong><a href="#P3">PART III</a></strong></p></td></tr><tr style="height:15px;background-color:#ffffff"><td/><td/><td/><td/><td/></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong><a href="#IT17">ITEM 17.</a></strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong><a href="#IT17">FINANCIAL STATEMENTS</a></strong></p></td><td/><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">84</p></td><td/></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong><a href="#IT18">ITEM 18.</a></strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong><a href="#IT18">FINANCIAL STATEMENTS</a></strong></p></td><td/><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">84</p></td><td/></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong><a href="#IT19">ITEM 19.</a></strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong><a href="#IT19">EXHIBITS</a></strong></p></td><td/><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">85</p></td><td/></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="#SIG">Signatures</a></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">86</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">2</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong><span class="atag" style="display: inline" id="INT">INTRODUCTION</span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">In this Form 20-F, references to &#8220;us&#8221;, &#8220;we&#8221;, the &#8220;Company&#8221;, the &#8220;Group&#8221; and &#8220;Euro Tech&#8221; are to Euro Tech Holdings Company Limited and its subsidiaries unless otherwise expressly stated or the context otherwise requires.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong><span class="atag" style="display: inline" id="FLS">Forward Looking Statements</span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">This annual report contains forward looking statements. Additional written or oral forward looking statements may be made by the Company from time to time in filings with the Commission or otherwise. Such forward looking statements are within the meaning of that term in Section 21E of the Securities Exchange Act of 1934 (the &#8220;Exchange Act&#8221;). Such statements may include, but not be limited to, projections of revenues, income, or loss, capital expenditures, plans for future operations, financing needs or plans, and plans relating to products or services of the Company, as well as assumptions relating to the foregoing. The words &#8220;believe,&#8221; &#8220;expect,&#8221; &#8220;anticipate,&#8221; &#8220;estimate,&#8221; &#8220;project,&#8221; and similar expressions identify forward looking statements, which speak only as of the date the statement was made. Forward looking statements are inherently subject to risks and uncertainties, some of which cannot be predicted or quantified. Future events and actual results could differ materially from those set forth in, contemplated by, or underlying the forward looking statements.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">These forward-looking statements include, but are not limited to, statements about:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="width:4%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">our goals, business plans and growth strategies;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">our expectations regarding demand for and market acceptance of the products we distribute;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">competition in our industries;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">our future business development, results of operations and financial condition;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">expected changes in our revenues and certain cost and expense items and our margins;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">government policies and regulations relating to our corporate structure, business and industry;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">the regulatory environment in which we operate in China and globally;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">our ability to comply with the continued listing standards on the exchange or trading market on which our ordinary shares is listed for trading;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">the impact of the COVID-19 pandemic;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">general economic and business condition in China and elsewhere;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">the impact of the Russian-Ukraine conflicts;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">assumptions underlying or related to any of the foregoing.</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">We would like to caution you not to place undue reliance on forward-looking statements and you should read these statements in conjunction with the cautionary statements included in the sections entitled Part I, Item 3D. &#8220;Risk Factors&#8221; and Item 5. &#8220;Operating and Financial Review and Prospects&#8221; and the notes to the Company&#8217;s Consolidated Financial Statements, describe factors, among others, that could contribute to or cause such differences. Those risks are not exhaustive. We operate in an evolving environment. New risk factors and uncertainties emerge from time to time and it is not possible for our management to predict all risk factors and uncertainties, nor can we assess the impact of all factors on our business or the extent to which any factor, or combination of factors, may cause actual results to differ materially from those contained in any forward-looking statements. We qualify all of our forward-looking statements by these cautionary statements.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">3</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">You should not rely upon forward-looking statements as predictions of future events. We undertake no obligation to update or revise any forward-looking statements, whether as a result of new information, future events or otherwise, after the date on which the statements are made or to reflect the occurrence of unanticipated events.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>U.S. GAAP, Fiscal Year and Exchange Rate Information</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">We have prepared our consolidated financial statements in accordance with accounting principles generally accepted in the United States (&#8220;U.S. GAAP&#8221;). Our fiscal year ends on December 31. References in this annual report to fiscal year 2020, fiscal year 2021, fiscal year 2022, fiscal year 2023 and fiscal year 2024, or Fiscal 2020, Fiscal 2021, Fiscal 2022, Fiscal 2023 and Fiscal 2024, are to the fiscal years ended on December 31, 2020, 2021, 2022, 2023 and 2024 respectively.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The Company maintains its books and records in United States dollars (&#8220;US$&#8221; or &#8220;U.S. Dollars&#8221;). Its subsidiaries and affiliates maintain their books and records either in US$, Hong Kong dollars (&#8220;HK$&#8221; or &#8220;Hong Kong Dollars&#8221;) or in Chinese Renminbi (&#8220;RMB&#8221; or &#8220;Renminbi&#8221;).</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Our financial statements are expressed in U.S. Dollars, which is our reporting currency. Certain of our financial data in this annual report on Form 20-F is translated into U.S. Dollars solely for the reader&#8217;s convenience. Unless otherwise noted, all convenient translations from Renminbi or Hong Kong Dollars to U.S. Dollars in this annual report were made for fiscal years 2024, 2023 and 2022 at 7.2142 RMB, 7.0684 RMB and 6.9061 RMB to US$1.00, respectively, and at 7.8000 HKD, 7.8000 HKD and 7.8000 HKD to US$1.00, respectively. The exchange rates were substantially the same as the middle rates published by the People&#8217;s Bank of China (&#8220;PBOC&#8221;) on December 31, 2024, 2023 and 2022 respectively. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">We make no representation that any Renminbi, Hong Kong Dollars or U.S. Dollar amounts could have been, or could be, converted into U.S. Dollars, Hong Kong Dollars or Renminbi, as the case may be, at any particular rate, at the rate stated above, or at all.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong><span class="atag" style="display: inline" id="GL">GLOSSARY</span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The following glossary of terms may clarify the terminology used in this annual report.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:18%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Ambient Air:</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td colspan="3" style="width:80%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Atmospheric air (outdoor as opposed to indoor air).</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td/><td/><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Anaerobic:</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td colspan="3" style="width:80%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Treating wastewater biologically in the absence of air.</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td colspan="3" style="width:80%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Atomic Spectrometer:</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td colspan="3" style="width:80%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">An analytical instrument used to measure the presence of an element in a substance by testing a sample which is aspirated into a flame and atomized. The amount of light absorbed or emitted is measured. The amount of energy absorbed or emitted is proportional to the concentration of the element in the sample.</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td colspan="3" style="width:80%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Coalescer:</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td colspan="3" style="width:80%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">A process that coalesces smaller oil particles to form larger oil particles that can readily float to a tank&#8217;s surface.</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td colspan="3" style="width:80%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Colorimeter:</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td colspan="3" style="width:80%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">An analytical instrument that measures substance concentration by color intensity when the substance reacts to a chemical reagent.</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td colspan="3" style="width:80%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Human Machine Interface Software:</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td colspan="3" style="width:80%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">A type of software to interface (or coordinate) the interaction between machine or equipment and a human being.</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td colspan="3" style="width:80%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Lamella:</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td colspan="3" style="width:80%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Synthetic media installed in a clarifier tank to assist in particle flocculation (coming together in a &#8220;floc&#8221; or &#8220;flakes&#8221;).</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td colspan="3" style="width:80%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Mass Spectrometer:</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td colspan="3" style="width:80%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">An analytical instrument that separates and identifies chemical constituents according to their mass-to-charge ratios and is used to identify organic compounds.</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td colspan="3" style="width:80%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Membrane Biological Reactor (MBR):</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td colspan="3" style="width:80%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">A suspended-growth bioreactor combined with a membrane liquid/solids separation unit. The &#8220;MBR&#8221; uses an advanced membrane technology that treats biological wastes to a quality level which in many industries is sufficient for reuse or low-cost disposal to sewers.</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td colspan="3" style="width:80%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">pH Controller:</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td colspan="3" style="width:80%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">A process instrument that measures and controls the acidity or alkalinity of a fluid.</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td colspan="3" style="width:80%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Reagent:</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td colspan="3" style="width:80%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">A chemical substance used to cause a chemical reaction and detect another substance.</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td colspan="3" style="width:80%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Sequential Batch Reactor (SBR):</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td colspan="3" style="width:80%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">A waste-water treatment process that combines aeration and settling in one reactor tank thus saving on space. Used for the treatment of industrial waste-water as well as municipal sewage. The SBR is a batch process that is ideal for waste-waters of changing characteristics.</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">4</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong><span class="atag" style="display: inline" id="P1">PART I</span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>&#160;</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><span class="atag" style="display: inline" id="IT3">ITEM 3. KEY INFORMATION </span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>China Section</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Our Corporate Structure </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">As an investor, you hold an interest in Euro Tech Holdings Company Limited (the &#8220;Company&#8221; or &#8220;Euro Tech&#8221;). Euro Tech is a British Virgin Islands holding company and not an operating company. As a holding company with no material operations of its own, Euro Tech conducts its operations through its subsidiaries incorporated in Singapore, Hong Kong, mainland China and the British Virgin Islands as further explained below. As an investor, you directly hold an interest in Euro Tech, but you do not directly hold equity interest in Euro Tech&#8217;s subsidiaries, i.e., the operating companies of the Company&#8217;s business, and this structure involves risks to you. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">The Company has one 100% owned subsidiary in Singapore, namely, Euro Tech Global Pte. Limited (referred to hereinafter as &#8220;<strong>Euro Tech Global</strong>&#8221;). Euro Tech Global is an investment holding company.<strong><em> </em></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Euro Tech Global has one 100% owned subsidiary in Hong Kong, namely, Euro Tech (Far East) Limited (referred to hereinafter as &#8220;<strong>Far East</strong>&#8221;). Far East engages in the marketing and trading of water and waste water treatment related process control, analytical and testing instruments, disinfection equipment, supplies and related automation systems. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Far East has one 100% owned subsidiary in mainland China, namely, Euro Tech Trading (Shanghai) Limited (referred to hereinafter as &#8220;<strong>ETTS</strong>&#8221;). ETTS ceased its active business operations in 2021. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Far East holds 58% of the total equity of PACT Environmental Technology PTE. LTD., a company incorporated in Singapore (referred to hereinafter as &#8220;<strong>Pact Singapore</strong>&#8221;), Yixing Pact Environmental Technology Co., Ltd., a company incorporated in mainland China (referred to hereinafter as &#8220;<strong>Yixing</strong>&#8221;), and Pact Asia Pacific Limited, a company incorporated in the British Virgin Islands (referred to hereinafter as &#8220;<strong>Pact</strong>&#8221;), respectively. Pact Singapore focuses on marketing and provision of after sales services of ballast water treatment systems and customized industrial wastewater solutions, equipment fabrication. Yixing focuses on the design, manufacturing and operation of water and waste water treatment and water desalination machinery and equipment. Pact&#8217;s business is currently inactive. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Far East also holds 19.4% of the total equity of Zhejiang Tianlan Environmental Protection Technology Co. Ltd., a company incorporated in mainland China (referred to hereinafter as &#8220;<strong>Blue Sky</strong>&#8221;). Blue Sky focuses on the design, manufacturing, installation, testing of waste-gas treatment equipment and operation management of the treatment of waste gases. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">5</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">The following diagram illustrates the corporate structure of us and our subsidiaries (including Blue Sky in which we hold only 19.4% of the total equity thereof), as of the date of the annual report: </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><img src="clwt_20fimg1.jpg" alt="clwt_20fimg1.jpg"/> </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">In addition to the shareholder information disclosed in the chart above, we also note the following:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The shareholders of Pact Singapore are listed below:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:2%;"/><td style="width:1%;"/><td style="BORDER-BOTTOM: 1px solid;width:48%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Shareholders</strong></p></td><td style="width:1%;"/><td style="BORDER-BOTTOM: 1px solid;width:48%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Ownership Percentage</strong></p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">1</p></td><td/><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">Euro Tech (Far East) Limited</p></td><td/><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">58%</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">2</p></td><td/><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">Tamworth Industrial Ltd.</p></td><td/><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">42%</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The shareholders of Yixing are listed below:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:2%;"/><td style="width:1%;"/><td style="BORDER-BOTTOM: 1px solid;width:48%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Shareholders</strong></p></td><td style="width:1%;"/><td style="BORDER-BOTTOM: 1px solid;width:48%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Ownership Percentage</strong></p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">1</p></td><td/><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">Euro Tech (Far East) Limited</p></td><td/><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">58%</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">2</p></td><td/><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">Tamworth Industrial Ltd.</p></td><td/><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">42%</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The shareholders of Pact are listed below:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:2%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:48%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Shareholders</strong></p></td><td style="width:1%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:48%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Ownership Percentage</strong></p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">1</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">Euro Tech (Far East) Limited</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">58%</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">2</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">Tamworth Industrial Ltd.</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">42%</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Blue Sky is a public company in mainland China and therefore has a number of minority shareholders that are not publicly disclosed. The ten shareholders of Blue Sky with the top ten largest shareholding percentage are listed in the table below. We obtained the information in the table below from Blue Sky&#8217;s latest annual report filed on April 22, 2025:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:2%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:48%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Shareholders</strong></p></td><td style="width:1%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:48%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Ownership Percentage</strong></p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">1</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">Zhongbiao WU</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">25.45%</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">2</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">Euro Tech (Far East) Limited</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">19.42%</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">3</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">Zhineng WANG</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">13.65%</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">4</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">Deming WANG</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">11.37%</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">5</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">Yueai FENG</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">4.70%</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">6</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">Shan ZHONG</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">3.94%</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">7</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">Yuling ZHOU</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">3.93%</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">8</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">Huaming SUN</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">3.53%</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">9</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">Hangzhou Helan Technology Co.</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">2.87%</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">10</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">Changjie CHENG</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">2.48%</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">We acknowledge that Chinese regulatory authorities could disallow our holding company structure, which would likely result in a material change in our operations and/or a material change in the value of your securities, including that it could cause the value of such securities to significantly decline or become worthless. Please see &#8220;<em>Item 3. Key Information &#8211; D. Risk Factors&#8212; Risks Related to the Company Itself &#8211; Chinese regulatory authorities could disallow our holding company structure</em>&#8221; for a more detailed discussion on this matter.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">6</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Risks Associated with Being Based in and Having the Majority of Our Operations in China</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">We conduct a substantial portion of our business through our subsidiaries in mainland China and Hong Kong. We face various legal and operational risks associated with being based in and having the majority of our operations in China. Changes in PRC economic, political or social conditions or government policies could materially adversely affect our business and results of operations. The PRC government has the authority to exert significant influence on the ability of a China-based company, including us, to conduct its business, and investors of Euro Tech and our business face potential uncertainty as a result. The PRC government may intervene or influence our operations at any time. For example, we face risks associated with PRC governmental authorities&#8217; significant oversight and discretion over our businesses and financing activities, the requirement of regulatory approvals for offerings conducted overseas by and foreign investment in China-based issuers, the enforcement of anti-monopoly regime and data security rules, as well as the risk of delisting if the Public Company Accounting Oversight Board of the United States, or the PCAOB, determines at any time that it is unable to conduct complete inspection on our auditors, which may impact our ability to conduct certain businesses, accept foreign investments, or list on a United States stock exchange. In addition, there are risks and uncertainties regarding the enforcement of laws in China, and the rules and regulations in China can change quickly with little advance notice. The materialization of these risks may result in a material adverse change to our business operations and financial condition, significantly limit or completely hinder our ability to offer or continue to offer securities to investors, and cause our shares to significantly decline in value or become worthless.&#160;See &#8220;<em>Item 3. Key Information &#8211; D. Risk Factors&#8212; Certain Risks Relating to Doing Business in China &#8212; A substantial portion of our operations are located in China through our subsidiaries. Our ability to operate in China may be impaired by changes in Chinese laws and regulations, including those relating to taxation, environmental regulation, restrictions on foreign investment, and other matters</em>&#8221;, &#8220;<em>Item 3. Key Information &#8211; D. Risk Factors&#8212; Certain Risks Relating to Doing Business in China &#8212; Changes in the economic and political policies of the PRC government could have a material and adverse effect on our business, financial condition and results of operations and may result in our inability to sustain our growth and expansion strategies</em>&#8221; and &#8220;<em>Item 3. Key Information &#8211; D. Risk Factors &#8212; The PRC legal system embodies uncertainties which could limit the available legal protections and expand the government&#8217;s power</em>&#8221; for a more detailed discussion on this matter<em>.</em>&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">An investment in our shares involves a high degree of risk and should be considered speculative. You should carefully consider all risk factors set out in &#8220;<em>Item 3. Key Information &#8211; D. Risk Factors</em>&#8221; and other information before investing in our shares. If any event arising from these risks occurs, our business, prospects, financial condition, results of operations or cash flows could be materially adversely affected, the trading price of our shares could decline and all or part of your investment may be lost. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>The Holding Foreign Companies Accountable Act</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Pursuant to the Holding Foreign Companies Accountable Act, or the HFCAA, if the SEC determines that we have filed audit reports issued by a registered public accounting firm that has not been subject to inspections by the Public Company Accounting Oversight Board, or the PCAOB, for two consecutive years, the SEC will prohibit our shares from being traded on a national securities exchange or in the over-the-counter trading market in the United States. On December 16, 2021, the PCAOB issued a report to notify the SEC of its determination that the PCAOB was unable to inspect or investigate completely registered public accounting firms headquartered in mainland China or Hong Kong. The PCAOB included in such report a list of the accounting firms that are headquartered in mainland China or Hong Kong. This list includes Union Power, the firm which audited our financial statements for the fiscal year ended December 31, 2021 and 2020, and subsequently on June 14, 2022, we were added to the conclusive list of &#8220;Commission-Identified Issuer&#8221; identified under the HFCAA on the website of the SEC. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">On December 15, 2022, the PCAOB vacated its previous determinations that it is unable to inspect and investigate completely PCAOB-registered public accounting firms headquartered in mainland China and Hong Kong. Accordingly, until such time as the PCAOB issues any new determination, there are no issuers at risk of having their securities subject to a trading prohibition under the HFCAA.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">In January 2023, we appointed J&amp;S Associate PLT (&#8220;J&amp;S&#8221;), as our independent registered public accounting firm. J&amp;S is headquartered in Malaysia and subject to inspections by the PCAOB, therefore we believe the appointment of J&amp;S would substantially reduce the risk of us being continued to be identified as &#8220;Commission-Identified Issuer&#8221; under the HFCAA, and the risk of our securities being prohibited from being traded on a national securities exchange or in the over the counter trading market in the United States due to rules under the HFCAA.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Each year, the PCAOB will determine whether it can inspect and investigate completely audit firms in mainland China and Hong Kong, among other jurisdictions. As of the date of this annual report, the PCAOB has not issued any new determination that it is unable to inspect or investigate completely registered public accounting firms headquartered in any jurisdiction. If the PCAOB determines in the future that it no longer has full access to inspect and investigate completely accounting firms in certain jurisdictions, and we use an accounting firm headquartered in one of those jurisdictions to issue an audit report on our financial statements to be filed with the SEC, we would be identified as a Commission-Identified Issuer following the filing of the annual report on Form 20-F for the relevant fiscal year. There can be no assurance that we would not be identified as a Commission-Identified Issuer for any future fiscal year, and if we were so identified for two consecutive years, we would become subject to the prohibition on trading under the HFCAA.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">See &#8220;<em>Item 3. Key Information &#8211; D. Risk Factors&#8212; Risks Related to the Company Itself - </em><em>The</em><em> enactment of the Holding Foreign Companies Accountable Act and the adoption of any rules, legislations or other efforts to increase U.S. regulatory access to audit information could cause uncertainty and our securities listed on the NASDAQ could be delisted or prohibited from being traded </em><em>&#8220;</em><em>over-the-counter&#8221; if we are unable to meet the PCAOB requirement in time&#8221; </em>for a more detailed discussion on this matter<em>. </em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Permissions or Approvals Required to be Obtained from Chinese Authorities </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Our business focuses on the design, sale and distribution of water and waste-water treatment tools and equipment. The group companies that are active in business operations are Far East in Hong Kong, Pact Singapore in Singapore, and Yixing in mainland China. Euro Tech Global is the Company&#8217;s wholly-owned subsidiary and an investment holding company. Far East is the wholly-owned subsidiary of Euro Tech Global. Far East holds 58% of the equity of Pact Singapore, Yixing and Pact respectively.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">7</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Based on our internal assessment, the Company and its subsidiaries are not required to obtain any permissions or approvals from the Chinese authorities to operate their respective business or offer the Company&#8217;s securities as currently conducted, except that the group companies located in mainland China should obtain a business license to operate their respective business.&#160;As listed in the chart below, such group companies have received their respective business license.&#160;None of the Company and its subsidiaries has ever been requested by any Chinese authority to obtain any other permissions or approvals to conduct their respective business or to offer the Company&#8217;s securities. In addition, please note that Euro Tech Trading (Shanghai) Limited (listed below) has ceased its active business operations already.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;border-right:#000000 1px solid;border-bottom:#000000 1px solid;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid;width:23%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Company </p></td><td style="BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid;width:19%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Permission/Approval</p></td><td style="BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid;width:42%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Issuing Authority </p></td><td style="BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid;width:13%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Validity </p></td></tr><tr style="height:15px"><td style="BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Euro Tech Trading (Shanghai) Limited</p></td><td style="BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Business License</p></td><td style="BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Market Supervision Administration of Free Trade Pilot Zone (Shanghai)</p></td><td style="BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">May 13, 2047</p></td></tr><tr style="height:15px"><td style="BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Yixing Pact Environmental Technology Co., Ltd.</p></td><td style="BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Business License</p></td><td style="BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Market Supervision Administration of Yixing City </p></td><td style="BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Long term</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">We did not rely upon an opinion of counsel with respect to our conclusions regarding whether we need permissions and approvals to operate our business and to offer securities to investors. The basis of our assessment above is as follows: (1) the Company has been primarily a distributor of advanced water treatment equipment, laboratory instruments, analyzers, test kits and related supplies and power generation equipment (including recorders and power quality analyzers). We have been in this business for more than 20 years for now and have never been required to apply for any permissions or approvals from the Chinese authorities to conduct our business; (2) we are aware of recent regulatory developments relating to Chinese authorities&#8217; focus on cross-border data transfer, as further described in&#160;&#8221;<em>Item 4. Information on the Company &#8212; B. Business Overview &#8211;</em><em> Regulations</em>&#8221;. We do not believe our listing of ordinary shares requires permissions or approvals from the Chinese authorities. As a distributor of advanced water treatment equipment, laboratory instruments, analyzers, test kits and related supplies and power generation equipment (including recorders and power quality analyzers) to businesses (i.e., not end-customers), we are not deemed as a critical information infrastructure operator or online platform operator which are subject to more stringent requirements under China&#8217;s Cybersecurity Review Measures which became effective on February 15, 2022. Our customers in mainland China are corporate customers rather than individual customers, therefore we do not currently have over one million users&#8217; personal information and do not anticipate that we will be collecting over one million users&#8217; personal information in the foreseeable future, which we understand might otherwise subject us to the Cybersecurity Review Measures.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">However it is possible that changes in law may render us to be subject to such rules and regulations. It is also possible that in practice the government agencies impose more stringent requirements on us, or that our interpretation of the rules and regulations turn out to be inaccurate. Notably, the PRC government has recently indicated an intent to exert more oversight and control over offerings that are conducted overseas and/or foreign investment in China-based issuers. Please see &#8220;<em>Item 3. Key Information &#8211; D. Risk Factor &#8211; A substantial portion of our operations are located in China through our subsidiaries. Our ability to operate in China may be impaired by changes in Chinese laws and regulations, including those relating to taxation, environmental regulation, restrictions on foreign investment, and other matters</em>&#8221; and &#8220;<em>Item 3. Key Information &#8211; D. Risk Factor -Our failure to comply with cybersecurity and data protection laws and regulations could lead to government enforcement actions and significant penalties against us, and adversely impact our operating results</em>&#8221; for a more detailed discussion on this issue.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Transfer of Cash Through Our Organization</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Euro Tech can transfer cash to its subsidiaries through capital contributions and/or intercompany loans, and Euro Tech&#8217;s subsidiaries can transfer cash to Euro Tech through dividends or other distributions and/or intercompany loans. Currently Euro Tech&#8217;s subsidiaries do not require loans or capital contributions from Euro Tech to fund their operations, and Euro Tech&#8217;s subsidiaries do not have any plan to pay any cash dividends in the near future.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Dividends</em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">During the three fiscal years ended December 31, 2022, 2023 and 2024, Euro Tech made cash dividends in an amount of US$463,928, nil and US$617,303.92 to its shareholders (including U.S. investors), respectively. The source of such cash dividends is cash dividends and distributions from Far East. For mainland China and United States federal income tax considerations in connection with an investment in our ordinary shares, see &#8220;<em>Item 10. Additional Information&#8212;E. Taxation.</em>&#8221; </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">8</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">During the three fiscal years ended December 31, 2022, 2023 and 2024, Far East made cash dividends to Euro Tech in an amount of US$628,205, nil and US$974,359, respectively. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Euro Tech Global was incorporated in 2025 and there has been no cash dividend to Euro Tech from Euro Tech Global as of the date of this annual report. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Cash transfers for working capital purposes</em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">During the three fiscal years ended December 31, 2022, 2023 and 2024, Far East made cash transfers for working capital purposes to its 100% owned subsidiaries in Shanghai, namely Shanghai Euro Tech Limited and Euro Tech Trading (Shanghai) Limited in an amount of US$277,445, US$129,200 and US$26,455, respectively. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Shanghai Euro Tech Limited was deregistered on October 8, 2024.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Historical capital contributions </em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">To date, Far East has made capital contribution of US$200,000 to its 100% owned subsidiary, Euro Tech Trading (Shanghai) Limited, to fulfil its obligation to pay in the registered capital of the latter.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">To date, Far East has made capital contribution of US$350,000 to its 100% owned subsidiary, Shanghai Euro Tech Limited, to fulfil its obligation to pay in the registered capital of the latter. Shanghai Euro Tech Limited was deregistered on October 8, 2024.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">During the past three fiscal years, other than the cash transfers described hereto, there were no transfer of other assets among Euro Tech and its subsidiaries.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Restrictions and Limitations on Transfer of Cash and Cash Dividend Distribution</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Our cash dividends, if any, will be paid in U.S. dollars. The PRC government imposes controls on the convertibility of Renminbi into foreign currencies and, in certain cases, the remittance of currency out of China. The majority of our income is received in Renminbi and shortages in foreign currencies may restrict our ability to pay dividends or other payments, or otherwise satisfy our foreign currency denominated obligations, if any. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Under existing PRC foreign exchange regulations, payments of current account items, including profit distributions, interest payments and expenditures from trade-related&#160;transactions, can be made in foreign currencies without prior approval from the State Administration of Foreign Exchange of China, or SAFE, as long as certain procedural requirements are met. Approval from appropriate government authorities is required if Renminbi is converted into foreign currency and remitted out of China to pay capital expenses such as the repayment of loans denominated in foreign currencies. The PRC government may, at its discretion, impose restrictions on access to foreign currencies for current account transactions in the future, and in such event, we may not be able to pay dividends in foreign currencies to our shareholders.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">If we are considered a PRC tax resident enterprise for tax purposes, any dividends we pay to our overseas shareholders may be regarded as China-sourced&#160;income and as a result may be subject to PRC withholding tax.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Relevant PRC laws and regulations permit the PRC companies to pay dividends only out of their retained earnings, if any, as determined in accordance with PRC accounting standards and regulations. Additionally, the Company&#8217;s PRC subsidiaries can only distribute dividends upon approval of the shareholders after they have met the PRC requirements for appropriation to the statutory reserves. Under PRC laws, rules and regulations, each of our subsidiaries incorporated in mainland China is required to set aside at least 10% of its&#160;after-tax profits each year, after making up for previous years&#8217; accumulated losses, if any, to fund certain statutory reserves, until the aggregate amount of such fund reaches 50% of its registered capital.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">As a result of these and other restrictions under the PRC laws and regulations, our PRC subsidiaries are restricted to transfer a portion of their cash or assets to the Company. Even though the Company currently does not require any such dividends, loans or advances from the PRC subsidiaries for working capital and other funding purposes, the Company may in the future require additional cash resources from its PRC subsidiaries due to changes in business conditions, to fund future acquisitions and developments, or merely declare and pay dividends to or distributions to the Company&#8217;s shareholders. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">9</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">To the extent cash in the business is in a PRC entity, the funds may not be available to fund operations or for other use outside of the PRC due to interventions in or the imposition of restrictions and limitations on the ability of you or your subsidiaries by the PRC government to transfer cash. Please see &#8220;<em>Item 3. Key Information &#8211; Risk Factors Summary</em>&#8221; and &#8220;<em>Item 3. Key Information &#8211; D. Risk Factors&#8212; The PRC Government Imposes Currency Controls&#8221; </em>for details on this matter<em>.</em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Cash Management Policies For Cash Transfer </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Euro Tech and its subsidiaries have adopted substantially similar cash management policies that are described hereinafter in this paragraph. With respect to any transfer of funds, dividends or other distributions to affiliated companies, the finance department of the relevant group company (the &#8220;<strong>Finance Department</strong>&#8221;) should receive the requisite approval of the board of directors and/or resolutions of shareholders, before applying to the competent governmental agencies and banks to effectuate the intended transactions. If any of the aforesaid transactions involves payment to an overseas entity, the Finance Department should also submit payment application to Euro Tech&#8217;s Chairman and Chief Financial Officer, or CFO, and receive written approval of the transaction from them by email, thereafter the Finance Department can request the Chairman&#8217;s authorized representative (who should not be an employee of the relevant group company) to stamp the payment application. With such stamped application, the Finance Department can effectuate the fund transfer through the bank. The Finance Department should also take actions to comply with the rules and requirements of the foreign exchange authority and tax bureau in China, if applicable.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Risk Factors Summary </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">An investment in our securities is subject to a number of risks, including risks related to our business and industry, risks related to our corporate structure, risks related to doing business in China and risks related to our securities. The following list summarizes some, but not all, of these risks. Please read the information in &#8220;<em>Item 3. Key Information &#8211; D. Risk Factors</em>&#8221; for a more thorough description of these and other risks. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="width:4%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Risks may arise from the legal system in China, including risks and uncertainties regarding the enforcement of laws and that rules and regulations in China can change quickly with little advance notice. See &#8220;<em>Item 3. Key Information &#8211; D. Risk Factors &#8212; The PRC legal system embodies uncertainties which could limit the available legal protections and expand the government&#8217;s power</em>&#8221; for a more detailed discussion on this matter.</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Chinese government may intervene or influence our operations at any time, or may exert more control over offerings conducted overseas and/or foreign investment in China-based issuers, which could result in a material change in our operations and/or the value of our securities. Any actions by the Chinese government to exert more oversight and control over offerings that are conducted overseas and/or foreign investment in China-based issuers could significantly limit or completely hinder our ability to offer securities to investors and cause the value of such securities to significantly decline or be worthless. See &#8220;<em>Item 3. Key Information &#8211; D. Risk Factors &#8212; A substantial part of our operations is in China through our subsidiaries. Our ability to operate in China may be impaired by changes in Chinese laws and regulations, including those relating to taxation, environmental regulation, restrictions on foreign investment, and other matters</em>&#8221; for a more detailed discussion on this matter.</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">We conduct a substantial portion of our business through our subsidiaries in mainland China and Hong Kong. Adverse changes in the PRC economic, political and social conditions as well as laws and government policies, may materially and adversely affect our business, financial condition, results of operations and growth prospects. See &#8220;<em>Item 3. Key Information &#8211; D. Risk Factors&#8212; Certain Risks Relating to Doing Business in China &#8212; A substantial portion of our operations are located in China through our subsidiaries. Our ability to operate in China may be impaired by changes in Chinese laws and regulations, including those relating to taxation, environmental regulation, restrictions on foreign investment, and other matters</em>&#8221; and &#8220;<em>Item 3. Key Information &#8211; D. Risk Factors&#8212; Certain Risks Relating to Doing Business in China &#8212; Changes in the economic and political policies of the PRC government could have a material and adverse effect on our business, financial condition and results of operations and may result in our inability to sustain our growth and expansion strategies</em>.&#8221; </p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The PRC government imposes controls on the convertibility of the Renminbi into foreign currencies and, in certain cases, the remittance of currency out of China. To the extent cash in the business is in a PRC entity, the funds may not be available to fund operations or for other use outside of the PRC due to interventions in or the imposition of restrictions and limitations on the ability of you or your subsidiaries by the PRC government to transfer cash. See &#8220;<em>Item 3. Key Information &#8211; D. Risk Factors&#8212;Risks Relating to Doing Business in China&#8212;The PRC Government Imposes Currency Controls</em>.&#8221;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Changes in U.S. and international trade policies and escalations of tensions in international relations may adversely impact our business and operating results.&#160;See &#8220;<em>Item 3. Key Information &#8211; D. Risk Factors&#8212;Risks Relating to Doing Business in China&#8212; The turbulent relations between the PRC and United States may adversely affect our business or the price of our capital stock</em>.&#8221;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">10</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="width:4%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Company has taken actions to streamline its business by reducing its staff, consolidating office and increasing staff efficiencies in order to stem the decline in its revenue, however there is no assurance that these efforts will be successful and that revenue will increase. See &#8220;<em>Item 3. Key Information &#8211; D. Risk Factors&#8212;Risks Relating to the Company&#8217;s Business&#8212;Actions to Increase Revenue, Decrease Losses and Achieve Profitability may be Unsuccessful.</em>&#8221;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Company distributes products manufactured by a number of vendors but do not have long-term supply arrangement with such vendors. While alternative source of supply exists, the termination of any existing supply arrangement may still adversely affect the Company&#8217;s business. See &#8220;<em>Item 3. Key Information &#8211; D. Risk Factors&#8212; Risks Relating to the Company&#8217;s Business&#8212;Dependence on Vendors; Lack of Long Term Arrangements; Loss of Vendors.</em>&#8221; </p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">In the event that we identify deficiencies or material weaknesses in our internal controls that we cannot remediate in a timely manner, our ability to obtain financing could suffer and the market price of our shares could decline. See &#8220;<em>Item 3. Key Information &#8211; D. Risk Factors&#8212; Risks Relating to the Company Itself&#8212; We may be exposed to potential risks relating to our internal controls over financial reporting.</em>&#8221; </p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="font-family:symbol">&#183;</span></p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The market price of our ordinary shares may fluctuate significantly in response to many factors, including without limitation, changes in the general environment and the outlook of the segments in which we operate, regulatory developments in the segment in which we operate, etc. See &#8220;<em>Item 3. Key Information &#8211; D. Risk Factors&#8212; Risks Relating to the Company Itself&#8212;The market price of our ordinary shares may be volatile or may decline regardless of our operating performance, and you may not be able to resell your shares at or above the price you paid</em>.&#8221;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="font-family:symbol">&#183;</span></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">The rising inflation and energy cost in Europe, caused largely by the Russia-Ukraine conflicts, will likely affect the business operations of our customers headquartered in Europe.&#160;Subsequently these customers will likely take longer time to make decisions regarding whether to purchase our products, negotiate for more favorable commercial and financial terms in their dealings with us, and even postpone or cancel their new projects and their purchase orders in China. See &#8220;<em>Item 3. Key Information &#8211; D. Risk Factors&#8212; Certain Risks Relating to the Company&#8217;s Business &#8212;</em>The Russia-Ukraine conflicts may have already impacted and will likely impact the business operations of our suppliers and customers headquartered in Europe and elsewhere, and subsequently impact the terms of our business relationships with them.&#8221;&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>A. [RESERVED] </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>B. CAPITALIZATION AND INDEBTEDNESS</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">This item does not apply to annual reports on Form 20-F.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>C. REASONS FOR THE OFFER AND USE OF PROCEEDS</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">This item does not apply to annual reports on Form 20-F.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">11</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>D. RISK FACTORS </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">An investment in our shares involves a high degree of risk. Below please find a summary of the principal risks we face, organized under relevant headings. You should carefully consider the risks described below, together with all of the other information included in this annual report, before making an investment decision. The risks below are not the only ones we face. Additional risks not currently known by us or that we deem immaterial may also impair our business operations. If any of the following and other risks actually occurs, our business, prospects, financial condition or results of operations could suffer. In that case, the trading price of our shares could decline, and you may lose all or part of your investment. This annual report also contains forward looking statements that involve risks and uncertainties. Our results could materially differ from those anticipated in these forward looking statements as a result of certain factors, including the risks we face as described below and elsewhere. See &#8220;&#8211; <em>Forward Looking Statements</em>.&#8221;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em><strong>Certain Risks Relating to Doing Business in China.</strong></em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>A substantial </strong><strong>portion</strong><strong> of our operations </strong><strong>are located</strong><strong> in China through our subsidiaries. Our ability to operate in China may be impaired by changes in Chinese laws and regulations, including those relating to taxation, environmental regulation, restrictions on foreign investment, and other matters. </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">We conduct a substantial portion of our business in China through our subsidiaries, whose operations are governed by PRC laws, rules, and regulations. The PRC government has exercised and continues to exercise substantial control over virtually every sector of the Chinese economy through regulation and state ownership. Because PRC laws, rules and regulations are relatively new and quickly evolving, and because of the limited number of published decisions and the non-precedential nature of these decisions, and because the laws, rules and regulations often give the relevant regulator certain discretion in how to enforce them, the interpretation and enforcement of these laws, rules and regulations involve uncertainties and can be inconsistent and unpredictable. Therefore, it is possible that our existing operations may be found not to be in full compliance with relevant laws and regulations in the future. In addition, the PRC legal system is based in part on government policies and internal rules, some of which are not published on a timely basis or at all, and which may have a retroactive effect. As a result, we may not be aware of our violation of these policies and rules until after the occurrence of the violation. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The PRC government has significant oversight and discretion over the conduct of our business, and may intervene in or influence our operations through adopting and enforcing rules and regulatory requirements. In recent years, the PRC government has published new policies that significantly affected certain industries such as the education and internet industries, and we cannot rule out the possibility that it will in the future further release regulations or policies regarding our industry that could require us to seek permission from PRC authorities to continue to operate our business. In addition, in recent years the PRC government has enhanced regulation in areas such as anti-monopoly, anti-unfair competition, cybersecurity and data privacy. The PRC government may further promulgate relevant laws, rules and regulations that may impose additional and significant obligations and liabilities on Chinese companies. These laws and regulations can be complex and stringent, and many are subject to change and uncertain interpretation, which could result in claims, change to our business practices, regulatory investigations, penalties, increased cost of operations, or otherwise affect our business. As a result, our business, financial condition and results of operations could be adversely affected and the trading prices of our ordinary shares could decline.&#160; </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">12</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">&#160;The PRC government has also enhanced its regulatory oversight of Chinese companies listing overseas, including enhanced oversight of overseas equity financing and listing by Chinese companies. It is uncertain when and whether we will be required to obtain permission from the PRC government to list on U.S. exchanges in the future, and even if such permission is obtained, whether it will be later denied or rescinded. No entity in our organization is currently (i) required to obtain permission from any Chinese authorities to list on any U.S. exchange or issue our ordinary shares to foreign investors or (ii) required to obtain permission from China Securities Regulatory Commission, or CSRC, Cyberspace Administration Commission, or CAC, or any other governmental authority, and no entity in our organization has received any such permissions or any notice of denial of such permissions. However, our operations could be adversely affected, directly or indirectly, by existing or future laws and regulations relating to our business or industry, particularly in the event permission to list on U.S. exchanges becomes required, or if such permission may be withheld or rescinded once granted. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Governmental actions in China, including any decision to intervene or influence our operations at any time or to exert control over an offering of securities conducted overseas and/or foreign investment in China-based issuers, may cause us to make material changes to our operations, may limit or completely hinder our ability to offer or continue to offer securities to investors, and/or may cause the value of such securities to significantly decline or be worthless.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Changes in the economic and political policies of the PRC government could have a material and adverse effect on our business, financial condition and results of operations and may result in our inability to sustain our growth and expansion strategies.</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">We conduct a substantial portion of our business in China through our subsidiaries. Accordingly, our results of operations, financial condition and prospects are to a significant extent affected by economic and political developments in China. In particular, the PRC government continues to exercise significant control over the economic growth of the PRC through allocating resources, controlling payments of foreign currency-denominated obligations, setting monetary policy and providing preferential treatments to particular industries or companies. In recent years, the PRC government has implemented measures emphasizing the utilization of market forces in reforming the economy. These economic reform measures may be adjusted or modified or applied inconsistently from industry to industry, or across different regions of the country. As a result, some of these measures may benefit the overall economy of the PRC, but may have an adverse effect on us.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The growth of China&#8217;s economy has slowed in recent years compared to prior years. There have also been concerns about the relationships among China and other Asian countries, and the relationship between China and the United States, which may result in or intensify potential conflicts in relation to territorial, regional security and trade disputes. The COVID-19 pandemic has severely disrupted business operations, supply chain and workforce availability across the world, leading to substantial declines in business activities that have negatively impacted and may continue to negatively impact our business, financial condition and results of operations. The Russia-Ukraine conflict has resulted in significant disruptions to supply chains, logistics and business activities in the region that have negatively affected the business and operations of some of our customers located in Europe, and subsequently have adverse impact on our business. The conflict has also caused, and continues to intensify, significant geopolitical tensions in Europe and across the globe. The resulting sanctions imposed are expected to have significant impacts on the economic conditions of the countries and markets targeted by such sanctions, and may have unforeseen, unpredictable secondary effects on global energy prices, supply chains and other aspects of the global economy, which increases logistics costs and negatively affects our business operations. Any disruptions or continuing or worsening slowdown, whether as a result of trade conflicts, the COVID-19 pandemic, the Russia-Ukraine conflict or other reasons, could significantly reduce commerce activities in China and globally, which could lead to significant reduction in demand for and spending on the various products and services we offer. Moreover, although currently China economy is not experiencing significant inflation, future rising inflation could result in higher costs of services and supplies and a decrease in consumer spending, which could negatively affect our business operations and financial results. An economic downturn, whether actual or perceived, a further decrease in economic growth rates or an otherwise uncertain economic outlook in any market in which we operate could have a material adverse effect on business and consumer spending and, as a result, adversely affect our business, financial condition and results of operations.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Our failure to comply with cybersecurity and data protection laws and regulations could lead to government enforcement actions and significant penalties against us, and adversely impact our operating results. </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Regulatory authorities in China and around the world have recently implemented, and may in the future continue to implement, further legislative and regulatory proposals concerning privacy and data protection, particularly relating to the protection of personal information, cybersecurity and cross-border data transmission. These laws and regulations can be complex and the interpretation and application of these laws and regulations are often uncertain, in flux and complicated.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">13</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The PRC Cybersecurity Law, which took effect in June 2017, generally governs the construction, operation, maintenance and use of networks in China, subjects network operators to various security protection-related obligations. In addition, the PRC Cybersecurity Law provides that personal information and important data collected and generated by operators of critical information infrastructure in the course of their operations in the PRC should be stored in the PRC, and imposes heightened regulation and additional security obligations on operators of critical information infrastructure. We believe we are neither a network operator nor an operator critical information infrastructure and are compliant with the PRC Cybersecurity Law. However if we are determined by the PRC government to fail to comply with the PRC Cybersecurity Law, we could be subject to fines, suspension of businesses, and revocation of business licenses. On September&#160;12, 2022, the CAC published the Decision of Amending PRC Cybersecurity Law (Draft for Comments), or the Draft Amendment to PRC Cybersecurity Law, which, among other things, aggravated legal liabilities for violations of cybersecurity obligations and critical information infrastructure operators&#8217; obligations. As of the date of this annual report, the Draft Amendment to PRC Cybersecurity Law was released for public comment only, and whether and when it would be promulgated and take effect are subject to change with substantial uncertainty.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">In addition, the PRC Data Security Law, which was promulgated by the Standing Committee of the National People&#8217;s Congress on June 10, 2021, and took effect on September 1, 2021. The Data Security Law establishes a tiered system for data protection in terms of their importance, data categorized as &#8220;important data,&#8221; which will be determined by governmental authorities in the form of catalogs, are required to be treated with higher level of protection. Specifically, the Data Security Law provides that operators processing &#8220;important data&#8221; are required to appoint a &#8220;data security officer&#8221; and a &#8220;management department&#8221; to take charge of data security. In addition, such operator is required to evaluate the risk of its data activities periodically and file assessment reports with relevant regulatory authorities. The Measures for Security Assessment for Outbound Data Transfer, which took effect on September 1, 2022, requires mandatory government security review by the CAC prior to cross-border transfer of &#8220;important data.&#8221;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Numerous regulations, guidelines and other measures have been or are expected to be adopted under the umbrella of, or in addition to, the PRC Cybersecurity Law and PRC Data Security Law. For example, Regulations on the Security Protection of Critical Information Infrastructure, or the CII Protection Regulations, was promulgated by the State Council of the PRC on July 30, 2021 and became effective on September 1, 2021. According to the CII Protection Regulations, critical information infrastructure, or the CII, refers to any important network facilities or information systems of the important industry or field such as public communication and information service, energy, transportation, water conservancy, finance, public services, e-government affairs and national defense science, which may endanger national security, people&#8217;s livelihood and public interest in the case of damage, function loss or data leakage. Regulators supervising specific industries are required to formulate detailed guidance to recognize the CII in the respective sectors, and a critical information infrastructure operator, or a CIIO, must take the responsibility to protect the CII&#8217;s security by performing certain prescribed obligations. For example, CIIOs are required to conduct network security test and risk assessment, report the assessment results to relevant regulatory authorities, and timely rectify the issues identified at least once a year.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Additionally, in November 2021, the CAC and several other administrations also jointly promulgated the amended Cybersecurity Review Measures, or the Cybersecurity Review Measures, which became effective on February 15, 2022, and supersede and replace the current cybersecurity review measures that became effective since June 2020. Pursuant to the Cybersecurity Review Measures, a &#8220;critical information infrastructure operator&#8221;, or a CIIO, that purchases network products and services, or conducts data process activities, which affect or may affect national security will be subject to the cybersecurity review. The Cybersecurity Review Measures also expands the cybersecurity review to &#8220;internet platform operators&#8221; in possession of personal information of over one million users if such operators intend to list their securities in a foreign country. Alternatively, relevant governmental authorities in the PRC may initiate cybersecurity review if they determine an operator&#8217;s network products or services or data processing activities affect or may affect national security. On September 24, 2024, the State Council of China issued the Cyber Data Security Administration Regulations, which came into effect on January 1, 2025. The regulations specify that China will enhance the protection of important data. Data processors are required to conduct a risk assessment before providing, entrusting, or jointly processing important data, except in cases where such actions are necessary to fulfill statutory duties or obligations. Furthermore, if cyber data processors operating within China need to transfer important data collected or generated domestically to overseas, they must undergo a data export security assessment organized by CAC.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Furthermore, the recently issued Opinions on Strictly Cracking Down on Illegal Securities Activities requires (i) speeding up the revision of the provisions on strengthening the confidentiality and archives management relating to overseas issuance and listing of securities and (ii) improving the laws and regulations relating to data security, cross-border data flow, and management of confidential information. The Personal Information Protection Law, which was promulgated by the Standing Committee of the National People&#8217;s Congress on August 20, 2021 and took effect on November 1, 2021, integrates the various rules with respect to personal information rights and privacy protection and applies to the processing of personal information within mainland China as well as certain personal information processing activities outside mainland China, including those for the provision of products and services to natural persons within China or for the analysis and assessment of acts of natural persons within China.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">14</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">&#160;We may have access to confidential or personal information in certain of our businesses. Although we endeavor to comply with our privacy policies and other documentation regarding the protection of personal information, we may at times fail to do so or may be perceived to have failed to do so. Moreover, despite our efforts, we may not be successful in achieving compliance if our employees or contractors fail to comply with these policies and documentation.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Moreover, the Cyber Security Law, Data Security Law and relevant regulations are relatively new, uncertainties still exist in relation to their interpretation and implementation. Any change in laws and regulations relating to privacy, data protection and information security and any enhanced and scrutinized governmental enforcement action of such laws and regulations could greatly increase our cost in providing our products and services, limit their use or adoption or require certain changes to be made to our operations. We cannot assure you that we will be compliant with these new laws and regulations described above in all respects, and we may be ordered to rectify and terminate any actions that are deemed illegal by the government authorities and become subject to fines and other government sanctions, which may materially and adversely affect our business, financial condition, and results of operations.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Specifically, given the uncertainties surrounding the interpretation and implementation of the Cyber Security Law, Data Security Law and relevant regulations, we cannot rule out the possibility that we, or certain of our customers or suppliers may be deemed as a CIIO, or an operator processing &#8220;important data.&#8221; First, if we are deemed as a CIIO, our purchase of network products or services, if deemed to be affecting or may affect national security, will need to be subject to cybersecurity review, before we can enter into agreements with relevant customers or suppliers, and before the conclusion of such procedure, these customers will not be allowed to use our products or services, and we are not allowed to purchase products or services from our suppliers. There can be no assurance that we would be able to complete the applicable cybersecurity review procedures in a timely manner, or at all, if we are required to follow such procedures. Any failure or delay in the completion of the cybersecurity review procedures may prevent us from using certain network products and services, and may result in fines of up to ten times the purchase price of such network products and services being imposed upon us, if we are deemed a CIIO using network products or services without having completed the required cybersecurity review procedures. If the reviewing authority is of the view that the use of such network products or services by us, or by certain of our customers or suppliers, involves risk of disruption, is vulnerable to external attacks, or may negatively affect, compromise, or weaken the protection of national security, we may not be able to provide such products or services to relevant customers, or purchase products or services from relevant suppliers. This could have a material adverse effect on our results of operations and business prospects. Second, the notion of &#8220;important data&#8221; is not clearly defined by the Cyber Security Law or the Data Security Law. In order to comply with the statutory requirements, we will need to determine whether we possess important data, monitor the important data catalogs that are expected to be published by local governments and departments, perform risk assessments and ensure we are complying with reporting obligations to applicable regulators. We may also be required to disclose to regulators business-sensitive or network security-sensitive details regarding our processing of important data, and may need to pass the government security review or obtain government approval in order to share important data with offshore recipients, which can include foreign licensors, or share data stored in China with judicial and law enforcement authorities outside of China. If judicial and law enforcement authorities outside China require us to provide data stored in China, and we are not able to pass any required government security review or obtain any required government approval to do so, we may not be able to meet the foreign authorities&#8217; requirements. The potential conflicts in legal obligations could have adverse impact on our operations in and outside of China.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">15</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Economic Reforms May Not Continue or Impact Positively On the Company; Changing Business Environment.</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Over the past several years, the PRC&#8217;s government has pursued economic reform policies including encouraging private economic activities and decentralization of economic deregulation. It appears that the PRC government may not continue to pursue these policies or may significantly alter them to our detriment from time to time without notice. Changes in policies by the PRC government resulting in changes in laws, regulations, or their interpretation, or the imposition of confiscatory taxes, restrictions on currency conversion and imports could materially and adversely affect our business and operating results. The nationalization or other expropriations of private enterprises by the PRC government could result in a loss of our investments in actual funds and time and effort, in China.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The Company&#8217;s results at times may also be adversely effected by: (1) changes in political, economic and social conditions in the PRC; (2) changes in government policies such as changes in laws and regulations (or their interpretation); (3) the introduction of additional measures to control inflation; (4) changes in the rate or method of taxation; (5) imposition of additional restrictions on currency conversion remittances abroad; (6) reduction in tariff protection and other import restrictions; and (7) a return to the more centrally-planned economy that existed previously.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>We Are Subject To International Economic And Political Risks, Over Which We Have Little Or No Control.</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Doing business entirely outside the United States subjects us to various risks, including changing economic and political conditions, exchange controls, currency fluctuations, armed conflicts and unexpected changes in United States and foreign laws relating to tariffs, trade restrictions, transportation regulations, foreign investments and taxation. We have no control over most of these risks and other unforeseeable risks and may be unable to anticipate changes in international economic and political conditions and, therefore, unable to alter our business practice in time to avoid the adverse effect of any of these changes.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>The International Financial Crisis and Economic Conditions May Have A Material Adverse Impact on Our Business and Financial Conditions.</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">With deteriorating worldwide economies, global markets have experienced significant turmoil and upheavals characterized by extreme volatility and the volatility in prices and securities and commodities, diminished credit availability, inability to access capital markets, waves of bankruptcies, high unemployment and declining consumer and business confidence. It appears that international economic deterioration has negatively impacted our revenue and other results of operation. We cannot predict the short and long-term impact of these events on our business and financial condition that may be materially and adversely affected in the future.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Our Revenue and Net Income may be Materially and Adversely Affected by any Economic Slowdown in China.</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The PRC government has in recent years implemented a number of measures to control the rate of economic growth, including by raising interest rates and adjusting deposit reserve ratios for commercial banks as well as by implementing other measures designed to tighten credit and liquidity. These measures have contributed to a slowdown of the PRC economy. According to the National Bureau of Statistics of China, China&#8217;s real GDP growth rate was 2.3%, 8.1%, 2.9%, 5.2 % and 5.0% in 2020, 2021, 2022, 2023 and 2024, respectively. Any continuing or worsening slowdown could significantly reduce domestic commerce in China. An economic downturn, whether actual or perceived, a further decrease in economic growth rates or an otherwise uncertain economic outlook in China or any other market in which we may operate could have a material adverse effect on our business, financial condition and results of operations.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>We can provide no assurance that we will not be affected by higher rates of inflation in the future</strong><strong>.</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The inflation rate in China was 2.42%, 0.99%, 1.96%, 0.24% and 0.24% in 2020, 2021, 2022, 2023 and 2024, respectively. The Company cannot determine the precise effect of inflation on its operations; however, it does not believe inflation has had a material effect on revenues or results of operations during the past several years. We can provide no assurance that we will not be affected by higher rates of inflation in the future. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">If the inflation rate in China increases, the Chinese government may introduce further measures intended to reduce the inflation rate in the PRC. Any such measures adopted by the Chinese government may not be successful in reducing or slowing the increase in the PRC&#8217;s inflation rate. Efforts by the PRC to curb inflation may also curb economic growth, increase our overhead costs and adversely affect our revenues. Sustained or increased inflation in the PRC may have an adverse impact on the PRC&#8217;s economy and may materially and adversely affect our business and financial results.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">16</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>The PRC legal system embodies uncertainties which could limit the available legal protections and expand the government&#8217;s power.</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The PRC legal system is a civil law system based on written statutes. Unlike common law systems, it is a system in which decided legal cases have little precedential value. In 1979, the PRC government began to promulgate a comprehensive system of laws and regulations governing economic matters in general. The overall effect of legislation over the past three decades has significantly enhanced the protections afforded to various forms of foreign investment in China. However, these laws, regulations and legal requirements change frequently with little advance notice,&#160;and their interpretation and enforcement involve uncertainties. For example, we may have to resort to administrative and court proceedings to enforce the legal protection that we enjoy either by law or contract. However, since PRC administrative and court authorities have significant discretion in interpreting and implementing statutory and contractual terms, it may be more difficult to evaluate the outcome of administrative and court proceedings and the level of legal protection we enjoy than in more developed legal systems. In addition, such uncertainties, including the inability to enforce our contracts, could materially and adversely affect our business and operations. Furthermore, the PRC legal system is based in part on government policies and internal rules (some of which are not published on a timely basis or at all) that may have a retroactive effect. As a result, we may not be aware of our violation of these policies and rules until sometime after the violation. In addition, any litigation in China may be protracted and result in substantial costs and diversion of resources and management attention. Furthermore, intellectual property rights and confidentiality protections in China may not be as effective as in the United States or other countries. Accordingly, we cannot predict the effect of future developments in the PRC legal system, particularly with regard to the media, ecommerce, education, advertising and retail industries, including the promulgation of new laws, changes to existing laws or the interpretation or enforcement thereof, or the preemption of local regulations by national laws. These uncertainties could limit the legal protections available to us, and our foreign investors, including you.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>You may experience difficulties in effecting service of legal process, enforcing foreign judgments or bringing original actions in China based on United States or other foreign laws against us, our management or the experts named in the annual report.</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">We conduct substantially all of our operations in China and substantially all of our assets are located in China. In addition, our principal offices are located in Hong Kong and all of our directors and executive officers reside within Hong Kong and mainland China. As a result, it may not be possible to effect service of process within the United States or elsewhere outside China upon some of our directors and senior executive officers, including with respect to matters arising under U.S. federal securities laws or applicable state securities laws. Moreover, we understand that the PRC currently does not have treaties with the United States or many other countries providing for the reciprocal recognition and enforcement of judgment of courts.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Regulations relating to offshore investment activities by PRC residents may increase the administrative burden we face and create regulatory uncertainties that could restrict our overseas and cross-border investment activity, and a failure by our shareholders who are PRC residents to make any required applications and filings pursuant to such regulations may prevent us from being able to distribute profits and could expose our PRC resident shareholders to liability under PRC law.</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">China&#8217;s State Administration of Foreign Exchange, or SAFE, promulgated the Circular on Relevant Issues Concerning Foreign Exchange Control on Domestic Residents&#8217; Offshore Investment and Financing and Roundtrip Investment through Special Purpose Vehicles, or SAFE Circular No. 37, in July 2014. SAFE Circular No. 37 requires PRC residents to register with local branches of SAFE in connection with their direct establishment or indirect control of an offshore entity, for the purpose of overseas investment and financing, with such PRC residents&#8217; legally owned assets or equity interests in domestic enterprises or offshore assets or interests, referred to in SAFE Circular No.37 as a &#8220;special purpose vehicle.&#8221; The term &#8220;control&#8221; under SAFE Circular No. 37 is broadly defined as the operation rights, beneficiary rights or decision-making rights acquired by the PRC residents in the offshore special purpose vehicles or PRC companies by such means as acquisition, trust, proxy, voting rights, repurchase, convertible bonds or other arrangements. SAFE Circular No. 37 further requires amendment to the registration in the event of any changes with respect to the basic information of the special purpose vehicle, such as changes in a PRC resident individual shareholder, name or operation period; or any significant changes with respect to the special purpose vehicle, such as increase or decrease of capital contributed by PRC individuals, share transfer or exchange, merger, division or other material event.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">17</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">If the shareholders of the offshore holding company who are PRC residents do not complete their registration with the local SAFE branches, the PRC subsidiaries may be prohibited from distributing their profits and proceeds from any reduction in capital, share transfer or liquidation to the offshore company, and the offshore company may be restricted in its ability to contribute additional capital to its PRC subsidiaries. Moreover, failure to comply with SAFE registration and amendment requirements described above could result in liability under PRC law for evasion of applicable foreign exchange restrictions. In February 2015, SAFE issued SAFE Circular No. 13, which took effect on June 1, 2015. SAFE Circular No. 13 has delegated to the qualified banks the authority to register all PRC residents&#8217; investment in &#8220;special purpose vehicle&#8221; pursuant to the SAFE Circular No. 37, except that those PRC residents who have failed to comply with the SAFE Circular No. 37 will remain to fall into the jurisdiction of the local SAFE branch and must make their supplementary registration application with the local SAFE branch.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">We have requested PRC residents who we know hold direct or indirect interest in our company to make the necessary applications, filings and amendments as required under SAFE Circular No. 37 and other related rules. However, we may not be informed of the identities of all the PRC residents holding direct or indirect interest in our company, and we cannot provide any assurance that these PRC residents will comply with our request to make or obtain any applicable registrations or comply with other requirements under SAFE Circular No. 37 or other related rules. The failure or inability of our PRC resident shareholders to comply with the registration procedures set forth in these regulations may subject us to fines and legal sanctions, restrict our cross-border investment activities, limit the ability of our wholly foreign-owned subsidiaries in China to distribute dividends and the proceeds from any reduction in capital, share transfer or liquidation to us, and we may also be prohibited from injecting additional capital into these subsidiaries. Moreover, failure to comply with the various foreign exchange registration requirements described above could result in liability under PRC law for circumventing applicable foreign exchange restrictions. As a result, our business operations and our ability to distribute profits to you could be materially and adversely affected.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>If the custodians or authorized users of controlling non-tangible assets of our Company, including our corporate chops and seals, fail to fulfill their responsibilities, or misappropriate or misuse these assets, our business and operations could be materially and adversely affected.</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Under PRC law, legal documents for corporate transactions are executed using the chops or seals of the signing entity or with the signature of a legal representative whose designation is registered and filed with the relevant branch of the Administration of Industry and Commerce.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Although we usually utilize chops to enter into contracts, the designated legal representatives of each of our PRC subsidiaries and consolidated affiliated entities have the apparent authority to enter into contracts on behalf of such entities without chops and bind such entities. All designated legal representatives of our PRC subsidiaries and consolidated affiliated entities are members of our senior management team who have signed employment agreements with us or our PRC subsidiaries and consolidated affiliated entities under which they agree to abide by various duties they owe to us. In order to maintain the physical security of our chops of our PRC entities, we generally store these items in secured locations accessible only by the authorized personnel in the legal or finance department of each of our subsidiaries and consolidated affiliated entities. Although we monitor such authorized personnel, there is no assurance that such procedures will prevent all instances of abuse or negligence. Accordingly, if any of our authorized personnel misuse or misappropriate our corporate chops or seals, we could encounter difficulties in maintaining control over the relevant entities and experience significant disruption to our operations. If a designated legal representative obtains control of the chops in an effort to obtain control over any of our PRC subsidiaries or consolidated affiliated entities, we or our PRC subsidiary and consolidated affiliated entity would need to pass a new shareholder or board resolution to designate a new legal representative and we would need to take legal action to seek the return of the chops, apply for new chops with the relevant authorities, or otherwise seek legal redress for the violation of the representative&#8217;s fiduciary duties to us, which could involve significant time and resources and divert management attention away from our regular business. In addition, the affected entity may not be able to recover corporate assets that are sold or transferred out of our control in the event of such a misappropriation if a transferee relies on the apparent authority of the representative and acts in good faith.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">18</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>The PRC Government Imposes Currency Controls.</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The PRC government imposes controls on the convertibility of the RMB into foreign currencies and, in certain cases, the remittance of currency out of China. We receive substantial part of our revenues in RMB. Under existing PRC foreign exchange regulations, payments of current account items, including profit distributions, interest payments and trade and service-related foreign exchange transactions, can be made in foreign currencies without prior approval by complying with certain procedural requirements. However, approval from or registration with appropriate government authorities is required where RMB is to be converted into foreign currency and remitted out of China to pay capital expenses such as the repayment of loans denominated in foreign currencies. The PRC government may also at its discretion restrict access to foreign currencies for current account transactions in the future.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">If we are considered a PRC tax resident enterprise for tax purposes, any dividends we pay to our overseas shareholders may be regarded as China-sourced income and as a result may be subject to PRC withholding tax.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Relevant PRC laws and regulations permit the PRC companies to pay dividends only out of their retained earnings, if any, as determined in accordance with PRC accounting standards and regulations. Additionally, the Company&#8217;s PRC subsidiaries can only distribute dividends upon approval of the shareholders after they have met the PRC requirements for appropriation to the statutory reserves. Under PRC laws, rules and regulations, each of our subsidiaries incorporated in mainland China is required to set aside at least 10% of its after-tax profits each year, after making up for previous years&#8217; accumulated losses, if any, to fund certain statutory reserves, until the aggregate amount of such fund reaches 50% of its registered capital.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">As a result of these and other restrictions under the PRC laws and regulations, our PRC subsidiaries are restricted to transfer a portion of their cash or assets to the Company. Even though the Company currently does not require any such dividends, loans or advances from the PRC subsidiaries for working capital and other funding purposes, the Company may in the future require additional cash resources from its PRC subsidiaries due to changes in business conditions, to fund future acquisitions and developments, or merely declare and pay dividends to or distributions to the Company&#8217;s shareholders. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">To the extent cash in the business is in a PRC entity, the funds may not be available to fund operations or for other use outside of the PRC due to interventions in or the imposition of restrictions and limitations on the ability of you or your subsidiaries by the PRC government to transfer cash.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>There is a Foreign Currency Risk.</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The Company operates in Hong Kong, the PRC and trades with both local and overseas customers and suppliers, and is exposed to foreign exchange risk arising from various currency exposures, primarily with respect to purchases in, Hong Kong dollar, Renminbi, US dollars, the Japanese yen and Euro. Foreign exchange risk arises from committed and unmatched future commercial transactions, such as confirmed import purchase orders and sales orders, recognized assets and liabilities, and net investment in the PRC operations.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Because our revenues are generated in Renminbi and our results are reported in U.S. dollars, ongoing devaluation of the Renminbi could negatively impact our results of operations.</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The value of the Renminbi against the U.S. Dollar and other currencies is affected by changes in China&#8217;s political and economic conditions and by China&#8217;s foreign exchange policies, among other things. &#160;The RMB/USD exchange rate experienced significant volatility in 2020. It started the year around 6.9 RMB per USD and depreciated to around 7.1 by March. However, it strengthened throughout the second half of the year 2020, ending around 6.5 RMB per USD by December, 2020. In 2021, the RMB generally maintained a strengthening trend against the USD. 2022 saw increased volatility in the RMB/USD exchange rate. The RMB started the year around 6.37 and experienced significant depreciation throughout the year, reaching around 7.2 by October. The year ended with the exchange rate around 6.9 RMB per USD. In 2023, the RMB/USD exchange rate continued to experience fluctuations. The exchange rate started around 6.9 RMB per USD and depreciated further to around 7.25 by mid-year. However, it showed some recovery in the second half, ending the year around 7.1 RMB per USD. 2024 has seen continued volatility in the RMB/USD exchange rate. The exchange rate started around 7.1 RMB per USD and experienced significant fluctuations throughout the year. The monthly averages ranged from approximately 7.07 to 7.25 RMB per USD, with the lowest point in September at 7.01 RMB per USD and the highest point in July at 7.2755 RMB per USD. It is difficult to predict how market forces or PRC or U.S. government policy may impact the exchange rate between the Renminbi and the U.S. dollar in the future. There remains significant international pressure on the PRC government to adopt a more flexible currency policy, which could result in greater fluctuations of the Renminbi against the U.S. Dollar. With the development of the foreign exchange market and progress towards interest rate liberalization and Renminbi internationalization, the PRC government may in the future announce further changes to the exchange rate system and there is no guarantee that the Renminbi will not appreciate or depreciate significantly in value against the U.S. Dollar in the future. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">19</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Significant revaluation of the Renminbi may have a material and adverse effect on your investment. For example, to the extent that we need to convert U.S. Dollar into Renminbi for our operations, appreciation of the Renminbi against the U.S. Dollar would have an adverse effect on the Renminbi amount we would receive from the conversion. Conversely, if we decide to convert our Renminbi into U.S. Dollar for the purpose of making payments for dividends on our ordinary shares, repaying our U.S. Dollar denominated notes or other payment obligations or for other business purposes, appreciation of the U.S. Dollar against the Renminbi would have a negative effect on the U.S. Dollar amount available to us. In addition, appreciation or depreciation in the value of the Renminbi relative to U.S. Dollar would affect our financial results reported in U.S. dollar terms regardless of any underlying change in our business or results of operations.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Very limited hedging options are available in China to reduce our exposure to exchange rate fluctuations. To date, we have not entered into any hedging transactions in an effort to reduce our exposure to foreign currency exchange risk. While we may decide to enter into hedging transactions in the future, the availability and effectiveness of these hedges may be limited and we may not be able to adequately hedge our exposure or at all. In addition, our currency exchange losses may be magnified by PRC exchange control regulations that restrict our ability to convert Renminbi into foreign currency. As a result, fluctuations in exchange rates may have a material adverse effect on your investment.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>The turbulent relations between the PRC and United States may adversely affect our business or the price of our capital stock</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">In recent years, we have observed increasing tensions in the relations between the United States and China. The United States have imposed additional or higher tariffs on certain products imported from China, and China has also imposed or threatened to impose additional or higher tariffs in retaliation. Part of our business consists of distributing products originated from the United States to China. As China imposes additional or higher tariffs on such imports, our Chinese customers may decrease or may have already decreased their purchase of such products. Subsequently, our sales and results of operations would be adversely impacted. Political or trade friction between the two countries could also materially and adversely affect the market price of our capital stock.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; TEXT-INDENT: 0.5in; text-align:justify;">Tariffs and other restrictions imposed by any country or region we serve could affect our business and financial condition. Trade restrictions, including tariffs, quotas, embargoes, safeguards, and customs restrictions, could restrict our ability to source and sell products to certain markets, could increase our costs or reduce the competitiveness of the prices of products offered by us, and could affect our ability to timely ship and deliver products to our buyers, any of which could harm our business, financial condition, and results of operations.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">It is difficult to predict future developments regarding tariffs and other trade restrictions. There have been heightened tensions in international relations in recent years, which has resulted in and may continue to cause changes in international trade policies and additional barriers to trade. Countries impose, modify, and remove tariffs and other trade restrictions in response to a diverse array of factors, including global and national economic and political conditions. &#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Chinese regulatory authorities could disallow our holding company structure</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The Company is a holding company and not an operating company. It owns 100% of the shares of Euro Tech Global, which owns 100% of the shares of Far East. Far East owns 100% of the equity of ETTS in China, and 58% of the equity of Pact Singapore in Singapore, Yixing in China and Pact in the British Virgin Islands, respectively. Far East also holds 19.4% of the equity of Blue Sky in China. ETTS and Pact are no longer in active business operations.&#160;Euro Tech Global, Far East, Pact Singapore, Yixing, and Blue Sky are engaged in active business operations. As of the date of this annual report, Chinese law does not prohibit or restrict the Company from holding the equity of Euro Tech Global, Far East, Pact Singapore, Yixing, Pact or Blue Sky. However we cannot assure you that Chinese regulatory authorities would never disallow our holding company structure, or otherwise prohibit or restrict the Company from holding the equity of Euro Tech Global, Far East, Pact Singapore, Yixing, Pact or Blue Sky. If Chinese regulatory authorities do disallow our holding company structure as aforesaid, this would likely result in a material change in our operations and consequently a material change in the value of your securities, including that it could cause the value of such securities to significantly decline or become worthless.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>PRC Sovereignty over Hong Kong is Still Developing.</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The Company&#8217;s executive and principal offices are located in Hong Kong, a Special Administrative Region of China. Pursuant to the Sino-British Joint Declaration on the Question of Hong Kong (the &#8220;Joint Declaration&#8221;) and the Basic Law of Hong Kong (the &#8220;Basic Law&#8221;), Hong Kong is given a high degree of autonomy except in foreign and defense affairs. The formula for the preservation of Hong Kong&#8217;s independent legal and economic system under Chinese sovereignty has been referred to as &#8220;one country, two systems.&#8221; Under this principle of &#8220;one country, two systems,&#8221; the PRC&#8217;s political system and policies are not practiced in Hong Kong, and Hong Kong maintains a legal system that is based on common law and is different from that of the PRC. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">However, there has been some frictions between Hong Kong residents pressing for greater democracy and the PRC government. At this point in time it is not possible to predict if this trend will continue and what effect it will have on the Company, if any. However, there can be no assurance that changes in political or economic conditions in Hong Kong and mainland China will not affect the Company adversely. The Company&#8217;s results of operations and financial condition may be influenced by the political situation in Hong Kong and by the general state of the Hong Kong economy. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">20</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em><strong>Certain Risks Relating to the Company&#8217;s Business.</strong></em><em><strong> </strong></em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Our Operating Results May Fluctuate Significantly from Year to Year. We Cannot be Certain that we will Achieve or Maintain Profitability in the Future.</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Our operating results historically have been difficult to predict and have at times significantly fluctuated from year to year due to a variety of factors, many of which are outside of our control.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">During Fiscal 2024, the Company had revenues of US$15,383,000, operating income of US$386,000, and income before income taxes, equity in income of affiliates and non-controlling interests of US$519,000. In addition, we had income tax expense of US$72,000, and equity in income of affiliates of US$398,000. As a result, we had a net income of US$845,000 for Fiscal 2024 before giving effect to the effect on our results attributable to our non-controlling interests. The principal reason for the operating income before income taxes, equity in income of affiliates and non-controlling interests for Fiscal 2024 was primarily an increase in the gross profit margin of our trading, and engineering-related operations. After giving effect to the net loss attributable to non-controlling interest, other comprehensive income / (loss) and comprehensive loss attributable to non-controlling interest, we had comprehensive income attributable to the Company of US$715,000 for Fiscal 2024.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">During Fiscal 2023, the Company had revenues of US$17,940,000, operating loss of US$249,000, and loss before income taxes, equity in income of affiliates and non-controlling interests of US$232,000. In addition, we had income tax expense of US$45,000, and equity in income of affiliates of US$1,927,000. As a result, we had a net income of US$1,650,000 for Fiscal 2023 before giving effect to the effect on our results attributable to our non-controlling interests. The principal reason for the operating losses before income taxes, equity in income of affiliates and non-controlling interests for Fiscal 2023 was primarily a decrease in the gross profit margin of our engineering-related operations. After giving effect to the net loss attributable to non-controlling interest, other comprehensive income / (loss) and comprehensive loss attributable to non-controlling interest, we had comprehensive income attributable to the Company of US$1,836,000 for Fiscal 2023.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">During Fiscal 2022, the Company had revenues of US$14,949,000, operating income of US$114,000, and income before income taxes, equity in income of affiliates and non-controlling interests of US$150,000. In addition, we had income tax&#160;expense of US$24,000, equity in income of affiliates of US$413,000. As a result, we had a net income of US$539,000 for Fiscal 2022 before giving effect to the effect on our results attributable to our non-controlling interests. The principal reason for the operating income before income taxes, equity in income of affiliates and non-controlling interests for Fiscal 2022 was an increase in gross profit margin and a decrease in general and administrative expenses even though there was a decrease in revenues. After giving effect to the net income attributable to non-controlling interest, other comprehensive income/(loss) and comprehensive loss attributable to non-controlling interest, we had comprehensive income attributable to the Company of US$307,000 for Fiscal 2022.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">As a result of these factors, comparing our operating results on a period-to-period basis may not be meaningful, and you should not rely on our past results as an indication of our future performance. Our operating expenses do not always vary directly with revenue and may be difficult to adjust in the short term. As a result, if revenue for a particular year or quarter is below our expectations, we may not be able to proportionately reduce operating expenses for that period, and therefore such a revenue shortfall would have a disproportionate effect on our operating results for that period.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>The Russia-Ukraine conflicts may have already impacted and will likely impact the business operations of our suppliers and customers headquartered in Europe and elsewhere, and subsequently impact the terms of our business relationships with them. </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Hostilities, political or social tensions involving Russia (including the invasion of Ukraine by Russia and ensuing actions that the United States and other countries have taken or may take in the future) and the resulting adverse effects on the global supply of oil and other natural resources, may have already adversely affected and will likely continue to adversely affect the results of operations of our customers headquartered in the Europe.&#160; Subsequently, these customers will likely take longer to make decisions regarding whether to purchase our products, negotiate for more favorable commercial and financial terms in their dealings with us, and even postpone or cancel their new projects and purchase orders in China.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">21</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>We face risks related to natural disasters, health epidemics and other outbreaks, which could significantly disrupt our operations. </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Our business could be materially and adversely affected by natural disasters, such as snowstorms, earthquakes, fires or floods, the outbreak of a widespread health epidemic, such as swine flu, avian influenza, severe acute respiratory syndrome (SARS), coronavirus or COVID-19, Ebola, Zika or other events, such as wars, acts of terrorism, environmental accidents, power shortage or communication interruptions. The occurrence of a disaster or a prolonged outbreak of an epidemic illness or other adverse public health developments in mainland China, Hong Kong or elsewhere in the world could materially disrupt our business and operations. These events could also significantly impact our industry and cause a temporary closure of the facilities we use for our operations, which would severely disrupt our operations and have a material adverse effect on our business, financial condition and results of operations. Our operations could be disrupted if any of our employees or employees of our business partners were suspected of contracting an epidemic disease, since this could require us or our business partners to quarantine some or all of these employees or disinfect the facilities used for our operations. In addition, our revenue and profitability could be materially reduced to the extent that a natural disaster, health epidemic or other outbreak harms the global or PRC economy in general. Our operations could also be severely disrupted if our consumers, merchants or other participants were affected by natural disasters, health epidemics or other outbreaks.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">In the past few years, the outbreak of the coronavirus, which causes the disease COVID-19, and the subsequent government efforts in China and elsewhere to contain the spread of the coronavirus through lockdowns of cities, business closures, restrictions on travel and emergency quarantines, among others, and responses by businesses and individuals to reduce the risk of exposure to infection, including reduced travel, cancellation of meetings and events, and implementation of work-at-home policies, among others, have caused significant disruptions to the global economy and normal business operations across a growing list of sectors and countries, including our business operations. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The Chinese government has gradually lifted restrictions and quarantines that were imposed in response to the pandemic since 2023, and has now completely lifted such restrictions and quarantines.&#160;We believe this has substantively reduced the risk of delay and other uncertainty to our business operations, except that it may be more difficult for us to recruit foreign talent at least in the near future, because such foreign talent may have left China and returned to their home country during the pandemic. It is also possible that if future outbreak occurs, the government will take similar actions which would adversely impact our business. In addition, the broader macro-economic implications of the pandemic, including reduced levels of economic growth and possibly a global recession, likely still exist and will likely impact our future results of operations.<em><strong> </strong></em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Actions to Increase Revenue, Decrease Losses and Achieve Profitability may be Unsuccessful.</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The Company has implemented a number of measures to streamline its business activities, in order to stem the decline in its revenues. Specifically, the Company has reduced the number of its employees, consolidated its offices, and ceased the active business operations of certain subsidiaries in mainland China due to their decline in profitability.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The Company has also made an effort to obtain appropriate certifications and approvals from various governmental authorities in order to increase the credibility of its products. For example, the Company has obtained certification from China&#8217;s Classification Society (&#8220;CCS&#8221;); has obtained certification from the U.S. Coast Guard for its ballast water treatment system (&#8220;BWTS&#8221;) models 200, 300, 500, 750, 1200 and 1250 Cubic Meters per hour to be used as an Alternate Management Systems (&#8220;AMS&#8221;) in U.S. waters; and has obtained an RS type approval (Russian Maritime Register) for its 300 Cubic Meters per hour BWTS. The Company also received an anti-explosion certificate from China National Quality Supervision and Test Centre for Explosion Protected Electrical Products for its BWTS in 2017.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">In 2018, the Company received a PRC government grant for the development of a ballast water port solution. The ballast water port solution is a system installed in port to offer ballast water treatment services for ocean going ships without their own ballast water treatment system (&#8220;BWTS&#8221;) and for those with damaged BWTS. The development of the ballast water port solution prototype has now been successfully completed.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">22</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The Company received its first order for the ballast water port solution system from Shanghai Yanshan port in 2020, and has since completed four other commercial port BWTS projects for Ningbo Zhoushan port, Taicang port, LianYunGang port and Zhangjiang chemical port in China respectively. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The Company conducts ongoing promotional activities for such systems in China, and elsewhere, where appropriate. However, the intake of orders may be affected by, among other things, the success of the Company&#8217;s marketing and sales efforts, and by the acceptance of the Company&#8217;s products by customers. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">There can be no assurance that the Company&#8217;s continued efforts to streamline its business, to obtain certifications for its products, and to promote the sale of its ballast water treatment process, will be successful or, if successful, that these efforts will result in a reduction in losses, an increase in revenues and/or the achievement of profitability by the Company. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Increases in manufacturing and operating costs and/or the ability to achieve the savings anticipated from our structural cost improvement initiative may affect operating results.</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Our costs are subject to fluctuations, particularly due to changes in commodity prices, the price of raw materials, cost of energy and related utilities and cost of labor. The achievement of our financial objectives is reliant on our ability to manage these fluctuations through cost savings or recovery actions and efficiency initiatives.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">We may pursue a number of structural cost improvement initiatives from time to time, but these efforts may not improve our financial performance or produce the full efficiencies and benefits we expect due to delays or other factors affecting our execution of these initiatives.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>We may be subject to a variety of litigation and similar proceedings in the course of our business that could adversely affect our financial statements.</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">We may be subject to various litigations and similar proceedings incidental to our business that arise in the ordinary course of our business, including claims for damages arising out of the use of our products and claims relating to intellectual property matters, employment matters, tax matters, commercial disputes, environmental matters and personal injury. These lawsuits may include claims for compensatory damages, punitive and consequential damages and/or injunctive relief. The defense of these lawsuits may divert management&#8217;s attention, we may incur significant expenses in defending these lawsuits and we may be required to pay damage awards or settlements or become subject to equitable remedies that could adversely affect our consolidated financial statements. Moreover, any insurance or indemnification rights that we have may be insufficient or unavailable to protect us against such losses and expenses. In addition, developments in legal proceedings in any given period may require us to revise our expectations regarding the outcome of certain matters or adjust the loss contingency estimate that is recorded in our consolidated financial statements, which could adversely affect our results of operations or cash flows in any particular period. We cannot assure that our liabilities in connection with litigation and similar proceedings will not exceed estimates or adversely affect our consolidated financial statements or reputation.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Our business depends significantly on the strength of our product brands and corporate reputation; our failure to develop, maintain and enhance our product brands and corporate reputation may materially and adversely affect the level of market recognition of, and trust in, our products.</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">In China&#8217;s fragmented, developing and increasingly competitive consumer market, product brands and corporate reputation have become critical to the success of our new products and the continued popularity of our existing products. Our promotional activities may prove to be expensive and may fail to either effectively promote our product brands or generate additional sales.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">In addition, our product brands, corporate reputation and product sales could be harmed if, for example:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="width:4%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">our advertisements, or the advertisements of the owners of the third-party brands that we market or those of our distributors, are deemed to be misleading or inaccurate;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">our products fail to meet customer expectations;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">we provide poor or ineffective customer service;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">our products contain defects or otherwise fail; or</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">consumers confuse our products with inferior or counterfeit products.</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">23</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>We Have Made And May Make Further Acquisitions Without Your Approval.</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Although we endeavor to evaluate the risks inherent in any particular acquisition, there can be no assurance that we will properly or accurately ascertain all such risks. We will have virtually unrestricted flexibility in identifying and selecting prospective acquisition candidates and in deciding if they should be acquired for cash, equity or debt, and in what combination of cash, equity and/or debt.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">We have taken equity positions in related businesses. We will not seek stockholder approval for any additional acquisitions unless required by applicable law and regulations. Our stockholders may not have an opportunity to review financial and other information on acquisition candidates prior to consummation of any acquisitions under almost all circumstances.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Investors will be relying upon our management, upon whose judgment the investor must depend, with only limited information concerning management&#8217;s specific intentions.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">There can be no assurance that the Company will locate and successfully complete any such additional acquisitions, or any acquisition will perform as anticipated, will not result in significant unexpected liabilities or will ever contribute significant revenues or profits to the Company or that the Company will not lose its entire investment in any acquisition.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Risks related to our existing and future joint ventures, acquisitions and investments also include, as applicable:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="width:4%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">our ability to enter into, exit or acquire additional interests in our joint ventures or other acquisitions or investments may be restricted by or subject to various approvals under PRC law or may not otherwise be possible, may result in a possible dilutive issuance of our securities or may require us to secure financing to fund those activities;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">we may disagree with our joint venture partner(s) or other investors on how the venture or business investment should be managed and/or operated;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">to the degree we wish to do so, we may be unable to integrate and retain acquired employees or management personnel; incorporate acquired products, or capabilities into our business; integrate and support pre-existing manufacturing or distribution arrangements; consolidate duplicate facilities and functions; or combine aspects of our accounting processes, order processing and support functions; and</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">the joint venture or investment could suffer losses and we could lose our total investment, which would have a negative effect on our operating results.</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Any of these events could distract our management&#8217;s attention and result in our not obtaining the anticipated benefits of our joint ventures, acquisitions or investments and, in turn, negatively affect the performance of such joint ventures, acquisitions and investments and their respective contributions to our results of operations.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">24</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Dependence upon Management.</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The Company is dependent upon the services of its executive officers, in particular Mr. T.C. Leung, the Chairman of the Company&#8217;s Board of Directors, and Mr. David YL Leung, the Chief Executive Officer. The business of the Company could be adversely affected by the loss of services of, or a material reduction in the amount of time devoted to the Company by its executive officers. The Company does not maintain &#8220;Key Man&#8221; life insurances on the lives of any of its officers and directors. See &#8211; Item 6. &#8220;Directors, Senior Management and Employees.&#8221;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>We have limited general business insurance coverage and we may be subject to losses that might not be covered by our existing insurance policies, which may result in our incurring substantial costs and the diversion of resources.</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">We maintain various insurance policies to safeguard against risks and unexpected events. We have purchased product transportation insurance covering risk of product loss during transportation, property insurance for our warehouse covering the risk of product loss in the warehouse, and third party liability insurance for certain contracts. We also provide social security insurance, including work-related injury insurance, and medical insurance for our employees.<strong> </strong>However, we do not maintain business liability, interruption or litigation insurance, nor do we maintain key-man life insurance. We cannot assure you that our insurance coverage is sufficient to prevent us from any loss or that we will be able to successfully claim our losses under our current insurance policy on a timely basis, or at all. If we incur any loss that is not covered by our insurance policies, or the compensated amount is significantly less than our actual loss, our business, financial condition and results of operations could be materially and adversely affected.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Our sale of products could subject us to product liability claims, potential safety-related regulatory actions or product recalls. These events could damage our brand and reputation and the marketability of the products that we sell, divert our management&#8217;s attention and result in lower net revenues and increased costs.</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The manufacture and sale of products, such as BWTS, could expose us to product liability claims for personal injuries related liability claims. Also, if our products are deemed by the PRC authorities to fail to conform to product quality or personal safety requirements in China, we could be subject to PRC regulatory action. Violation of PRC product quality and safety requirements by products sold by us may subject us to confiscation of the products, imposition of penalties or an order to cease sales of the violating products or to cease operations pending rectification. If the offense is determined to be serious, our business license could be suspended and subject to criminal liabilities. Any product liability claim or governmental regulatory action could be costly and time-consuming to defend. If successful, product liability claims may require us to pay substantial damages. Also, a material design, manufacturing or quality failure in the products sold by us, other safety issues or heightened regulatory scrutiny could each warrant a product recall by us and result in increased product liability claims. Furthermore, customers may not use the products sold by us in accordance with our product usage instructions, possibly resulting in customer injury. All of these events could materially harm our brand and reputation and marketability of our products, divert our management&#8217;s attention and result in lower net revenues and increased costs.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Material Adverse Effect upon the Company of PRC&#8217;s Credit Restrictions.</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The Company faces increasing competition from other distributors of substantially similar products and manufacturers themselves, both foreign and Chinese. The Company faces its principal competition from foreign manufacturers and other distributors of their products situated in Hong Kong and mainland China. Competition may cause purchaser demands for price reductions and reduced profit margin.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Dependence on Vendors; Lack of Long Term Arrangements; Loss of Vendors</strong>.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The Company distributes supplies manufactured by a number of vendors. Stanford Research Systems, Inc. (&#8220;Stanford&#8221;), Thermo Fisher Scientific Group (&#8220;Thermo&#8221;), Hach Company (&#8220;Hach&#8221;), and Hioki E.E. Corp. (&#8220;Hioki&#8221;) are among the Company&#8217;s largest suppliers in 2024, pursuant to short term arrangements. Although alternative sources of supply exist, there can be no assurance that the termination of the Company&#8217;s relationship with any of the above or other vendors would not have an adverse effect on the Company&#8217;s operations due to the Company&#8217;s dependence on these vendors. A substantial number of the Company&#8217;s suppliers have been selling their products into China directly and through other distributors. During Fiscal 2022, our sales revenue from trading activities decreased by approximately 3%. During Fiscal 2023, our sales revenue from trading activities increased by approximately 30%. During Fiscal 2024, our sales revenue from trading activities decreased by approximately 21%. &#160;A loss of a substantial vendor or substantial number of our other vendors and/or our competing with them would have a material adverse effect on our revenues from trading activities. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">25</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>The loss of any of our key customers could reduce our revenues and our profitability.</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">For the year ended December 31, 2024, sales to our three largest customers amounted in the aggregate to approximately 31% of our total revenue. For the year ended December 31, 2023, sales to our three largest customers amounted in the aggregate to approximately 31% of our total revenue. For the year ended December 31, 2022, sales to our three largest customers amounted in the aggregate to approximately 33% of our total revenue. There can be no assurance that we will maintain or improve the relationships with these customers, or that we will be able to continue to supply these customers at current levels or at all. Any failure to pay by these customers could have a material negative effect on our company&#8217;s business. In addition, having a relatively small number of customers may cause our half yearly or annual results to be inconsistent, depending upon when these customers pay for outstanding invoices.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">In the years ended December 31, 2022, 2023 and 2024, we had 1, 2 and 1 customers that accounted for 10% or more of our revenues, respectively. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Customer Name</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>&#160;Ended </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>31,202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Ended December 31,202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>&#160;Ended </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>&#160;31,202</strong><strong>2</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Customer A</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">15</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">10</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">N.A</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">.</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Customer B</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">9</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">14</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">18</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Our failure to maintain long-term relationships with any of these major customers would lead to the loss of our sales to such major customer, which would have an adverse effect on our business, financial condition and results of operations.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>We and our distributors are subject to various laws regulating our advertising and any violation of these laws by us or our distributors could result in fines, penalties and legal liabilities, harm our product brands and disrupt our business.</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">We advertise and market our products. Our distributors often advertise our products they distribute. PRC advertising laws and regulations require advertisers and advertising operators, such as us and our distributors, to ensure the contents of the advertisement they prepare, publish or broadcast are fair and accurate, are not misleading and are in full compliance with applicable laws, through independent review and verification before displaying the advertisement through print media, radio or Internet portals. PRC unfair competition law also prohibits us and our distributors from displaying misleading, false or inaccurate information with respect to quality, function, use, or other features of products, through advertising. Violation of these laws or regulations may result in penalties, including fines, confiscation of advertising income, orders to cease dissemination of the advertising, orders to publish an advertisement correcting the misleading information and criminal liabilities. In circumstances involving serious violations, the PRC government may suspend or revoke a violator&#8217;s business license. Moreover, government actions and civil claims may be filed against us for misleading or inaccurate advertising, fraud, defamation, subversion, negligence, copyright or trademark infringement or other violations due to the nature and content of our advertising produced by us or our distributors.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">26</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Risks Related To the Company Itself.</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>The enactment of the Holding Foreign Companies Accountable Act and the adoption of any rules, legislations or other efforts to increase U.S. regulatory access to audit information could cause uncertainty and our securities listed on the NASDAQ could be delisted or prohibited from being traded&#160;&#8221;over-the-counter&#8221; if we are unable to meet the PCAOB requirement in time.</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Pursuant to the Holding Foreign Companies Accountable Act, or the HFCAA, if the SEC determines that we have filed audit reports issued by a registered public accounting firm that has not been subject to inspections by the Public Company Accounting Oversight Board, or the PCAOB, for two consecutive years, the SEC will prohibit our shares from being traded on a national securities exchange or in the over-the-counter trading market in the United States. On December 16, 2021, the PCAOB issued a report to notify the SEC of its determination that the PCAOB was unable to inspect or investigate completely registered public accounting firms headquartered in mainland China or Hong Kong. The PCAOB included in such report a list of the accounting firms that are headquartered in mainland China or Hong Kong. This list includes Union Power, the firm which audited our financial statements for the fiscal year ended December 31, 2021 and 2020, and subsequently on June 14, 2022, we were added to the conclusive list of &#8220;Commission-Identified Issuer&#8221; identified under the HFCAA on the website of the SEC. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">On December 15, 2022, the PCAOB vacated its previous determinations that it is unable to inspect and investigate completely PCAOB-registered public accounting firms headquartered in mainland China and Hong Kong. Accordingly, until such time as the PCAOB issues any new determination, there are no issuers at risk of having their securities subject to a trading prohibition under the HFCAA.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">In January 2023, we appointed J&amp;S Associate PLT (&#8220;J&amp;S&#8221;), as our independent registered public accounting firm. J&amp;S is headquartered in Malaysia and subject to inspections by the PCAOB, therefore we believe the appointment of J&amp;S would substantially reduce the risk of us being continued to be identified as &#8220;Commission-Identified Issuer&#8221; under the HFCAA, and the risk of our securities being prohibited from being traded on a national securities exchange or in the over the counter trading market in the United States due to rules under the HFCAA.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Each year, the PCAOB will determine whether it can inspect and investigate completely audit firms in mainland China and Hong Kong, among other jurisdictions. As of the date of this annual report, the PCAOB has not issued any new determination that it is unable to inspect or investigate completely registered public accounting firms headquartered in any jurisdiction. If the PCAOB determines in the future that it no longer has full access to inspect and investigate completely accounting firms in certain jurisdictions, and we use an accounting firm headquartered in one of those jurisdictions to issue an audit report on our financial statements to be filed with the SEC, we would be identified as a Commission-Identified Issuer following the filing of the annual report on Form 20-F for the relevant fiscal year. There can be no assurance that we would not be identified as a Commission-Identified Issuer for any future fiscal year, and if we were so identified for two consecutive years, we would become subject to the prohibition on trading under the HFCAA.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Control by T.C. Leung and David YL Leung; Potential Conflict of Interests.</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">T.C. Leung, the Company&#8217;s Chairman of the Board, is the father of David YL Leung, the Chief Executive Officer of the Company. Therefore, as a practical matter, T.C. Leung and David YL Leung are able to nominate and cause the election of all the members of the Company&#8217;s Board of Directors, control the appointment of its officers and the day-to-day affairs and management of the Company. As a consequence, T.C. Leung and David YL Leung can have the Company managed in a manner that would be in their own interests and not in the interests of the other shareholders of the Company. See &#8211; Item 6. &#8220;Directors, Senior Management and Employees&#8221; and Item 7. &#8220;Major Shareholders and Related Party Transactions.&#8221;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>The Company does not control certain joint ventures or associated companies in which it holds interests or invests, which could limit Company&#8217;s ability to identify and manage risks.</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The Company holds interests and has invested, and may continue to hold interests and invest, in joint ventures or associated companies in which it has a non-controlling interest; for example, Zhejiang Tianlan Environmental Protection Technology Co., Ltd. In these cases, Company has limited influence over, and limited or no control of, the governance, performance and cost of operations of such entities. Some of these entities may represent significant investments and potentially also use the Company&#8217;s brand. These entities that Company does not control may make business, financial or investment decisions contrary to Company&#8217;s interests or may make decisions different from those that Company itself may have made. Additionally, Company&#8217;s partners or members of a joint venture or associated company may not be able to meet their financial or other obligations, which could expose Company to additional financial or other obligations, as well as having a material adverse effect on the value of its investments in those entities or potentially subjecting Company to additional claims.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>The Company&#8217;s inability to secure and maintain intellectual property rights for products, whilst maintaining overall competitiveness, could have a material adverse effect on its results.</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The Company is dependent on its ability to obtain and maintain trademarks, patents, licenses and other intellectual property (IP) rights covering its products and its design and manufacturing processes. The IP portfolio is the result of an extensive patenting process that could be influenced by a number of factors, including innovation. The value of the IP portfolio is dependent on the successful promotion and market acceptance of standards developed or co-developed by Company. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">27</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Failure to deal effectively with fraudulent or illegal activities by our employees, business partners or service providers would harm our business.</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Illegal, fraudulent, corrupt or collusive activities or misconduct, whether actual or perceived, by our employees, representatives, agents, business partners or service providers could subject us to liability or negative publicity, which could severely damage our brand and reputation. We have implemented and continue to improve internal controls and policies with regard to the review and approval of merchant accounts, interactions with business partners and government officials, account management, sales activities, data security and other relevant matters. However, there can be no assurance that our controls and policies will prevent fraud, corrupt or illegal activity or misconduct by our employees, representatives, agents, business partners or service providers or that similar incidents will not occur in the future. Alleged or actual failure to comply or ensure our employees, representatives, agents, business partners and service providers to comply with these requirements could subject us to regulatory investigations and liabilities, which would materially and adversely affect our business operations, customer relationships, reputation and the trading prices of our shares.<strong> </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Security breaches and attacks against our systems and network, and any potentially resulting breach or failure to otherwise protect personal, confidential and proprietary information, could damage our reputation and negatively impact our business, as well as materially and adversely affect our financial condition and results of operations.</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Our cybersecurity measures may not detect, prevent or control all attempts to compromise our systems or risks to our systems, including distributed denial-of-service attacks, viruses, Trojan horses, malicious software, break-ins, phishing attacks, third-party manipulation, security breaches, employee misconduct or negligence or other attacks, risks, data leakage and similar disruptions that may jeopardize the security of data stored in and transmitted by our systems or that we otherwise maintain. Moreover, if we fail to implement adequate encryption of data transmitted through the networks of the telecommunications and Internet operators we rely upon, there is a risk that telecommunications and Internet operators or their business partners may misappropriate our data. Breaches or failures of our cybersecurity measures could result in unauthorized access to our systems, misappropriation of information or data, deletion or modification of user information, or denial-of-service or other interruptions to our business operations. If the security of domain names is compromised, we will be unable to use the domain names in our business operations.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">We may not have the resources or technical sophistication to anticipate or prevent rapidly evolving cyber-attacks. As techniques used to obtain unauthorized access to or sabotage systems change frequently and may not be known until launched against us, there can be no assurance that we will be able to anticipate, or implement adequate measures to protect against, these attacks. We could also be subject to an attack, breach or leakage, which we do not discover at the time or the consequences of which are not apparent until a later point in time. We do not carry any cybersecurity insurance and actual or anticipated attacks and risks may cause us to incur significantly higher costs, including costs to deploy additional personnel and network protection technologies, train employees, and engage third-party experts and consultants.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Cyber-attacks and security breaches could subject us to negative publicity, regulatory investigations and significant legal and financial liability, harm our reputation and result in substantial revenue loss from lost sales and customer dissatisfaction, materially decrease our revenue and net income, and negatively affect the trading prices of our shares.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Environmental Compliance: The costs of complying with evolving regulatory requirements could negatively impact the Company&#8217;s financial results. Actual or alleged violations of environmental laws or permit requirements could result in restrictions or prohibitions on plant operations, substantial civil or criminal sanctions, as well as the assessment of strict liability and/or joint and several liability.</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The Company may be subject to local laws, regulations, rules and ordinances relating to pollution, protection of the environment, greenhouse gas emissions, and the generation, storage, handling, transportation, treatment, disposal and remediation of hazardous substances and waste materials. In addition, the Company may have costs related to environmental remediation and restoration obligations associated with past and current sites as well as related to the Company&#8217;s past or current waste disposal practices or other hazardous materials handling. Although management will estimate and accrue liabilities for these obligations, it is reasonably possible that the Company&#8217;s ultimate cost with respect to these matters could be significantly higher, which could negatively impact the Company&#8217;s financial condition and results of operations. Costs and capital expenditures relating to environmental, health or safety matters are subject to evolving regulatory requirements and depend on the timing of the promulgation and enforcement of specific standards which impose the requirements. Moreover, changes in environmental regulations could inhibit or interrupt the Company&#8217;s operations, or require modifications to its facilities. Accordingly, environmental, health or safety regulatory matters could result in significant unanticipated costs or liabilities. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">28</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Health and Safety: Increased concerns regarding the safe use of chemicals and plastics in commerce and their potential impact on the environment as well as perceived impacts of plant biotechnology on health and the environment have resulted in more restrictive regulations and could lead to new regulations.</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Concerns regarding the safe use of chemicals and plastics in commerce and their potential impact on health and the environment and the perceived impacts of plant biotechnology on health and the environment reflect a growing trend in societal demands for increasing levels of product safety and environmental protection. These concerns could manifest themselves in stockholder proposals, preferred purchasing, delays or failures in obtaining or retaining regulatory approvals, delayed product launches, lack of market acceptance and continued pressure for more stringent regulatory intervention and litigation. These concerns could also influence public perceptions, the viability or continued sales of certain of the Company&#8217;s products, the Company&#8217;s reputation and the cost to comply with regulations. In addition, terrorist attacks and natural disasters have increased concerns about the security and safety of chemical production and distribution. These concerns could have a negative impact on the Company&#8217;s results of operations.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Far East receive</strong><strong>d</strong><strong> rental income from a property whose title has not yet been obtained by Far East from the PRC authority, which may result in legal proceedings and associated costs, expenses and liabilities.&#160; </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Far East received rental income on a property located in Beijing, China pursuant to relevant lease agreements. The latest&#160;lease agreement relating to such property has expired in November, 2024. Far East has made payment for the purchase of such property, but has not successfully obtained Certificate of Real Estate Ownership or title of such property from the PRC authority. The property&#8217;s book value as of December 31, 2024 was approximately US$76,000. Far East has made an effort to request the developer of the property to assist with obtaining the title, but those efforts have failed. Far East is still investigating various ways to obtain the title but has not formulated a specific plan as of the date of this Annual Report. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">In connection with the above, if the property is to be disposed, it is likely that Far East&#8217;s title to the property will be challenged, and in such case the Company and/or Far East will need to incur additional costs and expenses to confirm and defend its title to the property and the rental income it has collected. There is no assurance that Far East will succeed in its efforts to obtain the title to the property and the rental income it has collected. Far East&#8217;s failure in this regard could have material adverse effect on the Company&#8217;s financial position, results of operations,&#160;and&#160;cash flow.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Certain Legal Consequences of Incorporation in the British Virgin Islands; Rights of Shareholders Not As Extensive As In U.S. Corporations.</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Principles of British Virgin Islands (&#8220;BVI&#8221;) corporate law relating to such matters as the validity of the Company procedures, the fiduciary duties of management and the rights of the Company&#8217;s shareholders may differ from those that would apply if the Company were incorporated in a jurisdiction within the United States.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The rights of shareholders under BVI law are not as extensive as the rights of shareholders under legislation or judicial precedent in many United States jurisdictions. Under United States law, majority and controlling shareholders generally have certain &#8220;fiduciary&#8221; responsibilities to the minority shareholders. United States shareholder action must be taken in good faith and actions by controlling shareholders in a United States jurisdiction and executive compensation which are obviously unreasonable may be declared null and void.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The BVI law protecting the interests of the minority shareholders is not as protective in all circumstances as the law protecting minority shareholders in United States jurisdictions. The shareholders of the Company may have more difficulty in protecting their interests in the face of actions by the Company&#8217;s Board of Directors, and may have more limited rights, than they might have as shareholders of a company incorporated in many United States jurisdictions.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Anti-Takeover Provisions.</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The Company has 5,000,000 shares of &#8220;blank check preferred stock&#8221; authorized. The &#8220;blank check preferred stock&#8221; is intended to strengthen the Company&#8217;s ability to resist an unsolicited takeover bid and may be deemed to have an anti-takeover effect. The Board of Directors has the right to fix the rights, terms and preferences at the time of issue of &#8220;blank check preferred stock&#8221; without further action by our shareholders.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">29</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Uncertainty of Enforcing United States Judgments.</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">There is some uncertainty whether BVI courts would enforce judgments of the courts of the United States and of other foreign jurisdictions, or enforce actions brought in the BVI which are based upon the securities laws of the United States. A final monetary judgment obtained in the United States will be treated as a cause of action in itself by the BVI courts so that no retrial of the issues would be necessary, provided that material preconditions are met and the proceedings pursuant to which judgment was obtained were not contrary to the rules of natural justice.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">All of the Company&#8217;s directors and executive officers reside outside of the United States, service of process upon the Company and such persons may be difficult to effect in the United States upon all such directors and officers.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">All of the Company&#8217;s assets are and will be located outside of the United States, in Hong Kong and the PRC, and any judgment obtained in the United States may not be enforced in those jurisdictions. Hong Kong courts will not directly enforce against the Company or such persons judgments obtained in the United States. There is also substantial doubt as to the enforceability in the PRC of actions to enforce judgments of the United States&#8217; courts arising out of or based on the ownership of the securities, including judgments arising out of or based on the civil liability provisions of United States federal or state securities laws or otherwise. See &#8212; &#8220;Certain Legal Consequences of Incorporation in the British Virgin Islands; Rights of Shareholders Not As Extensive As In U.S. Corporations.&#8221;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Being a Foreign Private Issuer Exempts Us from Certain SEC and NASDAQ Stock Market (&#8220;NASDAQ&#8221;) Requirements.</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">We are a foreign private issuer within the meaning of rules promulgated under the Securities Exchange Act of 1934 (the &#8220;Exchange Act&#8221;). As such, with certain limitations, we are exempt from certain provisions applicable to United States public companies including: (1) the rules under the Exchange Act requiring the filing with the Commission of quarterly reports on Form 10-Q or current reports on Form 8-K; (2) the sections of the Exchange Act regulating the solicitation of proxies, consents or authorizations in respect of a security registered under the Exchange Act; (3) the provisions of Regulation FD aimed at preventing issuers from making selective disclosures of material information; and (4) the sections of the Exchange Act requiring insiders to file public reports of their stock ownership and trading activities and establishing insider liability for profits realized from any &#8220;short-swing&#8221; trading transaction (i.e., a purchase and sale, or sale and purchase, of the issuer&#8217;s equity securities within less than six months). Because of these exemptions, investors are not afforded the same protections or information generally available to investors holding shares in public companies organized in the United States.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Our Securities Must Continue To Meet Qualitative And Quantitative Listing Maintenance Criteria For NASDAQ; Previous Deficiency Cured.</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Our securities are quoted and traded on NASDAQ. There can be no assurance that we will continue to meet both the qualitative and quantitative criteria for continued quotation and trading of our securities on NASDAQ. One of NASDAQ&#8217;s listing requirements is the maintenance of a closing bid price of US$ 1.00 per share. During periods of time in 2008 and 2009 the Company was not in compliance with that requirement but NASDAQ had generally suspended that requirement and others due to market conditions and/or the US$1.00 per share bid price was not met for a sufficient period of time to cause a NASDAQ deficiency action.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">On September 20, 2011, the Company was notified by NASDAQ that it was not in compliance with NASDAQ&#8217;s listing maintenance rule for failing to have a bid price of at least US$1.00 per share for the prior thirty trading days. In January 2012, the Company effected a combination or reverse stock split of its issued ordinary shares, and thereafter, in February 2012, the Company received a letter from NASDAQ advising that it had regained compliance with NASDAQ&#8217;s maintenance listing requirements.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">30</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">No assurance can be given that we will continue to meet applicable NASDAQ continued listing standards. Failure to meet applicable NASDAQ continued listing standards could result in a delisting of our common stock. A delisting of our common stock from NASDAQ could materially reduce the liquidity of our common stock and result in a corresponding material reduction in the price of our common stock. In addition, delisting could harm our ability to raise capital through alternative financing sources on terms acceptable to us, or at all, and may result in the potential loss of confidence by investors, employees and fewer business development opportunities. See&#8212; &#8220;We Are Also Required To Meet Certain, But Not All Corporate Governance Criteria Applicable to NASDAQ Listed Issuers.&#8221;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>We Are Also Required To Meet Certain, But Not All, Corporate Governance Criteria Applicable To NASDAQ Listed Issuers.</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Although, in the past, we have been able to satisfy corporate governance criteria applicable to NASDAQ listed issuers, those criteria are difficult to comply with and include, among other things: (a) a heightened degree of independence of members of the board of directors with independent directors to, among other things: hold regular meetings among themselves only; (b) establishment of a code of conduct addressing compliance with laws; and (c) a limit on payments to independent directors and their family members (other than for services on the board of directors).</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">These corporate governance requirements and a strict definition of &#8220;independent director&#8221; make it more difficult to find independent directors for our Board of Directors. There is intense competition for qualified independent directors, including those persons with accounting experience and financial statement acumen to serve on audit committees. We believe that continued compliance with the corporate governance requirements applicable to NASDAQ listed issuers may be difficult and increase our costs and expenses as the costs of finding and compensating independent directors escalate and the costs of administering their new powers and responsibilities is an added financial burden. If we are unable to attract and keep a sufficient number of independent directors willing to take on the responsibilities imposed by such rules on what we believe to be commercially reasonable terms, our securities may be delisted from NASDAQ. See&#8212; &#8220;Being a &#8216;Controlled Company&#8217; Exempts Us from Certain Other Corporate Governance Criteria Applicable to NASDAQ Listed Issuers.&#8221;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em><strong>Being A &#8220;Controlled Company&#8221; Exempts Us From Certain Other Corporate Governance Criteria Applicable To NASDAQ Listed Issuers.</strong></em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">As a result of T.C. Leung, the Company&#8217;s Chairman of the Board, beneficially owning the majority voting power of our ordinary shares, we are a &#8220;controlled company&#8221; as that term is defined in rules and regulations applicable to NASDAQ listed issuers. As a &#8220;controlled company,&#8221; we are not required to comply with certain NASDAQ corporate governance criteria including, among other things, the requirements that the majority of our Board be independent directors, and their having the authority to approve director nominations and executive officer compensation.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em><strong>We are not subject to various corporate governance measures, which may result in shareholders having limited protections.</strong></em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The Sarbanes-Oxley Act of 2002 (&#8220;SOX&#8221;), has resulted in the adoption of various corporate governance measures by securities exchanges and NASDAQ designed to promote the integrity of the corporate management and the securities markets. Being a &#8220;controlled company,&#8221; we are exempt from many, but not all, of those requirements. Furthermore, the absence of such practices with respect to our Company may leave our shareholders without protections against interested director transactions, conflicts of interest and similar matters.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em><strong>We may be exposed to potential risks relating to our internal controls over financial reporting.</strong></em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Pursuant to Section 404 of SOX, the SEC adopted rules requiring public companies to include a report of management on the Company&#8217;s internal controls over financial reporting in their annual reports, including Form 20-F.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">31</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">We expend significant resources in developing and maintaining the necessary documentation and testing procedures required by SOX, there is a risk that we will not maintain compliance with all of these requirements.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">In the event we identify significant deficiencies or material weaknesses in our internal controls that we cannot remediate in a timely manner our ability to obtain equity or debt financing could suffer and the market price of our shares could decline.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em><strong>The market price of our ordinary shares may be volatile or may decline regardless of our operating performance, and you may not be able to resell your shares at or above the price you paid.</strong></em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The trading price for our ordinary shares may be volatile and could fluctuate widely in response to a variety of factors, many of which are beyond our control. This may happen because of broad market and industry factors, including the performance and fluctuation of the market prices of other companies with business operations located in China that have listed their securities in the United States. The trading performances of these other companies&#8217; securities may affect the attitudes of investors toward similar companies listed in the United States, which consequently may impact the trading performance of our ordinary shares, regardless of our actual operating performance. In addition, any negative news or perceptions about inadequate corporate governance practices or fraudulent accounting, corporate structure or matters of these other companies may also negatively affect the attitudes of investors towards companies with business operations in China in general, including us, regardless of our conduct. The market price of our ordinary shares may fluctuate significantly in response to numerous factors, many of which are beyond our control, including:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="width:4%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">changes in the general environment and the outlook of the segments in which we operate;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">regulatory developments in the segments in which we operate;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">actual or anticipated fluctuations in our half yearly or annual results of operations;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">changes in financial estimates by securities research analysts;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">negative market studies or reports;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">changes in performance and valuation of our peer or comparable companies;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">announcements by us or our competitors of new services, acquisitions, strategic relationships, joint ventures or capital commitments;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">changes in pricing we or our competitors adopt;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">changes in our senior management;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">litigation and regulatory allegations or proceedings that involve us or our ecosystem participants;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">sales or anticipated sales of additional ordinary shares; and</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">fluctuations in the exchange rate between the Renminbi and the U.S. Dollar.</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">In addition, the securities markets in the United States, China and elsewhere have from time to time experienced significant price and volume fluctuations that are not related to the operating performance of particular companies. These market fluctuations may also materially and adversely affect the market price of the ordinary shares.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em><strong>There are risks in purchasing low-priced securities.</strong></em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">If our securities were to be suspended or delisted from NASDAQ, they could be subject to rules under the Exchange Act which impose additional sales practice requirements on broker-dealers who sell such securities to persons other than established clients and &#8220;accredited investors.&#8221; For transactions covered by such rules, a broker-dealer must make a special suitability determination of the purchaser and have received the purchaser&#8217;s written consent to the transaction prior to the sale. Consequently, such rules may affect the ability of broker-dealers to sell our securities and the ability to sell any of our securities in any secondary market that may develop for such securities. In the event our securities are no longer listed on NASDAQ or are not otherwise exempt from the provisions of the SEC&#8217;s &#8220;penny stock&#8221; rules, such rules may also affect the ability of broker-dealers and investors to sell our securities.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">32</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em><strong>We may be considered to be a passive foreign investment company for the 202</strong></em><em><strong>4</strong></em><em><strong> calendar year and may be a passive foreign investment company for future years, which would result in adverse U.S. federal income tax consequences to U.S. holders of our ordinary shares. </strong></em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">A non-U.S. corporation will be considered a passive foreign investment company (&#8220;PFIC&#8221;) for U.S. federal income tax purposes, for any taxable year if either (i) at least 75% of its gross income for such taxable year is passive income or (ii) at least 50% of the value of its assets (based on an average of the quarterly values of the assets during a taxable year) is attributable to assets that produce or are held for the production of passive income. The annual PFIC determination to be made by a U.S. holder of our ordinary shares is an inherently factual determination based upon the application of complex U.S. federal income tax rules (which are subject to differing interpretations), the composition of our income and assets from time to time, and the nature of the activities performed by our officers and employees. We currently hold a substantial amount of cash and cash equivalents, and investments in PRC enterprises, and the value of our goodwill and other assets may be based in part on the market price of our ordinary shares, which has experienced significant fluctuations.<em><strong> </strong></em>Although the determination of PFIC status is subject to factual uncertainties because it depends upon the valuation of our ordinary shares, as well as our goodwill and other assets and income, and because there are uncertainties in the application of the relevant rules, we are uncertain if we would be considered to be a PFIC for 2024. In addition, as the determination of PFIC status is made on an annual basis and depends on variables over which we have limited control, there can be no assurance that we will not be a PFIC for 2025 or any future years. If we are a PFIC in any year, a U.S. holder may be subject to certain adverse United States federal income tax consequences, and is urged to consult with his, her or its tax advisor. See&#8212; <em>Item 10. &#8220;Taxation&#8212;United States Federal Income Taxation</em>.&#8221;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em><strong>If we become directly subject to the recent scrutiny involving U.S.-listed Chinese companies, we may have to expend significant resources to investigate and/or defend the matter, which could harm our business operations, stock price and reputation and could result in a complete loss of your investment in us.</strong></em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">U.S. listed companies that have substantial operations in China have been the subject of intense scrutiny by investors, financial commentators and regulatory agencies. Much of the scrutiny has centered on financial and accounting irregularities and mistakes, a lack of effective internal controls over financial reporting and, in many cases, allegations of fraud. As a result of the scrutiny, the publicly traded stock of many U.S. listed China-based companies that have been the subject of such scrutiny has sharply decreased in value. Many of these companies are now subject to shareholder lawsuits and/or SEC enforcement actions that are conducting internal and/or external investigations into the allegations. If we become the subject of any unwarranted scrutiny, even allegations that are not true, we may have to expend significant resources to investigate such allegations and/or defend the Company. Such investigations or allegations will be costly and time-consuming and distract our management from our business plan and could result in our reputation being harmed and our stock price could decline as a result of such allegations, regardless of the truthfulness of the allegations.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><span class="atag" style="display: inline" id="IT4">ITEM 4. INFORMATION ON THE COMPANY</span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>A. HISTORY AND DEVELOPMENT OF THE COMPANY</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The Company was organized under the laws of the BVI on September 30, 1996 for the purposes of raising capital and for acquiring all the outstanding capital stock of Euro Tech (Far East) Limited (&#8220;Far East&#8221;), a Hong Kong corporation. In March 1997, the Company acquired all the issued and outstanding capital stock of Far East and Far East became a wholly-owned subsidiary of the Company. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">33</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Yixing Pact Environmental Technology Company Limited, a Chinese company (&#8220;Yixing&#8221;) and Pact Asia Pacific Limited, a BVI company (&#8220;Pact,&#8221; collectively with &#8220;Yixing&#8221;, &#8220;Pact-Yixing&#8221;) became Far East&#8217;s majority-owned subsidiaries in 2005. We acquired additional two percent (2%) and five percent (5%) equity interests in Pact and Yixing in January 2010 and July 2011, respectively, through Far East. Since then, Far East has been the holder of fifty-eight percent (58%) equity interests in Pact and Yixing respectively. In 2020, Pact-Yixing successfully developed and launched a ballast water port solution system for ship vessels and port harbors. This positions Pact-Yixing to be one of the first few companies in Asia capable of developing and selling such system for commercial use in the port and harbor sector. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Far East also owns a 19.4% equity interest in Zhejiang Tianlan Environmental Protection Technology Co. Ltd. (&#8220;Blue Sky&#8221;), founded in 2000. Blue Sky provides design and general contracting services, equipment manufacturing, installation, testing and operation management for the purification treatment of industrial waste gases (specifically as desulphurization, flue gas de-nitration, dust removal) emitted from various boilers and industrial furnaces of power plants, steelworks and chemical plants. By securing an equity stake in Blue Sky&#8217;s business, we have a strategic partner to work within China&#8217;s environmental protection business. With Blue Sky&#8217;s technology and technical support, we believe we are able to provide services and environmental solutions not only for water and waste-water treatment but also for air pollution control for industrial clients in China. Blue Sky&#8217;s revenue increased in Fiscal 2022 as compared to Fiscal 2021, decreased in Fiscal 2023 as compared to Fiscal 2022, and increased in Fiscal 2024 as compared to Fiscal 2023. Blue Sky&#8217;s net income increased in Fiscal 2022 as compared to Fiscal 2021, increased in Fiscal 2023 as compared to Fiscal 2022, and decreased in Fiscal 2024 as compared to Fiscal 2023. Blue Sky listed its shares on the New Third Board in the PRC since November 17, 2015. It suspended trading from August 15, 2017 and resumed trading on February 2, 2018.&#160; It suspended trading from November 24, 2020 and resumed trading on January 6, 2021. The New Third Board in the PRC, a national over-the-counter market in the PRC regulated by the China Securities Regulatory Commission, serves as a trading platform for small and medium-sized enterprises. Any new issuance of Blue Sky&#8217;s shares on the New Third Board will dilute our ownership in Blue Sky. On the other hand, the New Third Board provides us with an exit channel to sell our position in Blue Sky if the price is attractive.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">In Fiscal 2024, Blue Sky made an income contribution of US$398,000 to the Company. In Fiscal 2023, Blue Sky made an income contribution of US$1,927,000 to the Company. The source of such income contribution in Fiscal 2023 consisted primarily of non-recurrent income from the disposal of 2 desulfurization treatment plants for a &#8220;Build-operate-transfer&#8221; project located in Shanxi, China. In Fiscal 2022, Blue Sky made an income contribution of US$413,000 to the Company. The source of such income contribution in Fiscal 2022 was operating income. China&#8217;s 14th Five Year Plan promotes a cleaner and greener economy, with strong commitments to environmental management and protection, clean energy and emissions controls, ecological protection and security, and the development of green industries. This demonstrates a clear focus on charting a sustainable course for the economy in the long-term and the desire to play a global role in curbing greenhouse gas emissions. Thus, management believes the development in the Chinese government policy may benefit our business as well as the business of its affiliate, Blue Sky.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">We previously had a 20% equity interest in Zhejiang Jia Huan Electronic Co. Ltd., a company incorporated in the PRC (&#8220;Jia Huan&#8221;), with total cost of investment US$2,486,000. On March 5, 2018, we entered into an Equity Transfer Agreement to sell this 20% equity stake of Jia Huan for a purchase price of RMB31,312,500 to Ms. Jin Lijuan (the &#8220;Purchaser&#8221;), the wife of the holder of the remaining 80% equity stake of Jia Huan. In accordance with the terms of the relevant agreement, all approvals and registrations with the relevant governmental authorities were obtained, the closing of the transaction has been completed, and the Purchaser paid the purchase price to us in full in May 2018. As a result, we recognized a net gain of US$1,522,000 on the disposal of our equity interest in Jia Huan.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">We dissolved Chongqing Euro Tech Rizhi Technology Co., Ltd., Rizhi Euro Tech Instrument (Shaanxi) Co., Ltd. and Guangzhou Euro Tech Environmental Equipment Co., Ltd. in 2019. We closed the representative sales office of Shanghai Euro Tech Limited located in Beijing in January 2021. We dissolved Shanghai Euro Tech Environmental Engineering Company Ltd. (&#8220;Shanghai Environmental&#8221;) on July 2, 2021, in order to avoid duplication of costs and efforts as we have a 58% equity interest in Pact-Yixing which operate similar business activities. Before its dissolution, Shanghai Environmental was our wholly-owned subsidiary organized under the laws of the PRC and its principal business was water and waste-water treatment engineering business. It was established to carry on our environmental engineering department with that line of business and its personnel transferred from our subsidiary, Far East. We also ceased the active business operations of ETTS and SET in 2021 and 2022 respectively and eventually deregistered SET in 2024. Before it ceased its active business operations, SET engaged in the manufacturing of analytical and testing instruments. However SET incurred losses from its business during the few years prior to the cessation of its operations, therefore we made the decision to cease its active business operations. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">We incorporated Euro Tech Global as a wholly-owned subsidiary in 2025. Euro Tech Global holds 100% of the shares of Far East. We also incorporated Pact Singapore in 2024. Far East holds 58% of the shares of Pact Singapore. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">34</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Our principal place of business is located at Unit D, 18/F., Gee Chang Hong Centre, 65 Wong Chuk Hang Road, Hong Kong, China and the telephone number is 852-28140311. The SEC maintains an Internet site that contains reports, proxy and other information regarding issuers that file electronically with the SEC (such as the Company) and the address of that site is <span style="text-decoration:underline">http://www.sec.gov</span>. The Company maintains a website at http://www.euro-tech.com. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>B. BUSINESS OVERVIEW</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Principal Activities</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The Company has primarily been a distributor of a wide range of advanced water treatment equipment, laboratory instruments, analyzers, test kits and related supplies and power generation equipment (including recorders and power quality analyzers). The Company acts as an exclusive or non-exclusive distributor for well-known manufacturers of such equipment, primarily to commercial customers and governmental agencies or instrumentalities in Hong Kong and mainland China, but also to commercial customers in certain other regions such as Macau. The Company distributes products primarily through Far East, its wholly-owned subsidiary in Hong Kong. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">For the past three financial years, the Company&#8217;s main categories of products distributed by Far East include : </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:8%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="width:4%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Laboratory instruments, analyzers and test kits are used to analyze the chemical content and ascertain the level of impurities or other contaminants in water. The Company distributes analytical re-agents and chemicals to support testing systems of laboratory and portable instruments, process analyzers and portable test kits and assist in the analysis process. The Company offers a wide variety of test kits to test water quality. The Company believes that these portable test kits are easy to use and pre-adapted for rugged field use. These test kits are used to monitor drinking water distribution systems.</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Laboratory and portable instruments generally consist of analytical instruments including, but not limited to the following: spectrophotometers, colorimeters, turbidimeters, ion-selective electrodes, chemical oxygen demand apparati, digestion apparati, and precision re-agent dispensing devices which are used to test and monitor impurities and contaminants in water systems. See &#8211; &#8220;Glossary.&#8221;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Company also distributes continuous-reading process analyzers, process turbidimeters, pH controllers and analyzer accessories. These products are generally used to monitor and control drinking water quality to ensure that water treatment procedures comply with regulatory standards. See &#8211; &#8220;Glossary.&#8221;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Yixing, in which Far East holds 58% equity interests, provides customers with solutions to engineering problems as well as ballast water treatment technology. Yixing conducts industrial water and waste-water treatment projects, mostly for large multinational manufacturing facilities located in the PRC that are run by companies based in the U.S., Europe and Japan. Yixing also conducts process design projects for its clients. With respect to the process design projects, the procedures involving mechanical and electrical engineering are completed in-house and the procedures involving manufacturing are contracted to approved fabricators of components. Fabrication drawings are also done in-house for submittal to said fabricators under the supervision of Yixing&#8217;s quality control engineers. Yixing&#8217;s clients come from a varied spectrum of industries covering semiconductor, pharmaceutical, petrochemicals, auto and auto parts, steel, food and beverage and beauty products.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">35</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The water and waste-water treatment processes applied at Yixing cover chemical, physical, biological and membrane separation. Combinations of those processes are normally used to treat a specific industrial process feed or effluent. With respect to the water treatment side of Yixing&#8217;s business, they design and build filtration equipment, ion-exchange softeners and demineralizers, reverse osmosis, electro-deionization, chemical treatment systems and package type mobile water treatment plants. As for waste-water treatment, Yixing design and build biological treatment systems, oil coalescers, dissolved air flotation, lamella clarifiers, chemical reactor tanks, ultrafiltration, microfiltration, dewatering systems and package type mobile sewage treatment plants. Biological treatment plants cover both aerobic and anaerobic processes. State-of-the-art aerobic processes of SBR (sequential batch reactors) and MBR (membrane biological reactors) are technologies also covered by Yixing. See &#8211; &#8220;Glossary.&#8221;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Revenues from our trading activities have decreased in the past few years as a substantial number of our suppliers have been selling their products into China directly and through other distributors. Many of these other distributors are local Chinese companies and can operate with a lower overhead.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Therefore, we have been in a process of shifting our emphasis from the distribution of instruments and equipment to engineering and manufacturing activities. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Notably, Pact-Yixing manufactures its own self-developed BWTS for maritime industry, it includes shipowners, shipyard, and port harbours operators, etc.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">In 2020, Pact-Yixing sold the first ballast water port solution system for commercial sale. This positions Pact-Yixing to be one of the first few companies that can complete ballast water port solution system in Asia. Pact-Yixing will continue promoting this technology for commercial sale to companies located in countries participating in the Belt and Road Initiative as well as certain maritime cities in the Middle East, Southeast Asia and Europe, etc. Pact-Yixing will focus on promoting two ballast water product lines, including on-board shipping application and mobile port ballast water treatment reception facilities application.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">With this new development, we plan to gradually transform ourselves from a company that is heavily reliant engineering and manufacturing, to a technology driven company. We will continue to identify potential new markets for more business opportunities, given that we believe our development of the ballast water port solution system can address the pain point in certain markets. We will also continue to look for distributors and partners located in Asian countries to promote our ballast water treatment system products and EPC water treatment / equipment services. We may seek additional capital through various means to fund our development. While our efforts to refine and promote the new development may incur additional cost and expenses and impact our results of operations in the short term, we believe it will, in the long run, provides the Company with more competitive advantage.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">During Fiscal 2021, there was slight increase in revenues from trading and manufacturing activities. In Fiscal 2021, revenue from Pact-Yixing in 2021 was US$12,161,000, while Shanghai Environmental had an operating income of US$106,000. In addition, we incurred research and development costs of US$61,000 in 2021 relating to BWTS and Pact-Yixing had an operating income of US$739,000. This resulted in operating income from engineering activities of US$846,000 in Fiscal 2021. We dissolved Shanghai Environmental in 2021. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">During Fiscal 2022, there was slight decrease in revenues from trading and manufacturing activities. Revenue from Pact-Yixing in Fiscal 2022 was US$5,617,000. Pact-Yixing had an operating income of US$590,000 from engineering activities in Fiscal 2022. We ceased the operation of Shanghai Euro Tech Limited and ETTS in 2022.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">During Fiscal 2023, there was increase in revenues from trading and manufacturing activities. Revenue from Pact-Yixing in 2023 was US$5,797,000. In Fiscal 2023, Pact-Yixing had an operating loss of US$438,000 from engineering activities.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">During Fiscal 2024, there was decrease in revenues from trading and manufacturing activities. Revenue from Pact-Yixing in 2024 was US$5,834,000. In Fiscal 2024, Pact-Yixing had an operating income of US$273,000 from engineering activities. We deregistered Shanghai Euro Tech Limited in 2024 and Pact ceased its active business operations in 2024.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">36</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Principal Markets: Mainland China and Hong Kong</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The Company&#8217;s operations are located almost entirely within, and revenues are almost entirely generated from mainland China and Hong Kong. Set forth below are the approximate percentage of the Company&#8217;s revenue from customers in mainland China and Hong Kong for the fiscal years indicated:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Fiscal Year</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Mainland China</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Hong Kong</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">2022</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">39</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">48</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">2023</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">40</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">55</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">2024</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">42</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">44</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">Sales to customers situated in Macau and elsewhere through Fiscal 2022, Fiscal 2023 and Fiscal 2024 were 13%, 5% and 14% respectively. This makes the Company particularly susceptible to changes in the political and economic climate of either mainland China or Hong Kong.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;"><strong>Hong Kong.</strong> Hong Kong has been one of the prime centers for commercial activity and economic development recently in Southeast Asia. On July 1, 1997, sovereignty over Hong Kong was transferred from the United Kingdom to the PRC. As provided in the Sino-British Joint Declaration and the Basic Law, Hong Kong is given a high degree of autonomy except in foreign and defense affairs. The Basic Law provides that Hong Kong is to have its own legislature, legal and judicial system and full economic autonomy for 50 years after the transfer of sovereignty. Based on the current political conditions and the Company&#8217;s understanding of the Basic Law, the Company does not believe that the transfer of sovereignty over Hong Kong has had or will have an adverse impact on its financial and operating environment. Although the Chinese government has pledged to maintain the economic and political autonomy of Hong Kong over its internal affairs, there is no assurance that such pledge will continue to be honored if there are changes in the Chinese political or economic climate. Revenue in Hong Kong, expressed as a percentage of our revenue, increased by 11% in Fiscal 2022 as compared with Fiscal 2021 because of a decrease in revenue in mainland China, increased by 7% in Fiscal 2023 as compared with Fiscal 2022, and decreased by 11% in Fiscal 2024 as compared with Fiscal 2023. See &#8211; Item 3D. &#8220;Key Information &#8212; Risk Factors.&#8221; </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;"><strong>PRC.</strong> The PRC has been a socialist state since 1949. For more than half a century, the PRC&#8217;s economy has been, and presently continues to be, a socialist economy operating under government controls promulgated under various state plans adopted by central Chinese government authorities and implemented, to a large extent, by provincial and local authorities who may set production and development targets. However, since approximately the early 1980s, the PRC&#8217;s national government has undertaken certain reforms to permit greater provincial and local economic autonomy and private economic activities. Any change in political or economic conditions may substantially adversely affect these reform initiatives and, in turn, the Company. Revenue in mainland China, expressed as a percentage of total revenue, decreased by 23% in Fiscal 2022 as compared with Fiscal 2021 because of a decrease in revenue from&#160;completion of engineering projects in mainland China, increased by 1% in Fiscal 2023 as compared with Fiscal 2022, and increased by 2% in Fiscal 2024 as compared with Fiscal 2023. See &#8211; Item 3D. &#8220;Key Information &#8212; Risk Factors.&#8221;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Our Growth Strategy</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">First, we are focusing our trading activities in Hong Kong, Macau and Guangdong, China. These cities are located close to our Hong Kong headquarters, which makes it easier to provide customer support to customers located in these cities. For example, traveling to these cities to serve the customers there will incur less travel expenses. Therefore it will be more cost-efficient for us to support distributorships in these cities as opposed to distributorships throughout China. We operate with a focus to control costs and enhance operational efficiency. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Second, we have been developing port solution systems and have made sales of such systems to China, Southeast Asia, Middle East, etc. The port solution system is a system installed in port to offer ballast water treatment services for ocean going ships without their own ballast water treatment system (&#8220;BWTS&#8221;) and for those with damaged BWTS. In 2018, the Company received a PRC government grant to fund the development of a prototype of ballast water port solution. We completed the development of the ballast water port solution prototype in 2019 and completed developing the system for commercial use in 2020. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">We have obtained 5 utility model patents and are applying for 1 invention patent for this port solution system in China. We continue to invest a portion of our resources to developing our BWTS for the global market. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">We have also embarked on promotional activities for port solution systems globally to explore the growing demand. For example, in 2024, we participated in four maritime tradeshows held in Singapore, Indonesia, Germany, and Turkey respectively, to promote our BWTS. In Fiscal 2020, we sold one set of BWTS for ports and one set of BWTS for ship vessels. In Fiscal 2021, we sold 4 sets BWTS for ports and 8 sets of BWTS for ship vessels. In Fiscal 2022, we did not sell any BWTS for ports, but sold 27 sets of BWTS for ship vessels, a majority of which were exported outside China. In Fiscal 2023, we sold 34 sets of BWTS for ship vessels to destinations including China, Dubai, Turkey, Thailand and Singapore, and sold a mobile containerized port BWTS reception facility unit to the subsidiary of a renowned German chemical company that is located in Zhangjiang, China. In Fiscal 2024, we sold 45 sets of BWTS for ship vessel to destinations including China, Dubai, Turkey, and Singapore, and sold a mobile containerized port BWT reception facility unit to a petrochemical port located in Lianyungang, China. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Moving forward, we will continue to promote our BWTS products that can treat ballast water at rates of 200, 300, 500, 750, 1,200 and 1,250 cubic meters per hour and port solution system. We also plan to enhance our after sales services for BWTS and maximize our core value in turnkey water related treatment solutions for maritime industry. We also plan to continue to assemble and/or manufacture additional products, and seek opportunities with our suppliers to assemble their products. However, no assurance can be given that such efforts can succeed or continue to succeed. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">37</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:45px">We will actively promote mobile ballast water port reception and treatment solutions as there is a growing market for using this onshore system for emergency and rapid treatment purposes to meet stricter local environmental regulations. This is especially important in regions experiencing high congestion at ports.</p><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:45px">Finally, we also plan to explore not just the BWTS market, but also the industrial wastewater market. We incorporated Pact Singapore with an intent to further explore the Southeast Asia region and the industrial wastewater market. The reasons for us to believe this new move may open up new market for us is because Singapore is one of the largest shipping hubs in the world and a environmentally conscious country. We have also observed that many foreign companies have either expanded into or relocated to Southeast Asia region, and setting up subsidiaries in Singapore, which is a regional center in the Southeast Asia region, would give us better access to this region.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Future Planning and Expansion</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">We continuously search for products and equipment with substantial market potential for design and development. For example, international shipping ballast water cargo stowaway species and microorganisms that create unpredictable ecosystem contaminations as ballast water tanks are emptied or refilled at ports of call. Pact has been attempting to develop a non-chemical BWTS since late 2010. In 2012, Pact successfully completed and passed the land-based test requirement, and, in 2014, Pact passed ship board testing and obtained CCS certification in the PRC and compliance with the IMO convention. In September 2016, the International Maritime Organization received acceptance from 52 States, representing approximately 35% of world merchant shipping tonnage. This triggered the applicability of the entry into force of the Ballast Water Management Convention, which occurred on September 8, 2017. In July 2017, IMO decided that the phase-in period for ballast water system retrofits started on September 8, 2019. The IMO convention stipulates that type approval for revised G8 requirements must be obtained for all BWTS installed on or after October 28, 2020, and we have been in compliance with such requirements. In order to expand its market coverage, we have been undergoing the procedures to apply for type approval certificates for its BWTS from a number of European and Asian Classification Societies. We have received type approval certificates from Lloyds and RINA respectively.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">We anticipate that the costs of any acquisition or product development would be drawn from our general working capital and, possibly, by seeking strategic partners such as companies in the BWM Convention shipping industries or funding raising from substantial investors, and by private sales of our securities. We have no commitments or received no indications of interest for the private sales of our securities.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Beyond our product development plan, the Company will continue to seek suitable distributors and/ or strategic partners in maritime cities or countries to capture the market growth. So far we have one strategic OEM partner in Greece which distribute our products to 20 countries in Europe. Additionally, we will expand our reach to more potential growth markets worldwide, including the Middle East and Southeast Asia regions, to diversify our business risks.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Product Distribution and Other Services</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;"><strong>Scientific Instruments</strong><em>. </em>The Company distributes analytical instruments, environmental quality monitoring instruments, sample pre-treatment equipment and general purpose laboratory instruments. Analytical instruments include, but are not limited to, chromatographs, mass spectrometers, flow injector analyzers, automated sample preparation workstations and atomic spectrometers. Environmental monitoring instruments include both air and water quality monitoring instruments. Air quality monitoring instruments are generally divided into those which monitor Ambient Air, and those which monitor pollution sources. The revenue from sales of air quality monitoring instruments is nominal as the Company has not been able to acquire a distributorship for air quality instruments from brand name manufactures that we believe engage in direct customer sales or rely on their existing distributors. Sample pre-treatment equipment is used to clean-up the sample prior to chemical analysis for checking pesticides and drug residues in food. Additionally, the Company offers general purpose laboratory instruments including a variety of water quality monitoring and analysis equipment, such as continuous reading process analyzers, process turbidimeters, pH controllers, and test kits for monitoring chemical content in water (i.e., chlorine, fluorides, etc.). See &#8211; &#8220;Glossary.&#8221;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">38</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Customers for the analytical instruments include government agencies, academic and research institutions, major laboratories and beverage producers, including analytical system to the Hong Kong Government Laboratory for analysis of persistent organic pollutants (POPs) and pesticides in the environment. Customers for water quality monitoring instruments also include government agencies. The Company derived approximately 51.6%, 60.8% and 52.6% of its revenues from the sale of scientific instruments during Fiscal 2024, 2023 and 2022 respectively.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;"><strong>Power Solutions and Process Automation Products.</strong> The Company distributes general testing and measuring equipment including multi-channel digital and analogue recorders, signal amplifiers and calibration equipment for energy conservation, renewable energy equipment, power quality analyzers and continuous emissions monitoring systems to industries including power plants, railway and aero-space industries, utilities, educational institutions and telecommunications companies.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The Company also provides process control systems specifically designed for the industrial needs of clients including sensors, temperature gauges, pressure gauges, power and energy consumption meters, flow meters, valves, temperature and pressure transmitters and control devices, temperature and pressure calibrators, moisture, power, energy and harmonic analyzers. Customers for the foregoing distributed products include government water supply agencies, water treatment facilities, power and electric companies, petrochemical plants and instrument manufacturers.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">In conjunction with the distribution of products such as programmable logic controllers, telemetry units and supervisory control and data acquisition (SCADA) systems and software, the Company also provides systems engineering to government agencies, waste-water treatment and power generation plants and beverage producers. Specific services provided include automated control system design, the operation and management of various waste-water, water and power generation projects. We endeavor to introduce, develop, and promote new and advanced technologies, products, and appropriate technical developments from abroad. We have also been cooperating with established technology companies and engage in systems and special projects in Programmable Logic Control, Telemetry unit, SCADA systems, Human Machine Interface Software and Sequential Event Recording.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The Company derived approximately 46.5%, 37.6%, and 45% of revenues from the sale of power solutions and process during Fiscal 2024, 2023, and 2022 respectively.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;"><strong>Technical Support.</strong> The Company&#8217;s technical support staff provides customers with maintenance, installation assistance, and calibration services, and assists sales personnel in giving technical advice to and performing product demonstrations for customers. The Company derived approximately 1.9%, 1.6%, and 2.4% of its revenues from technical support operations during Fiscal 2024, 2023, and 2022 respectively.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;"><strong>Customers. </strong>During Fiscal 2024, the Company distributed products to approximately 300 customers, located in Hong Kong, mainland China and Macau, such as Hong Kong Water Supplies Department, Government Laboratory, Drainage Services Department, universities, and public utilities agencies. For the year ended December 31, 2024, sales to our three largest customers amounted in the aggregate to approximately 31% of our total revenue, with one of such customers accounting for 15% of our total revenue.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">During Fiscal 2023, the Company distributed products to approximately 380 customers, located in Hong Kong, mainland China and Macau, such as Hong Kong Water Supplies Department, Government Laboratory, Drainage Services Department, universities, and public utilities agencies. For the year ended December 31, 2023, sales to our three largest customers amounted in the aggregate to approximately 31% of our total revenue, with one of such customers accounting for 14% of our total revenue.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">During Fiscal 2022, the Company distributed products to approximately 1,000 customers located in Hong Kong, mainland China and Macau, such as Hong Kong Water Supplies Department, Government Laboratory, Drainage Services Department, universities, and public utilities agencies. For the year ended December 31, 2022, sales to our three largest customers amounted in the aggregate to approximately 33% of our total revenue, with one of such customers accounting for 18% of our total revenue. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">39</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Manufacturing and Product Assembly Operations </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The Company has developed a handheld ballast water checker which is the first handheld rapid indicative compliance instrument made in China, based on well accepted PAM fluorescence Technology. The instrument is a very powerful screening tool for ship owners, compliance officers, ship builders and BWTS providers. The company was one of the few qualified local and foreign candidates to participate in China Marine Safety Administration&#8217;s (&#8220;MSA&#8221;) evaluation of indicative testing instruments to be used by Port State Control officers for compliance test according to IMO D2 standard. The unofficial reports of comparison data between our instrument and lab test results indicated that our instrument readings trend followed the actual lab test results closely. We obtained patent approval in China and got the environmental testing certificate according to Chinese Standard GB/T 11606-2007 from Shanghai Institute of Measurement and Technology. We carried out testing of this instrument at the land-based test facility of one of the Chinese National Engineering Laboratories for Ballast Water Testing and type approval according to IMO guidelines and got a certified test report from this approved laboratory. We have participated in a number of trade shows and exhibitions to promote this product, but have not received any order yet.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Sources of Supply</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The Company distributes products manufactured by some major American, European and Japanese corporations. Stanford, Thermo, Hach and Hioki are the Company&#8217;s largest suppliers, with purchases from them accounting for approximately 21%, 33%, 6% and 5% during Fiscal 2022; 23%, 42%, 7% and 5% during Fiscal 2023; and 36%, 26%, 8% and 5% during Fiscal 2024, respectively. The Company has exclusivity agreements for specified geographic areas with many of its suppliers for certain products. Those agreements do not encompass all products distributed by the Company or all of the market areas serviced by the Company. In addition, some of these agreements are memorialized not as formal contracts but rather through other acknowledgements or correspondence which may contain a vague, if any, description of the terms and conditions of such agreement or arrangement, and therefore may be unenforceable. The Company has an authorization certification (currently valid until March 31, 2026) from Thermo granting the Company rights to sell Thermo&#8217;s Mass Spec Products to the Government and hospitals in Hong Kong. The Company has an Authorization Letter from Stanford appointing the Company as Stanford&#8217;s sales representative in the PRC and Hong Kong. The Company has an Authorization Letter from Hach authorizing the Company as its&#160;distributor in Hong Kong and Macau. The Company has an Authorization Letter from Hioki appointing the Company as Hioki&#8217;s sole agent in Hong Kong and Macau. Although alternative sources of supply exist, there can be no assurance that the termination of the Company&#8217;s relationship with any of the above or other vendors would not have an adverse effect on operations.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Regulatory Environment</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Concerns about and awareness of pollution problems and environmental issues have grown at all levels of PRC government as the PRC experienced economic growth. Environmental protection laws and strict regulations have been enacted and are buttressed by increased budget allocations for environmental regulation, monitoring and enforcement. The PRC&#8217;s primary environmental protection agency is the Ministry of Ecology and Environment (&#8220;MEE&#8221;) which replaced the Ministry of Environmental Protection (&#8220;MEP&#8221;) after the 13th National People&#8217;s Congress was held in March 2018. The new streamlined ministry is a sign of China&#8217;s upgraded dedication to the task of improving its environment. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">In the 14th Five-Year Plan (2021-2025), it is stated that China will continue to promote the rectification of ecological and environmental problems and improve sewage, waste treatment and ship pollution treatment in the Yangtze River basin and the Yellow River basin, and form an environmental infrastructure network extending from cities to towns and villages. After the successful implementation of Yangzi River Basin Protection Law, MEE rolled out Yellow River Basin Protection Law in April 2023. MEE organized investigation and remediation in about four thousand wastewater discharge points in Shanxi, Inner Mongolia, Shandong, Henan, Sichuan, Shaanxi, Gansu, Qinghai and Ningxia. Focus on PM<sub style="vertical-align:sub">2.5 </sub>and Ozone control, reduction of nitrous oxide (NO<sub style="vertical-align:sub">x) </sub>and volatile organic carbons (VOCs) emission. Strengthen integrated pollution control in borders of Jiangsu, Anhui, Shandong and Henan Provinces. MEE encouraged service providers to use new technology to renovate exhaust gas especially VOCs treatment facilities. In August 2020, the PRC&#8217;s Ministry of Transport (&#8220;MT&#8221;) issued the &#8220;Measures for the Prevention and Control of Water Pollution from Inland River Vessels under 400 GT&#8221;, which requires that ships generating domestic sewage should set up treatment devices or storage facilities and equipment to prevent domestic sewage from polluting the water, and port management departments and maritime management agencies should also urge port and shipping enterprises to speed up the construction and renovation of facilities. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">40</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Subsequently, in March 2021, MT, together with MEE and other departments, issued the &#8220;Opinions on Establishing a Long-term Mechanism for the Prevention and Control of Pollution from Ships and Ports in the Yangtze River Economic Zone,&#8221; which states that China will complete such renovation involving ships to prevent domestic sewage from polluting the water by the end of May 2022, thereby implementing the relevant requirements of the Water Pollution Prevention and Control Law of PRC and the Yangtze River Protection Law of PRC. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">On January 1, 2024, the Chinese legislature implemented the Amendment to the Marine Environmental Protection Law, pursuant to which China is strengthening the supervision and management of marine environment pollution from ships in the port area. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Competition</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The Company faces competition from other distributors who distribute products similar to ours as well as the manufacturers of our products or products similar to ours in the Chinese market and elsewhere. The Company faces its principal competition from manufacturers and other distributors of its core products, which are located in Hong Kong and mainland China. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">During Fiscal 2024, 2023 and 2022, the Company&#8217;s gross profit margins were approximately 29%, 22% and 31%, respectively. The Company believes that it competes with the Chinese manufacturers on the basis of quality and technology. The Company believes the foreign-manufactured products it distributes are of higher quality and are incorporated with more advanced technology than the products manufactured by the Chinese manufacturers. The Company believes that it competes with foreign manufacturers and other distributors of similar products on the basis of the Company&#8217;s established reputation. Pact-Yixing focuses on a market of providing water and waste water treatment services to multinational companies. The Company competes in this market based upon the quality of its products and having a knowledgeable staff, but faces competition from large PRC and multinational engineering companies, that, in the Company&#8217;s view, market their services based upon lower pricing as opposed to quality of service.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Sales and Marketing</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The Company distributes products through its principal office located in Hong Kong. Our main marketing channels are through the work of our marketing and sales force. For Fiscal 2024, 2023 and 2022, the Company had a marketing and sales force consisting of 11, 7 and 7 individuals respectively. These individuals are paid a salary plus a sales-based commission. Our sales staff assists customers in selecting the equipment, auxiliary parts and products to suit customer specifications.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Major Customers</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Maintaining major customers is important to us. For the year ended December 31, 2024, sales to our three largest customers amounted in the aggregate to approximately 31% of our total revenue. For the year ended December 31, 2023, sales to our three largest customers amounted in the aggregate to approximately 31% of our total revenue. For the year ended December 31, 2022, sales to our three largest customers amounted in the aggregate to approximately 33% of our total revenue. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Seasonality </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Our business is affected by seasonality. Construction of our treatment systems is typically slower during winter seasons due to inclement weather and around Chinese holidays due to the closure of government agencies and other facilities.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">41</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Litigation</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">From time to time, we are subject to legal proceedings, investigations and claims incidental to the conduct of our business. We are not currently a party to any legal proceeding or investigation which, in the opinion of our management, is likely to have a material adverse effect on our business, financial condition or results of operations.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Regulations</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em><strong>Regulations on Corporate Governance</strong></em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">On December 29, 2023, the Standing Committee of the National People&#8217;s Congress promulgated the amended PRC Company Law, or the Amended PRC Company Law, which came into effect on July 1, 2024, to supersede the existing PRC Company Law which was previously amended in October 2018. The Amended PRC Company Law has made material amendments on corporate governance and shareholders rights of the PRC companies, including, among others, the statutory period for payment of registered capital, the setting of the board of directors and the board of supervisors, and transfer of equity interests in a company. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">With respect to the period for payment of the registered capital, pursuant to the Amended PRC Company Law, all shareholders of a PRC limited liability company shall fully pay up the registered capital subscribed for by such shareholders within five years since the date of establishment of such PRC limited liability company, unless otherwise provided by laws and regulations. With respect to any company established before the effective date of the Amended PRC Company Law, the period of capital contribution provided in its articles of association shall be amended to meet the time limit provided in the Amended PRC Company Law if such period of capital contribution in its articles of association exceeds that as required by the Amended PRC Company Law; with respect to any company whose period of capital contribution or amount of the registered capital are obviously abnormal, the competent governmental authority may require such company to adjust its period of capital contribution or amount of the registered capital in a timely manner. The Amended PRC Company Law provides that the detailed implementation measures for the aforesaid provisions will be formulated by the State Council of the PRC. If any shareholder fails to make capital contributions on schedule and in full as provided in the articles of association, the company shall send a written notice requesting such shareholder to pay up all overdue registered capital within a grace period no less than sixty days from the issuance date of such notice. If, upon the expiration of the foregoing grace period, such shareholder still hasn&#8217;t fulfilled the obligation of capital contribution with respect to such overdue registered capital, the company may, upon adoption of the resolution of the board of directors, send a notice of forfeiture to such shareholder in writing. Since the issuance date of the foregoing notice, such shareholder shall forfeit the equity interests for which the capital contribution has not been paid up. The forfeited equity interests shall be transferred or cancelled in accordance with the applicable laws. On July 1, 2024, China&#8217;s State Council issued and implemented the Provisions of the State Council on Implementing the Registered Capital Registration and Management System under the PRC Company Law, which further specify the detailed requirements and measures of the registration and management of registered capital under the Amended PRC Company Law. Pursuant to such draft provisions, there shall be a three-year interim period from July 1, 2024 to June 30, 2027 for the existing companies to adjust their periods of capital contribution. If the period of capital contribution of a company established before the effective date of the Amended PRC Company Law exceeds the period prescribed under the Amended PRC Company Law, such company shall make an adjustment within the foregoing interim period to meet the requirements under the Amended PRC Company Law. The adjusted period of capital contribution shall be recorded in such company&#8217;s articles of association and publicized through the national enterprise credit information publicity system in accordance with laws. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">With respect to the board of directors and the board of supervisors, the Amended PRC Company Law eliminates the upper limit on the number of the directors of a limited liability company, and stipulates that the board of directors of a limited liability company without a board of supervisors including an employee representative among its members, but with more than 300 employees shall have an employee representative acting as a director, who shall be democratically elected by the company&#8217;s employees through a general assembly of employees or other democratic forms. In addition, after the effective date of the Amended PRC Company Law, limited liability companies, joint stock limited companies with small scale or a small number of shareholders and wholly state-owned companies may set up an audit committee to replace the functions and powers of the board of supervisors, and such companies may not set the board of supervisors or any supervisor. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">With respect to the transfer of equity interest of a limited liability company, the Amended PRC Company law stipulates that the shareholders of a limited liability company may transfer the equity interest without the consent of other shareholders, provided that such shareholder shall notify other shareholders in writing with respect to transfer of such equity interest. Other shareholders will be regarded as giving up the right of first refusal if they fail to reply within 30 days after receiving the written notice. If a shareholder transfers the equity interest held by it, it shall notify the company in writing to request the company (i) to change the register of shareholders and (ii) to register the change with the competent enterprise registration authority. If the company refuses or fails to respond, the transferee and transferor may file a lawsuit with the competent court. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">42</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 45px; text-align:justify;"><em><strong>Regulations on Intellectual Property Rights</strong></em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 45px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 45px; text-align:justify;"><em>Patent</em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">Patents in mainland China are principally protected under the PRC Patent Law, which was initially promulgated by the Standing Committee of the National People&#8217;s Congress in 1984 and was most recently amended in 2020. A patent is valid for twenty years in the case of an invention and ten years in the case of utility models and designs. As of December 31, 2024, we had registered 7 patents and have 1 &#160;patent application in mainland China.&#160; </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 27.75pt; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 45px; text-align:justify;"><em>Trademark</em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">Registered trademarks are protected under the PRC Trademark Law, which was adopted by the Standing Committee of the National People&#8217;s Congress in 1982 and most recently amended in 2019, the Implementation Regulations of the PRC Trademark Law adopted by the State Council in 2002 and most recently amended in 2014 and other related rules and regulations. The State Intellectual Property Office, formerly known as the Trademark Office of the State Administration for Industry and Commerce, handles trademark registrations and grants a protection term of ten years to registered trademarks. Such term may be renewed for another ten-year period upon request by the trademark owner. As of December 31, 2024, we have registered 3 trademarks in mainland China with the State Intellectual Property Office.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;"><em>Domain Names</em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">Domain names are protected under the Administrative Measures on Internet Domain Names promulgated by the MIIT on August 24, 2017 and effective since November 1, 2017. Domain name registrations are handled through domain name service agencies established under the applicable regulations, and applicants become domain name holders upon successful registrations. On November 27, 2017, the MIIT promulgated the Notice of the Ministry of Industry and Information Technology on Regulating the Use of Domain Names in Providing Internet-based Information Services, which took effect on January 1, 2018. Pursuant to the notice, the domain name used by an internet-based information service provider in providing internet-based information services must be registered and owned by such provider in accordance with the law. If the internet-based information service provider is an entity, the domain name registrant must be the entity (or any of the entity&#8217;s shareholders), or the entity&#8217;s principal or senior manager. As of December 31, 2024, we had registered 6 domain names in mainland China.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em><strong>Regulations on Internet Information Security, Censorship and Privacy Protection</strong></em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">The PRC Cybersecurity Law, which was promulgated on November 7, 2016 by the Standing Committee of the National People&#8217;s Congress and took effect on June 1, 2017, provides that network operators shall meet their cyber security obligations and shall take technical measures and other necessary measures to protect the safety and stability of their networks. Under the PRC Cybersecurity Law, network operators are subject to various security protection-related obligations, including: (i) network operators shall comply with certain obligations regarding maintenance of the security of internet systems; (ii) network operators shall verify users&#8217; identities before signing agreements or providing certain services such as information publishing or real-time communication services; (iii) when collecting or using personal information, network operators shall clearly indicate the purposes, methods and scope of the information collection, the use of information collection, and obtain the consent of those from whom the information is collected; (iv) network operators shall strictly preserve the privacy of user information they collect, and establish and maintain systems to protect user privacy; (v) network operators shall strengthen management of information published by users, and when they discover information prohibited by laws and regulations from publication or dissemination, they shall immediately stop dissemination of that information, including taking measures such as deleting the information, preventing the information from spreading, preserving records, and reporting to the competent governmental agencies. In addition, the PRC Cyber Security Law requires that critical information infrastructures operators generally shall store, within the territory of mainland China, the personal information and important data collected and produced during their operations in mainland China and their purchase of network products and services that affect or may affect national securities shall be subject to national cybersecurity review.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">On June 10, 2021, the Standing Committee of the National People&#8217;s Congress promulgated the PRC Data Security Law, which became effective in September 2021. The PRC Data Security Law provides for data security and privacy obligations on entities and individuals carrying out data activities and introduces a data classification and hierarchical protection system based on the importance of data in economic and social development, as well as the degree of harm it will cause to national security, public interests, or legitimate rights and interests of individuals or organizations when such data is tampered with, destroyed, leaked, or illegally acquired or used. The appropriate level of protection measures is required to be taken for each respective category of data. For example, a processor of important data shall designate the personnel and the management body responsible for data security, carry out risk assessments for its data processing activities and file the risk assessment reports with the competent authorities. In addition, the PRC Data Security Law provides a national security review procedure for those data activities which affect or may affect national security and imposes export restrictions on certain data and information.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">43</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">The PRC government promulgated the Measures for Cybersecurity Review in April 2020, which took effect in June 2020. Under these measures, critical information infrastructure operators must pass a cybersecurity review when purchasing network products and services which do or may affect national security. On December 28, 2021, the CAC, together with certain other PRC governmental authorities, jointly released the Revised Cybersecurity Review Measures, which took effect on February 15, 2022. Pursuant to the Revised Cybersecurity Review Measures, operators of critical information infrastructure that intend to purchase network products and services that affect or may affect national security must apply for a cybersecurity review. The cybersecurity review will evaluate, among others, the risk of critical information infrastructure, core data, important data, or the risk of a large amount of personal information being influenced, controlled or maliciously used by foreign governments after going public, and cyber information security risk. The Revised Cybersecurity Review Measures set out certain general factors which would be the focus in assessing the national security risk during a cybersecurity review. As of the date of this annual report, we have not been involved in any investigations or become subject to a cybersecurity review initiated by the CAC, and we have not received any inquiry, notice, warning, sanctions in such respect or any regulatory objections to our listing status from the CAC.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">On July 30, 2021, the PRC State Council promulgated the Regulations on Security Protection of Critical Information Infrastructures, which took effect on September 1, 2021 and provide that &#8220;critical information infrastructures&#8221; shall mean any important network facilities or information systems of important industries or fields such as public communication and information service, energy, communications, water conservation, finance, public services, e-government affairs and national defense science, and any other important network facilities or information systems which may endanger national security, people&#8217;s livelihood and public interest in case of damage, function loss or data leakage. In addition, the administration departments for each critical industry and sector shall be responsible to formulate eligibility criteria and determine the critical information infrastructure operator in the respective industry or field. The operators shall be informed about the final determination as to whether they are categorized as critical information infrastructure operators. The regulations further require critical information infrastructures operators, (i) to report to the competent administration departments in a timely manner when the identification result may be affected due to material changes in the critical information infrastructures; (ii) to plan, construct or put into use the security protection measures and the critical information infrastructures simultaneously; and (iii) to report to the competent administration departments in a timely manner in the event of merger division or dissolution, and deal with critical information infrastructures as required by the competent administration departments, among other things. Operators in violation of the regulations may be ordered to rectify, subject to warnings, fines and other administrative penalties or even criminal liabilities, and the directly responsible personnel in charge may also be imposed on fines or other liabilities. As of the date of this annual report, we have not been involved in any investigations on cybersecurity review made by the CAC on such basis, and we have not received any inquiry, notice, warning, or sanctions in such respect.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">On September 24, 2024, the State Council of China issued the Cyber Data Security Administration Regulations, which came into effect on January 1, 2025. The regulations specify that China will enhance the protection of important data. Data processors are required to conduct a risk assessment before providing, entrusting, or jointly processing important data, except in cases where such actions are necessary to fulfill statutory duties or obligations. Furthermore, if cyber data processors operating within China need to transfer important data collected or generated domestically to overseas, they must undergo a data export security assessment organized by the CAC. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">Our business does not involve the collection, processing or transfer of any personal data.&#160; We have not been involved in any investigations on cyber security review made by the CAC on such basis, nor have we received any inquiries, notices, warnings, or sanctions from any competent PRC regulatory authorities related to cybersecurity, data security and personal data protection. Therefore we believe, as of the date of this annual report, we are in compliance with the existing PRC laws and regulations on cybersecurity, data security and personal data protection issued by the CAC.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">The PRC government authorities also further enhanced the supervision and regulation of cross-border data transmission. On July 7, 2022, the CAC promulgated the Measures for the Security Assessment of Cross-border Data Transfer, which took effect on September 1, 2022. In accordance with such measures, data processors will be subject to security assessment conducted by the CAC prior to any cross-border transfer of data if the transfer involves (i) important data; (ii) personal information transferred overseas by operators of critical information infrastructure or a data processor that has processed personal data of more than one million persons; (iii) personal information transferred overseas by a data processor which has already provided personal data of 100,000 persons or sensitive personal data of 10,000 persons overseas since January 1 of the preceding year; or (iv) other circumstances as required by the CAC. In addition, any cross-border data transfer activities conducted in violation of the Measures for the Security Assessment of Cross-border Data Transfer before the effectiveness of such measures are required to be rectified within six months of the effectiveness date thereof. Since these measures are relatively new, there are still substantial uncertainties with respect to the interpretation and implementation of these measures in practice and how they will affect our business operation. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">On August 20, 2021, the Standing Committee of the National People&#8217;s Congress promulgated the PRC Personal Information Protection Law, which took effect on November 1, 2021. Pursuant to the PRC Personal Information Protection Law, personal information refers to the information related to an identified or identifiable individual recorded electronically or by other means, excluding the anonymized information, and processing of personal information includes, among other things, the collection, storage, use, handling, transmission, provision, disclosure, deletion of personal information. The PRC Personal Information Protection Law explicitly sets forth the circumstances where it is allowed to process personal information, including (i) the consent from the individual has been obtained; (ii) it is necessary for the conclusion and performance of a contract under which an individual is a party, or it is necessary for human resource management in accordance with the labor related rules and regulations and the collective contracts formulated or concluded in accordance with laws; (iii) it is necessary to perform statutory duties or statutory obligations; (iv) it is necessary to respond to public health emergencies, or to protect the life, health and property safety of individuals in emergencies; (v) carrying out news reports, public opinion supervision and other acts for the public interest, and processing personal information within a reasonable scope; (vi) processing personal information disclosed by individuals or other legally disclosed personal information within a reasonable scope in accordance with this law; or (vii) other circumstances stipulated by laws and administrative regulations. In addition, this law emphasizes that individuals have the right to withdraw their consent to process their personal information, and the processors must not refuse to provide products or services on the grounds that the individuals do not agree to the processing of their personal information or withdraw their consent, unless processing of personal information is necessary for the provision of products or services. Before processing the personal information, the processors should truthfully, accurately and completely inform individuals of the following matters in a conspicuous manner and in clear and easy-to-understand language: (i) the name and contact information of the personal information processor; (ii) the purpose of processing personal information, processing method, type of personal information processed, and the retention period; (iii) methods and procedures for individuals to exercise their rights under this law; (iv) other matters that should be notified according to laws and administrative regulations. Furthermore, the law provides that personal information processors who use personal information to make automated decisions should ensure the transparency of decision-making and the fairness and impartiality of the results, and must not impose unreasonable differential treatment on individuals in terms of transaction prices and other transaction conditions.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">44</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">In addition, the law provides rules for cross-border provision of personal information. In particular, it is provided that the operators of critical information infrastructures and the personal information processors that process personal information up to the number prescribed by the national cyberspace administration shall store personal information collected and generated within mainland China. If it is really necessary to provide such personal information overseas, they shall pass the security assessment organized by the national cyberspace administration, except as otherwise stipulated by laws, administrative regulations and the national cyberspace administration. Any processor in violation of this law may be subject to administrative penalties including rectifications, warnings, fines, confiscation of illegal gains, suspension of the apps illegally processing personal information or suspension of the business, revocation of business operation permits or business licenses, civil liabilities or even criminal liabilities. The directly responsible personnel in charge and other directly responsible personnel may be imposed with fines and prohibited from serving as directors, supervisors, senior management personnel and personal information protection officers of related companies within a certain period of time.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">While we take measures to comply with all applicable data privacy and protection laws and regulations, we cannot guarantee the effectiveness of the measures undertaken and those implemented by our business partners. As certain laws and regulations, including the PRC Data Security Law and the PRC Personal Information Protection Law, were recently promulgated, we may be required to make further adjustments to our business practices to comply with these laws and regulations.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em><strong>Regulations on Foreign Exchange</strong></em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;"><em>General Administration of Foreign Exchange</em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">Under the PRC Foreign Exchange Administration Rules promulgated on January 29, 1996 and most recently amended on August 5, 2008 and various regulations issued by SAFE and other PRC government authorities, Renminbi is convertible into other currencies for current account items, such as trade-related receipts and payments and payment of interest and dividends. The conversion of Renminbi into other currencies and remittance of the converted foreign currency outside mainland China for of capital account items, such as direct equity investments, loans and repatriation of investment, requires the prior approval from SAFE or its local office.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">Payments for transactions that take place within mainland China must be made in Renminbi. Unless otherwise approved, mainland China companies may not repatriate foreign currency payments received from abroad or retain the same abroad. Foreign-invested enterprises may retain foreign exchange in accounts with designated foreign exchange banks under the current account items subject to a cap set by SAFE or its local office. Foreign exchange proceeds under the current accounts may be either retained or sold to a financial institution engaged in settlement and sale of foreign exchange pursuant to SAFE rules and regulations. For foreign exchange proceeds under the capital accounts, approval from SAFE is generally required for the retention or sale of such proceeds to a financial institution engaged in settlement and sale of foreign exchange.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">Pursuant to the Circular of the State Administration of Foreign Exchange on Further Improving and Adjusting Foreign Exchange Administration Policies for Direct Investment, or SAFE Circular 59 promulgated by SAFE on November 19, 2012, which took effect on December 17, 2012 and was further amended on May 4, 2015 and on October 10, 2018, approval is not required for opening a foreign exchange account and depositing foreign exchange into the accounts relating to the direct investments. SAFE Circular 59 also simplified foreign exchange-related registration required for the foreign investors to acquire the equity interests of Chinese companies and further improve the administration on foreign exchange settlement for foreign-invested enterprises.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">45</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">Pursuant to the Circular on Further Simplifying and Improving the Foreign Currency Management Policy on Direct Investment, or SAFE Circular 13, which was promulgated by SAFE on February 13, 2015 and took effect on June 1, 2015, and was later amended on December 30, 2019, which cancels the administrative approvals of foreign exchange registration of direct domestic investment and direct overseas investment and simplifies the procedure of foreign exchange-related registration, the investors shall register with banks for direct domestic investment and direct overseas investment. The Circular on Reforming the Management Approach regarding the Settlement of Foreign Capital of Foreign-invested Enterprise, or SAFE Circular 19, which was promulgated by SAFE on March 30, 2015 and took effect on June 1, 2015, provides that a foreign-invested enterprise may, according to its actual business needs, settle with a bank the portion of the foreign exchange capital in its capital account for which the foreign exchange administration has confirmed monetary capital contribution rights and interests (or for which the bank has registered the injection of the monetary capital contribution into the account). Pursuant to SAFE Circular 19, for the time being, foreign-invested enterprises are allowed to settle 100% of their foreign exchange capitals on a discretionary basis; a foreign-invested enterprise shall truthfully use its capital for its own operational purposes within the scope of business; where an ordinary foreign-invested enterprise makes domestic equity investment with the amount of foreign exchanges settled, the invested enterprise shall first go through domestic re-investment registration and open a corresponding account for foreign exchange settlement pending payment with the foreign exchange administration or the bank at the place where it is registered.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">The Circular on Reforming and Regulating Policies on the Control over Foreign Exchange Settlement of Capital Accounts, or SAFE Circular 16, which was promulgated by SAFE and took effect on June 9, 2016, provides that enterprises registered in mainland China may also convert their foreign debts from foreign currency into Renminbi on self-discretionary basis. SAFE Circular 16 also provides an integrated standard for conversion of foreign exchange under capital account items (including but not limited to foreign currency capital and foreign debts) on self-discretionary basis, which applies to all enterprises registered in mainland China.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">In January 2017, SAFE promulgated the Circular on Further Improving Reform of Foreign Exchange Administration and Optimizing Genuineness and Compliance Verification, or SAFE Circular 3, which stipulates several capital control measures with respect to the outbound remittance of profits from domestic entities to offshore entities, including (i) banks must check whether the transaction is genuine by reviewing board resolutions regarding profit distribution, original copies of tax filing records and audited financial statements, and (ii) domestic entities must retain income to account for previous years&#8217; losses before remitting any profits. Moreover, pursuant to SAFE Circular 3, domestic entities must explain in detail the sources of capital and how the capital will be used, and provide board resolutions, contracts and other proof as a part of the registration procedure for outbound investment.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">On October 23, 2019, SAFE promulgated the Notice of the State Administration of Foreign Exchange on Further Promoting the Facilitation of Cross-border Trade and Investment, or SAFE Notice 28, which permits non-investment foreign-invested enterprises to use their capital funds to make equity investments in mainland China, with genuine investment projects and in compliance with effective foreign investment restrictions and other applicable laws. However, as SAFE Notice 28 was newly issued, there are still substantial uncertainties as to its interpretation and implementations in practice.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">Based on SAFE Circular 13 and other laws and regulations relating to foreign exchange, when setting up a new foreign-invested enterprise, the foreign invested enterprise shall register with the bank located at its registered place after obtaining the business license, and if there is any change in capital or other changes relating to the basic information of the foreign-invested enterprise, including, without limitation any increase in its registered capital or total investment, the foreign invested enterprise shall register such changes with the bank located at its registered place after obtaining the approval from or completing the filing with competent authorities. Pursuant to foreign exchange laws and regulations, the above-mentioned foreign exchange registration with the banks will typically take less than four weeks upon the acceptance of the registration application.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">46</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">Based on the foregoing, if we intend to provide funding to our wholly foreign owned subsidiaries through capital injection at or after their establishment, we shall register the establishment of and any follow-on capital increase in our wholly foreign owned subsidiaries with the SAMR or its local counterparts, file such via the foreign investment comprehensive management information system and register such with the local banks for the foreign exchange related matters.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em><strong>Regulations on Dividend Distribution</strong></em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">The principal laws and regulations regulating the dividend distribution of dividends by foreign-invested enterprises in mainland China include the Company Law of the PRC, as amended in 2004, 2005, 2013 and 2018, the Foreign Investment Law and the Regulation on Implementing the Foreign Investment Law. Under the current regulatory regime in mainland China, foreign-invested enterprises in mainland China may pay dividends only out of their retained earnings, if any, determined in accordance with PRC accounting standards and regulations. A mainland China company is required to set aside as statutory reserve funds at least 10% of its after-tax profit, until the cumulative amount of such reserve funds reaches 50% of its registered capital unless laws regarding foreign investment provide otherwise. A mainland China company shall not distribute any profits until any losses from prior fiscal years have been offset. Profits retained from prior fiscal years may be distributed together with distributable profits from the current fiscal year.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em><strong>Regulations on Taxation</strong></em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;"><em>Enterprise Income Tax</em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">On March 16, 2007, the Standing Committee of the National People&#8217;s Congress promulgated the Enterprise Income Tax Law, which was amended on February 24, 2017 and December 29, 2018. On December 6, 2007, the State Council enacted the Regulations for the Implementation of the Law on Enterprise Income Tax, which took effect on January 1, 2008 and was last amended on December 6, 2024. Under the Enterprise Income Tax Law and its implementing regulations, both resident enterprises and non-resident enterprises are subject to tax in mainland China. Resident enterprises are defined as enterprises that are established in mainland China in accordance with PRC laws, or that are established in accordance with the laws of foreign countries but are actually or in effect controlled from within mainland China. Non-resident enterprises are defined as enterprises that are organized under the laws of foreign countries and whose actual management is conducted outside mainland China, but who have established institutions or premises in mainland China or income generated from inside mainland China. Under the Enterprise Income Tax Law and the implementing regulations, a uniform corporate income tax rate of 25% is applied. However, if non-resident enterprises have not formed permanent establishments or premises in mainland China, or if their permanent establishment or premises in mainland China have no actual relationship to the income derived in mainland China, enterprise income tax is set at the rate of 10% with respect to their income sourced from inside mainland China.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;"><em>Value-Added Tax</em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">The Provisional Regulations of the PRC on Value-added Tax were promulgated by the State Council on December 13, 1993 and took effect on January 1, 1994 which were subsequently amended on November 10, 2008 and took effect on January 1, 2009 and most recently amended on February 6, 2016 and November 19, 2017. The Detailed Rules for the Implementation of the Provisional Regulations of the PRC on Value-added Tax (Revised in 2011) was promulgated by the Ministry of Finance on December 25, 1993 and subsequently amended on December 15, 2008 and October 28, 2011, or collectively, VAT Law. On November 19, 2017, the State Council promulgated The Decisions on Abolishing the Provisional Regulations of the PRC on Business Tax and Amending the Provisional Regulations of the PRC on Value-added Tax. According to the VAT Law and these decisions, all enterprises and individuals engaged in the sale of goods, the provision of processing, repair and replacement services, sales of services, intangible assets, real property and the importation of goods within the territory of mainland China are the taxpayers of VAT. The VAT tax rates generally applicable are simplified as 17%, 11%, 6% and 0%, and the VAT tax rate applicable to the small-scale taxpayers is 3%. The Notice of the Ministry of Finance and the State Administration of Taxation on Adjusting Value-added Tax Rates was promulgated on April 4, 2018 and took effect on May 1, 2018. The notice adjusted the VAT tax rates of 17% and 11% to 16% and 10%, respectively. According to the Announcement on Relevant Policies for Deepening Value-Added Tax Reform, with effect from April 1, 2019, the VAT tax rate of 16% and 10% are changed into 13% and 9%, respectively.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">47</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">As of the date of this annual report, our mainland China subsidiaries are generally subject to 3%, 6%, 9% or 13% VAT rate and related surcharges. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;"><em>Dividend Withholding Tax</em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">The Enterprise Income Tax Law provides that since January 1, 2008, an income tax rate of 10% will normally be applicable to dividends declared to non-mainland China resident enterprise investors which do not have an establishment or place of business in mainland China, or which have an establishment or place of business that is not effectively connected with the relevant income, to the extent such dividends are derived from sources within mainland China.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">Pursuant to an Arrangement Between the Mainland of China and the Hong Kong Special Administrative Region for the Avoidance of Double Taxation and the Prevention of Fiscal Evasion with Respect to Taxes on Incomes and other applicable PRC laws, if a Hong Kong resident enterprise is determined by the competent PRC tax authority to have satisfied the conditions and requirements under such arrangement and other applicable laws, the 10% withholding tax on the dividends the Hong Kong resident enterprise receives from a mainland China resident enterprise may be reduced to 5%. However, based on the Circular on Certain Issues with Respect to the Enforcement of Dividend Provisions in Tax Treaties, or SAT Circular 81, issued on February 20, 2009 by the State Administration of Taxation, if the PRC tax authorities determine, in their discretion, that a company benefits from such reduced income tax rate due to a structure or arrangement that is primarily tax-driven, such PRC tax authorities may adjust the preferential tax treatment. According to the Circular on Several Questions regarding the &#8220;Beneficial Owner&#8221; in Tax Treaties, which took effect on April 1, 2018, when determining the applicant&#8217;s status as a &#8220;beneficial owner&#8221; with respect to the tax treatment of dividends, interest or royalties under certain tax treaties, several factors, including whether the applicant is obligated to pay more than 50% of his or her income over a twelve-month period to residents of a third country or region, whether the business operated by the applicant constitutes actual business activities; and whether the counterparty country or region to the tax treaty does not levy any tax, exempts the relevant income from tax or levies tax at an extremely low rate, will be taken into account and be analyzed according to the actual circumstances of specific cases. This circular further provides that applicants who intend to prove his or her &#8220;beneficial owner&#8221; status shall submit the required documents to the tax bureau according to the Announcement on Issuing the Measures for the Administration of Non-Resident Taxpayers&#8217; Enjoyment of the Treatment under Tax Agreements.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;"><em>Tax on Indirect Transfer</em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">On February 3, 2015, the State Administration of Taxation issued the Circular on Issues of Enterprise Income Tax on Indirect Transfers of Assets by Non-PRC Resident Enterprises. Pursuant to this circular, an &#8220;indirect transfer&#8221; of assets, including equity interests in a mainland China resident enterprise, by a non-mainland China resident enterprise, may be recharacterized and treated as a direct transfer of mainland China taxable assets, if such arrangement does not have a reasonable commercial purpose and was established for the purpose of avoiding payment of mainland China enterprise income tax. As a result, gains derived from such indirect transfer may be subject to mainland China enterprise income tax. When determining whether there is a &#8220;reasonable commercial purpose&#8221; of the transaction arrangement, features to be taken into consideration include, inter alia, whether the main value of the equity interest of the offshore enterprise derives directly or indirectly from mainland China taxable assets; whether the assets of the offshore enterprise mainly consist of direct or indirect investments in mainland China, or whether its income is mainly derived from China; and whether the offshore enterprise and its subsidiaries that directly or indirectly hold mainland China taxable assets have a real commercial nature which is evidenced by their actual function and risk exposure. According to the circular, where the payor fails to withhold any or sufficient tax, the transferor shall declare and pay such tax to the tax authority by itself within the statutory time limit. Late payment of applicable tax will subject the transferor to default interest. The circular does not apply to sales of shares by investors through a public stock exchange where such shares were acquired on a public stock exchange. On October 17, 2017, the State Administration of Taxation issued the Circular on Issues of Tax Withholding regarding Non-PRC Resident Enterprise Income Tax, or SAT Circular 37, which was amended on June 15, 2018. SAT Circular 37 further elaborates the implemental rules regarding the calculation, reporting and payment obligations of the withholding tax by the non-resident enterprises. Nonetheless, there remain uncertainties as to the interpretation and application of the circular. The circular may be determined by the tax authorities to be applicable to our offshore transactions or sale of our shares or those of our offshore subsidiaries where non-resident enterprises, being the transferors, were involved.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">48</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em><strong>Regulations on Employment and Social Welfare</strong></em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;"><em>Labor Contract Law</em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">The PRC Labor Contract Law which took effect on January 1, 2008 and was amended on December 28, 2012, is primarily aimed at regulating rights and obligations of employer and employee relationships, including the establishment, performance and termination of labor contracts. Pursuant to the PRC Labor Contract Law, labor contracts shall be concluded in writing if labor relationships are to be or have been established between employers and the employees. Employers are prohibited from forcing employees to work above certain time limit and employers shall pay employees for overtime work in accordance with national regulations. In addition, employee wages shall be no lower than local standards on minimum wages and shall be paid to employees timely.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;"><em>Social Insurance and Housing Fund</em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">According to the PRC Social Insurance Law implemented on July 1, 2011 and most recently amended on December 29, 2018 and the Regulations on the Administration of Housing Funds, which was promulgated by the State Council in 1999 and most recently amended in 2019, employers in mainland China must provide employees with welfare schemes covering pension insurance, unemployment insurance, maternity insurance, work-related injury insurance, and medical insurance and housing funds. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;"><em>Employee Stock Incentive Plan</em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">Pursuant to the Notice of Issues Related to the Foreign Exchange Administration for Domestic Individuals Participating in Stock Incentive Plan of Overseas Listed Company, or SAFE Circular 7, which was issued by SAFE on February 15, 2012, employees, directors, supervisors, and other senior management who participate in any stock incentive plan of a publicly listed overseas company and who are mainland China citizens or non-mainland China citizens residing in mainland China for a continuous period of no less than one year, subject to a few exceptions, are required to register with SAFE through a qualified domestic agent, which may be a mainland China subsidiary of such overseas listed company, and complete certain other procedures.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">In addition, the State Administration of Taxation has issued certain circulars concerning employee stock options and restricted shares. Under these circulars, employees working in mainland China who exercise stock options or are granted restricted shares will be subject to mainland China individual income tax. The mainland China subsidiaries of an overseas listed company are required to file documents related to employee stock options and restricted shares with the tax authorities and to withhold individual income taxes of employees who exercise their stock option or purchase restricted shares. If the employees fail to pay or the mainland China subsidiaries fail to withhold income tax in accordance with the laws and regulations, the mainland China subsidiaries may face sanctions imposed by the tax authorities or other PRC governmental authorities.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em><strong>M&amp;A Rules and Overseas Listing</strong></em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">On August 8, 2006, six PRC governmental and regulatory agencies, including the Ministry of Commerce and the China Securities Regulatory Commission, or the CSRC, promulgated the Regulations on Mergers and Acquisitions of Domestic Enterprises by Foreign Investors, governing the mergers and acquisitions of domestic enterprises by foreign investors that took effect on September 8, 2006 and was revised on June 22, 2009. The regulations, among other things, requires that if an overseas company established or controlled by mainland China companies or individuals, or mainland China citizens, intends to acquire equity interests or assets of any other mainland China domestic company affiliated with the mainland China citizens, such acquisition must be submitted to the Ministry of Commerce for approval. The regulations also requires that an offshore SPV formed for overseas listing purposes and controlled directly or indirectly by the mainland China citizens shall obtain the approval of the CSRC prior to overseas listing and trading of such SPV&#8217;s securities on an overseas stock exchange. On July 6, 2021, the General Office of the Central Committee of the Communist Party of China and the General Office of the State Council jointly promulgated the Opinions on Strictly Cracking Down on Illegal Securities Activities in Accordance with the Law. The opinions emphasized the need to strengthen the administration over illegal securities activities, and the need to strengthen the supervision over overseas listings by Chinese companies. Effective measures, such as promoting the construction of regulatory systems will be taken to deal with the risks and incidents of China-based overseas listed companies, and cybersecurity and data privacy protection requirements and other regulatory requirements. The opinions and any related implementing rules to be enacted may subject us to compliance requirement in the future.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">49</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">Furthermore, on February 17, 2023, the CSRC published the Interim Administrative Measures on Overseas Securities Offering and Listing by the Domestic Enterprises, or the Overseas Listing Measures, which took effect on March 31, 2023. Under the Overseas Listing Measures, a filing-based regulatory system will be applied to &#8220;indirect overseas offerings and listings&#8221; of PRC domestic companies, which refers to securities offerings and listings in an overseas market made under the name of an offshore entity but based on the underlying equity, assets, earnings or other similar rights of a domestic company that operates its main business domestically in mainland China. The Overseas Listing Measures state that, any overseas offering of securities, including issuance of shares, convertible notes and other similar securities, by a PRC domestic company, and listing by a PRC domestic company in an overseas market, shall be subject to filing requirement within three business days after the completion of such offering or listing. On February 17, 2023 the CSRC also published the Notice on the Administrative Arrangements for the Filing of Overseas Securities Offering and Listing by the Domestic Enterprises, which provides that issuers who have already been listed in an overseas market by March 31, 2023, the date on which the Overseas Listing Measures took effect, such as our company, are not required to make any immediate filing. However, such issuers will be required to comply with the filing requirements under Overseas Listing Measures if and when they pursue any future securities offerings and listings outside of mainland China, including but not limited to follow-on offerings, secondary listings and going private transactions.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>C. ORGANIZATIONAL STRUCTURE</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">Euro Tech Holdings Company Limited was incorporated in the British Virgin Islands on September 30, 1996.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">Euro Tech Global, a wholly-owned subsidiary of Euro Tech Holdings Company Limited, was incorporated in Singapore in 2025, as an investment holding company.&#160; </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">Far East is the principal operating subsidiary of the Company. It is principally engaged in the marketing and trading of water and waste water related process control, analytical and testing instruments, disinfection equipment, supplies and related automation systems in Hong Kong and in the PRC. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Details of the Company&#8217;s current principal subsidiaries are summarized as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="BORDER-BOTTOM: 1px solid;width:24%;vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Name of entity</strong></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:10%;vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Ownership </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>interest held</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>&#160;by the</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>&#160;Group</strong></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:19%;vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Place of incorporation</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>and principal place of </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>operation</strong></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:40%;vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Principal activities</strong></p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Subsidiaries:</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Euro Tech Global Pte. Limited</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">100%</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">Singapore</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Investment holding </p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Euro Tech (Far East) Limited</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">100%</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">Hong Kong</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Marketing and trading of water and waste water related process control, analytical and testing instruments, disinfection equipment, supplies and related automation systems</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Euro Tech Trading (Shanghai) Limited</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">100%</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">PRC</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Inactive</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">PACT Environmental Technology PTE. LTD</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">58%</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">Singapore</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Marketing and provision of after sales services of ballast water treatment systems and customized industrial wastewater solutions, equipment fabrication</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Yixing Pact Environmental Technology Co., Ltd</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">58%</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">PRC</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Design, manufacturing and operation of water and wastewater treatment and water desalination machinery and equipment</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Pact Asia Pacific Limited</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">58%</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">British Virgin Islands</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Inactive</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Affiliate:</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Zhejiang Tianlan Environmental Protection Technology Co. Ltd.</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">19.4%</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">PRC</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Design, manufacturing, installation, testing of waste-gas treatment equipment and operation management of the treatment of waste gases</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">50</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>D. PROPERTY, PLANTS AND EQUIPMENT</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Since 1990, our principal executive offices have been located at Unit C and D, 18/F., Gee Chang Hong Centre, 65 Wong Chuk Hang Road, Hong Kong. At this location, the Company occupies approximately 7,000 square feet of office and warehouse storage space pursuant to a lease which will expire in May 2025 subject to renewal. The Company pays a monthly rental payment of approximately US$8,910 under such lease. The warehouse storage space is used to hold products for distribution to our customers via common carriers.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Euro Tech Trading (Shanghai) Limited occupies approximately 55 square meters of office space in Shanghai pursuant to a short term lease, at a monthly rent of approximately US$315. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Yixing occupies a facility in Shanghai pursuant to a three-year lease which will expire in December 2025, at a monthly rent of approximately US$4,302. The size of the facility is 464 square meters and the facility is used for office space. Yixing also occupies a workshop in Shanghai pursuant to a lease which will expire in June 2026, at a monthly rent of approximately US$3,300. The size of the workshop is 929 square meters and the workshop is used for assembly of BWTS.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><span class="atag" style="display: inline" id="IT4A">ITEM 4A. UNRESOLVED STAFF COMMENTS</span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">None.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><span class="atag" style="display: inline" id="IT5">ITEM 5. OPERATING AND FINANCIAL REVIEW AND PROSPECTS </span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The following discussion and analysis of our financial condition and results of operations should be read in conjunction with our audited consolidated financial statements and the related notes included in this annual report and in particular, &#8220;Item 4. Information on the Company &#8212; B. Business Overview.&#8221; This discussion contains forward-looking statements that involve risks and uncertainties. Our actual results and the timing of selected events could differ materially from those anticipated in these forward-looking statements as a result of various factors, including those set forth under &#8220;Item 3. Key Information &#8212; D. Risk Factors&#8221; and elsewhere in this annual report. We have prepared our consolidated financial statements in accordance with U.S. GAAP.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>A. OPERATING RESULTS</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Overview</strong>. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">We organize our business in two operating segments:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Trading and manufacturing; and</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Engineering.</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">For the trading and manufacturing segment, the Company is a distributor of a wide range of advanced water treatment equipment, laboratory instruments, analyzers, test kits and related supplies and power generation equipment (including recorders and power quality analyzers).</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">For the engineering segment, the Company, through its majority owned subsidiary, Yixing, and its minority owned affiliate, Blue Sky, engages in water and waste-water treatment engineering and air pollution control business.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Our total revenue increased by 20.0% to US$17,940,000 in fiscal year 2023 and decreased by 14.3% to US$15,383,000 in fiscal year 2024. Our net income increased by 395.36% to US$1,828,000 in fiscal year 2023 and decreased by 59.8% to US$734,000 in fiscal year 2024.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">51</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The impact of COVID-19 pandemic. Our revenue decreased significantly in Fiscal 2022 due to the decrease in sales orders from China, our major market,&#160;due to&#160;lock down policies implemented by the Chinese government&#160;in response to the outbreak of COVID-19. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">In Fiscal 2023 and 2024, while&#160;our business may not have been directly affected by COVID-19, our wastewater treatment operations may have been materially and adversely affected by COVID-19 indirectly, because many customers and potential customers of our wastewater treatment systems are the Chinese subsidiaries of foreign companies, and some of them have delayed or suspended their business operations or even relocated their operations outside China in connection with the outbreak of COVID-19.&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">In contrast, our BWTS business has thrived both in China and internationally in fiscal 2023 and 2024. We believe this growth is mainly driven by the increasing demand in the maritime industry, spurred by IMO policy and local environmental regulations related to Environmental Impact Assessment. Notably, we have seen expansion of our BWTS business in energy-related shipping industry in the Middle East and petrochemical ports in China.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The following sets forth key factors that affect our future growth, operating results and financial condition.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="width:4%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">an economic downturn in China or any regional market in China;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">economic policies and initiatives undertaken by the Chinese government;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">changes in the Chinese or regional business or regulatory environment affecting our customers; and </p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">changes in the Chinese government policy on our industries. Unfavorable changes could affect demand for services that we provide and could materially and adversely affect the results of operations.</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Results from Operations</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The following operating and financial review should be read in conjunction with the Consolidated Financial Statements and notes thereto appearing elsewhere in this Annual Report. All financial data referred to in the following discussion has been prepared in accordance with U.S. GAAP.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The following table presents selected statement of operations data expressed in thousands of US$ and as a percentage of revenue for the Company&#8217;s fiscal years indicated below: </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: #000000 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2022</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2021</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2020</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Revenue</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">15,383</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">100</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">17,940</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">100</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">14,949</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">100</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">21,388</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">100</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">13,357</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">100</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Cost of revenue</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">10,929</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">71.0</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">14,079</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">78.5</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">10,331</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">69.1</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">15,693</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">73.4</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">9,672</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">72.4</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Gross profit</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">4,454</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">29.0</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">3,861</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">21.5</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">4,618</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">30.9</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">5,695</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">26.6</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">3,685</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">27.6</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Selling and administrative expenses</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">4,067</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">26.4</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">4,103</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">22.9</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">4,490</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">30.0</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">4,911</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">23.0</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">5,374</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">40.2</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">(Loss) gain on disposal of property, plant and equipment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td/><td style="vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">-</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">%</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(7 </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(10 </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td/><td style="vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">-</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">%</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">1,429</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">10.7</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Income / (loss) &#160;before income taxes, equity in income / (loss) of affiliates and non-controlling interests</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">519</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">3.4</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(232 </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-1.3</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">150</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">1.0</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">921</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">4.3</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">63</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">0.5</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Income tax&#160;(expense) credit</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(72</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-0.5</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(45 </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-0.3</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(24 </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-0.2</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">90</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">0.4</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(96 </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-0.7</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Equity in income / (loss) of affiliates</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">398</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">2.6</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">1,927</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">10.7</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">413</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">2.8</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">355</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">1.7</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">435</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">3.3</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Net income</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">845</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">5.5</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">1,650</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">9.2</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">539</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">3.6</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">1,366</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">6.4</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">402</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">3.0</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Net (income) / (loss) attributable to non-controlling interests</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(111</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">0.7</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">178</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">1.0</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(170 </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-1.1</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(377 </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-1.8</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">367</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">2.7</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Net income attributable to Euro Tech Holding Company Limited&#8217;s shareholders</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">734</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">4.8</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">1,828</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">10.2</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">369</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">2.5</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">989</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">4.6</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">769</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">5.7</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">52</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Fiscal Year Ended December 31, 202</strong><strong>4</strong><strong> Compared to Fiscal Year Ended December 31, 202</strong><strong>3</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;"><em>Revenue; Gross Profit and Cost of Revenue.</em> Revenue decreased by US$2,557,000 or 14.3% to US$15,383,000 in Fiscal 2024 from US$17,940,000 in Fiscal 2023. Revenue from trading and manufacturing activities and engineering activities decreased by US$2,994,000 and increased by US$37,000, respectively. Decrease in revenue from trading activities was mainly a result of substantial drop in sales of high value analytical instruments to Hong Kong Government.&#160; </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Gross profit increased by US$593,000 or 15.4% to US$4,454,000 for Fiscal 2024 as compared to US$3,861,000 for Fiscal 2023. During Fiscal 2024, the Company&#8217;s cost of revenues was US$10,929,000 or 71.0% of revenues, in comparison to US$14,079,000 or 78.5% for Fiscal 2023. Cost of revenue expressed as a percentage of revenue decreased by 7.5% in Fiscal 2024 as compared with Fiscal 2023. Cost of revenues from trading and manufacturing activities decreased by US$2,451,000 and engineering activities decreased by US$699,000. The overall change was principally due to decrease in sales of high value analytical instruments of lower gross profit % and increase in revenue of BWTS of higher gross profit margin. Pact-Yixing contributed US$2,205,000 to our gross profit in Fiscal 2024, an increase of US$736,000 from Fiscal 2023. The increase was principally due to increase in revenue from BWTS with higher gross profit margin.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;"><em>Selling and Administrative Expenses</em>. Selling and administrative expenses were US$4,067,000 in Fiscal 2024, a slight decrease of US$36,000 or 0.9% from US$4,103,000 in Fiscal 2023. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;"><em>Equity in Income of Affiliates.</em> Equity in income of affiliates was US$398,000 in Fiscal 2024, an&#160;decrease of US$1,529,000 from equity in income of affiliates of US$1,927,000 in Fiscal 2023. The decrease was primarily because there was non-recurrent income from the disposal of 2 desulfurization treatment plants for a &#8220;Build-operate-transfer&#8221; project located in Shanxi, China.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;"><em>Interest Income.</em> Interest income in Fiscal 2024 was US$96,000 as compared to US$37,000 in Fiscal 2023.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;"><em>Other&#160; income / (losses).</em> Other income was US$37,000 in Fiscal 2024 as compared to other losses of US$20,000 in Fiscal 2023. The change was principally because of exchange loss in Fiscal 2023.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;"><em>Income Taxes.</em> Tax expense of US$72,000 in Fiscal 2024 as compared to&#160;US$45,000 in Fiscal 2023. The change in tax expense was principally due to increase in assessable profits.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;"><em>Net Income.</em> Profit from continuing <em>operations</em> was profit of US$734,000 in Fiscal 2024 as compared to US$1,828,000 in Fiscal 2023. This change was primarily due to there was an exceptional increase in equity in income of affiliates in Fiscal 2023 arising from non-recurrent income of disposal of 2 desulfurization treatment plants.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Fiscal Year Ended December 31, 2023 Compared to Fiscal Year Ended December 31, 2022</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;"><em>Revenue; Gross Profit and Cost of Revenue.</em> Revenue increased by US$2,991,000 or 20.0% to US$17,940,000 in Fiscal 2023 from US$14,949,000 in Fiscal 2022. Revenue from trading and manufacturing activities and engineering activities increased by US$2,811,000 and US$180,000, respectively. Increase in revenue from trading activities was mainly a result of recovery from the COVID-19 pandemic disruption. Pact-Yixing&#8217;s revenues of US$5,797,000 and US$5,617,000 were included in our revenues in Fiscal 2023 and Fiscal 2022, respectively. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Gross profit decreased by US$757,000 or 16.4% to US$3,861,000 for Fiscal 2023 as compared to US$4,618,000 for Fiscal 2022. During Fiscal 2023, the Company&#8217;s cost of revenues was US$14,079,000 or 78.5% of revenues, in comparison to US$10,331,000 or 69.1% for Fiscal 2022. Cost of revenue expressed as a percentage of revenue increased by 9.4% in Fiscal 2023 as compared with Fiscal 2022. Cost of revenues from trading and manufacturing activities increased by US$2,406,000 and engineering activities increased by US$1,342,000. The overall change was principally due to increase in revenue. Pact-Yixing contributed US$1,469,000 to our gross profit in Fiscal 2023, a decrease of US$1,162,000 from Fiscal 2022. The decrease was principally due to continuous economy slowdown in Mainland China and adverse impacts of the COVID-19 pandemic.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;"><em>Selling and Administrative Expenses</em>. Selling and administrative expenses were US$4,103,000 in Fiscal 2023, a decrease of US$387,000 or 8.6% from US$4,490,000 in Fiscal 2022. The decrease was principally due to cessation of business operation of Shanghai Euro Tech Ltd. in Fiscal 2022.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;"><em>Equity in Income of Affiliates.</em> Equity in income of affiliates was income of US$1,927,000 in Fiscal 2023, an&#160;increase of US$1,514,000 from income of affiliates of US$413,000 in Fiscal 2022. The increase was primarily due to non-recurrent income from the disposal of 2 desulfurization treatment plants for a &#8220;Build-operate-transfer&#8221; project located in Shanxi, China.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;"><em>Interest Income.</em> Interest income in Fiscal 2023 was US$37,000 as compared to US$23,000 in Fiscal 2022.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;"><em>Other (losses) / income.</em> Other income decreased by US$33,000 to other losses of US$20,000 in Fiscal 2023 from US$13,000 in Fiscal 2022. The decrease in other income was principally because there was non-recurrent government subsidies in Fiscal 2022.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;"><em>Income Taxes.</em> Tax expense of US$45,000 in Fiscal 2023 as compared to&#160; US$24,000 in Fiscal 2022. The change in tax expense was principally due to increase in assessable profits.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;"><em>Net Income.</em> Profit from continuing operations was profit of US$1,828,000 in Fiscal 2023 as compared to US$369,000 in Fiscal 2022. This change was primarily due to increase in equity in income of affiliates.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">53</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>B. LIQUIDITY AND CAPITAL RESOURCES</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">The Company has primarily used its own funds to finance accounts receivable, net, contract assets, inventories, and capital expenditures including purchases of property, office furniture and equipment, computers and calibration equipment. The Company has historically met its cash requirements from cash flows from operations, short-term borrowings, bank lines of credit, and long-term mortgage bank loans. The Company expects, but can make no assurances that its present cash reserves, cash from operations and existing available bank credit facilities exercises would be sufficient to fund its future capital expenditure requirements. Working capital at the end of Fiscal 2024, Fiscal 2023, and Fiscal 2022 were US$5,224,000, US$4,949,000, and US$4,980,000, respectively.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">As of December 31, 2024, we had US$5,805,000 in cash and cash equivalents, compared to US$5,453,000 in cash and cash equivalents as of December 31, 2023 and US$5,628,000 in cash and cash equivalents as of December 31, 2022. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Net cash&#160; provided by / (used in ) operating activities</em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Net cash provided in operating activities was US$781,000 for the year ended December 31, 2024. Net cash used in operating activities was US$80,000 for the year ended December 31, 2023. Net cash provided by operating activities was US$461,000 for the year ended December 31, 2022. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Net cash provided by operating activities for the year ended December 31, 2024 was primarily the result of the net income of US$734,000, a decrease in accounts receivable of US$1,478,000, decrease in inventories of US$223,000, non-controlling interests in income of subsidiaries of US$111,000, equity in profit of affiliates of US$398,000 and decrease in amortization on right-of-use assets of US$132,000. These amounts were partially offset by the decrease in accounts payables of US$1,177,000.&#160; </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;<em>Net cash provided by investing activities</em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Net cash provided by investing activities for the year ended December 31, 2024 was US$302,000. Net cash provided by investing activities for the year ended December 31, 2023 was US$317,000. Net cash provided by investing activities for the year ended December 31, 2022 was US$232,000. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">During the year ended December 31, 2024, the Company paid US$5,000 to acquire property, plant and equipment and received dividend of US$307,000 from affiliates.&#160; During the year ended December 31, 2023, the Company paid US$5,000 to acquire property, plant and equipment and received dividend of US$322,000 from affiliates.&#160; During the year ended December 31, 2022, the Company paid US$7,000 to acquire property, plant and equipment and received dividend of US$239,000 from affiliates.&#160; </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Net cash (used in) financing activities</em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Net cash used in financing activities for the year ended December 31, 2024 was US$778,000, as a result of and dividend payment of US$617,000, and purchase of treasury stock of US$7,000 &#160;and repayments of US$154,000 to bank borrowings. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Net cash used in financing activities for the year ended December 31, 2023 was US$82,000, as a result of proceeds from bank borrowings related to trade finance purchases of US$666,000, and purchase of treasury stock of US$14,000 and repayments of US$734,000 to bank borrowings. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Net cash used in financing activities for the year ended December 31, 2022 was US$618,000, as a result of proceeds from bank borrowings related to trade finance purchases of US$868,000, and dividend payment of US$464,000 and repayments of US$1,022,000 to bank borrowings. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">The Company had various banking facilities available for overdraft, import and export credits and foreign exchange contracts from which the Company could have accessed up to US$897,000 as of December 31, 2024. These credit facilities were obtained on the conditions that, among other things, the Company pledge bank deposit of US$897,000, not create a charge or lien on its other assets in favor of third parties without such bank&#8217;s consent, and the Company maintaining a certain level of net worth.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Cash decreased from US$5,628,000 at the end of Fiscal 2022 to US$5,453,000 at the end of Fiscal 2023, and the principal reason for the decrease in cash was an increase in cash collaterals for bank guarantees obtained in the ordinary course of our business for the benefit of our customers to guarantee the Company&#8217;s payment obligations or the performance of other obligations to such customers. Cash decreased&#160;to US$5,805,000 at the end of Fiscal 2024, and the principal reason for the decrease in cash was dividend paid. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">54</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">The Company&#8217;s accounts receivable, net increased from US$1,586,000 at the end of Fiscal 2022 to US$2,864,000 at the end of Fiscal 2023, and decreased to US$1,386,000 at the end of Fiscal 2024. The amount of accounts receivable, net subject to collection is expected to be received under normal commercial trading terms. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">The Company&#8217;s inventories increased from US$603,000 at the end of Fiscal 2022 to US$723,000 at the end of Fiscal 2023, and decreased to US$500,000 at the end of Fiscal 2024.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Capital expenditure</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">The Company&#8217;s capital expenditures were US$5,000, US$5,000, and US$7,000 in Fiscal 2024, Fiscal 2023, and Fiscal 2022, respectively. Capital expenditures during Fiscal 2024, Fiscal 2023, and Fiscal 2022 were incurred primarily in connection with the purchase of office equipment, and furniture and fixtures. The Company continues to develop new products. If such products developments are indeed made, the Company may expect to incur significantly larger capital expenditures, for which the Company presently intends, but as to which no assurance can be made, to use existing cash reserves, cash from operations and available bank credit facilities.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Goodwill</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Annual impairment assessment&#160;- For our 2024 annual impairment test we performed a qualitative assessment, using information as of December 31, 2024. Under current guidance, we are permitted to first assess qualitative factors to determine whether it is more likely than not that the fair value of a reporting unit is less than its carrying amount as a basis for determining whether it is necessary to perform a quantitative goodwill impairment test. We determined there were no factors indicating the need to perform a quantitative goodwill impairment test and concluded that it is more likely than not the fair value of our reporting units is greater than their carrying value and thus there was no impairment to goodwill.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;<strong>Anticipated Future Resources and Uses of Cash</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The Company has historically funded its working capital, capital expenditure, investing and expansions needs from operations, available bank credit facilities and proceeds from the issuances of our ordinary shares and expects to continue funding these requirements from operations and available bank credit facilities. The Company may use its funds to form strategic alliances with third parties, invest in product research and development, or expand its sales offices or, with third parties, seek to acquire new products or form strategic alliances. The Company expects, but can make no assurances that its present cash reserves, cash from operations and existing available bank credit facilities would be sufficient to fund its future cash requirements.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Inflation</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">The Company cannot determine the precise effect of inflation on its operations; however, it does not believe inflation has had a material effect on revenues or results of operations during the past several years. We can provide no assurance that we will not be affected by higher rates of inflation in the future.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Holding Company Structure </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">Euro Tech Holdings Company Limited is a holding company with no operations of its own.&#160;We conduct our operations in Hong Kong and China mainly through our subsidiaries and operating companies. Under our current corporate structure, our BVI holding company may rely on dividend payments from Far East, which is a wholly owned enterprise incorporated in Hong Kong, to fund any cash and financing requirements we may have.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">Under applicable PRC laws and regulations, our PRC subsidiaries are permitted to pay dividends to us only out of their accumulated profits, if any, determined in accordance with PRC accounting standards and regulations. In addition, our PRC subsidiaries are required to allocate at least 10% of their accumulated profits each year, if any, to fund statutory reserves of up to 50% of the registered capital of the enterprise. Statutory reserves are not distributable as cash dividends except in the event of liquidation. For the fiscal years of 2022, 2023 and 2024, no dividends were distributed from our PRC subsidiaries to Far East. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">55</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Unless otherwise specified in this annual report, within the organization, cash to fund our operations is transferred from our BVI holding company to Far East Euro Tech Global, and then our operating subsidiaries in China.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Off-Balance Sheet Arrangements </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">We have not entered into any financial guarantees or other commitments to guarantee the payment obligations of any third parties. We do not have any retained or contingent interest in assets transferred to an unconsolidated entity that serves as credit, liquidity or market risk support to such entity. We do not have any obligation under a derivative instrument. We do not have any obligation arising out of a variable interest in any unconsolidated entity that is held by, and material to, us which provides financing, liquidity, market risk or credit support to us or engages in leasing, hedging or research and development services with us.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Contractual Obligations </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The future undiscounted minimum lease payments, as reconciled to the discounted minimum lease obligation indicated on the Group&#8217;s consolidated balance sheets, under current portion of operating lease obligations and operating lease obligations, net of current maturities, as of December 31, 2024 were as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"/><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="14"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Payment due by December 31,</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>(in US$ thousands)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Total</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>5</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>6</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>7</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>8</strong><strong> and after</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Operating lease commitments</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">92</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">83</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">9</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">92</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">83</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">9</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>C. RESEARCH AND DEVELOPMENT, PATENTS AND LICENSES, ETC.</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The Company did not incur any cost of research and development on its products in Fiscal 2022, 2023 and 2024.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>D. TREND INFORMATION </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">In August 2020, the PRC&#8217;s Ministry of Transport (&#8220;MT&#8221;) issued the &#8220;Measures for the Prevention and Control of Water Pollution from Inland River Vessels under 400 GT&#8221;, which requires that ships generating domestic sewage should set up treatment devices or storage facilities and equipment to prevent domestic sewage from polluting the water, and port management departments and maritime management agencies should also urge port and shipping enterprises to speed up the construction and renovation of facilities. On January 1, 2024, the Chinese legislature implemented the Amendment to the Marine Environmental Protection Law, pursuant to which China is strengthening the supervision and management of marine environment pollution from ships in the port area. See &#8220;Item 4. Information on the Company &#8212; B. Business Overview &#8211; Regulatory Environment&#8221;. Therefore we anticipate that there will be increasing demand from ports and shipyards to take actions to stay compliant with these regulations. In addition, more and more companies in China and elsewhere now have started to adopt their internal ESG (i.e., Environmental, Social and Governance) goals or face external ESG requirements, which will also likely increase these companies&#8217; demand to take actions in this respect. We have also observed the trend towards the increasing use of renewable energy (such as green hydrogen, biofuel) for transportation (including for ship vessels and ports). Furthermore, certain companies, such as companies in the LNG (i.e., liquefied natural gas) industry, would make use of pure or demineralized water as produced water for their internal production process.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">56</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">As more environmental regulations are being promulgated and enforced, and as ESG goals take more prominence, we anticipate customers would have increasing awareness of the importance of legal compliance and taking care of our environment as being a responsible steward. Subsequently it is likely that they increase their budget for improving and upgrading their environmental protection solutions. All these will likely present increasing opportunities for the Company. For example, part of the Company&#8217;s focus is on water treatment, and the Company may have more opportunities to work with new strategic partners to provide customized water solution for our customers, especially those in those sectors that would use water as their fundamental raw material to produce energy or as a key element of their production process, and ultimately, to increase our revenue. Furthermore, we also believe our technical skills in water would be helpful to both green hydrogen and biofuel production process, as water is a raw material in such production and water&#8217;s purification is an important component of the production process. The Company, therefore, would be able to add value to the supply chain of renewable energy. As our experience in this sector accumulates, it may open doors for us to serve the LNG industry. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">We do see and anticipate seeing additional distributors and manufacturers of water treatment products to compete with us. The Company will also likely incur additional expenses to design and development new products, and such increases in cost may not be outpaced by increases in revenue in the near future. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Other than as disclosed in the foregoing disclosures and elsewhere in this annual report, we are not aware of any trends, uncertainties, demands, commitments or events for the fiscal year 2024 that are reasonably likely to have a material adverse effect on our net revenues, income, profitability, liquidity or capital resources, or that caused the disclosed financial information to be not necessarily indicative of future operating results or financial conditions.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>E. CRITICAL ACCOUNTING ESTIMATES </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">The preparation of the accompanying consolidated financial statements in conformity with GAAP requires management to make estimates and judgments that affect the reported amounts of assets and liabilities, the disclosure of contingent assets and liabilities at the date of the consolidated financial statements and the reported amounts of revenues and expenses during the reporting period. Certain accounting estimates of the Group require a higher degree of judgment than others in their application. These include the recognition of revenue and earnings from engineering contracts over time, the valuation of goodwill, and contract assets and contract liabilities. Management continually evaluates all of its estimates and judgments based on available information and experience; however, actual results could differ from these estimates.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;"><strong>Revenue Recognition</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">The Company follows the revenue standard Accounting Standards Codification (&#8220;ASC&#8221;) 606, Revenue from Contracts with Customers.</p><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">The core principle of the revenue standard is that a company should recognize revenue to depict the transfer of promised goods or services to customers in an amount that reflects the consideration to which the company expects to be entitled in exchange for those goods or services. The following five steps are applied to achieve that core principle:</p><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">Step 1: Identify the contract with the customer;</p><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">Step 2: Identify the performance obligations in the contract;</p><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">Step 3: Determine the transaction price;</p><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">Step 4: Allocate the transaction price to the performance obligations in the contract;</p><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">Step 5: Recognize revenue when the company satisfies a performance obligation.</p><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Our revenue is derived from both short and long-term contracts for customers in our engineering segment, as well as short-term contracts for customers in our trading and manufacturing segment. Accounting treatment for these contracts in accordance with Accounting Standards Update (&#8220;ASU&#8221;) 2014-09 (Accounting Standards Codification (&#8220;ASC&#8221;) Topic 606, Revenue from Contracts with Customer), is as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;"><span style="text-decoration:underline">Performance obligations satisfied over time (Engineering services)</span></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Recognition of performance obligations</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">A performance obligation is a promise in a contract to transfer a distinct good or service to the customer, and is the unit of account in the new revenue standard. The contract transaction price is allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Engineering service projects typically span between several days to over 5 years. The majority of our long-term contracts have a single performance obligation as the promise to transfer the individual goods or services is not separately identifiable from other promises in the contracts and, therefore, is not distinct. Some contracts have multiple performance obligations, most commonly due to the contract covering multiple phases of the project life cycle. Revenues are recognized as our obligations are satisfied over time, by reference to the progress towards complete satisfaction of that performance obligation.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">If the Group expects the reference to progress certificates issued by the customers, with additional adjustments where necessary, depicts the Group&#8217;s performance in transferring control of goods or services promised to customers for individual projects, the Group satisfies the performance obligation over time and therefore, recognizes revenue over time in accordance with the output method for measuring progress. Under output method, revenue recognition is based on the stage of completion of the contracts, provided that the stage of contract completion and the gross billing value of contracting work can be measured reliably. The stage of completion of a contract is established by reference to the contract based on billing milestone or stage of work certified by customer.&#160;Generally, invoices are billed upon fulfilment of the measurable performance obligation. The Company evaluates the progress towards completion of the performance obligation at each phase of the contract and bills the customer in accordance with the price agreed upon on the contract.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">57</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Remaining performance obligations (&#8220;RPOs&#8221;)</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">RPOs represent the amount of revenues we expect to recognize in the future from our contract commitments on projects and are hereafter referred to as &#8220;Backlog&#8221;. Backlog includes the entire expected revenue values for subsidiary we consolidate. Backlog may not be indicative of future operating results, and projects included in Backlog may be canceled, modified or otherwise altered by customers.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Variable consideration</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Contract modifications through change orders, claims and incentives are routine in the performance of the Group&#8217;s contracts to account for changes in the contract specifications or requirements. In most instances, contract modifications are not distinct from the existing contract due to the significant integration service provided in the contract and are accounted for as a modification of the existing contract and performance obligation. Either the Group or its customers may initiate change orders, which may include changes in specifications or designs, manner of performance, facilities, equipment, materials, sites and period of completion of the work. Change orders that are unapproved as to both price and scope are evaluated as claims. The Group considers claims to be amounts in excess of approved contract prices that the Group seeks to collect from its customers or others for customer-caused delays, errors in specifications and designs, contract terminations, change orders that are either in dispute or are unapproved as to both scope and price, or other causes of unanticipated additional contract costs.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">In the event that customer requests a change of order (such as an upgrade of specifications, materials or additional work) before the completion of the project, the Group will negotiate and sign a subcontract with the customer subject to mutual agreement.&#160; The subcontract has its own terms and conditions for the variable consideration and is generally integrated with the original master contract. This will normally result in an increase in additional billing to the customer and rarely a reduction in the total value of the contract. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The effect of variable consideration on the transaction price of a performance obligation is recognized as an adjustment to revenue on a cumulative catch-up basis. To the extent unapproved change orders and claims reflected in transaction price (or excluded from transaction price in the case of liquidated damages) are not resolved in the Group&#8217;s favor, or to the extent incentives reflected in transaction price are not earned, there could be reductions in, or reversals of, previously recognized revenue.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;"><span style="text-decoration:underline">Performance obligations satisfied at a point-in-time (Trading and manufacturing)</span></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Revenue for our trading and manufacturing contracts is recognized at a point in time. Sales are recognized when control of the products has transferred, being when the products are delivered to the customer. Delivery occurs when the products have been delivered to the point of receipt by customer.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;"><span style="text-decoration:underline">Classification of contract assets and liabilities</span></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">For revenue recognized associated with its contracts with customers over time, for which the Group has an enforceable right to receive compensation. Many of our contracts contain specific provisions that determine when the Group can bill for its work performed under these contracts.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Any costs incurred or any payment received for a long-term contract, for which revenue has not been recognized due to impracticability or inability to measure the performance obligation, is recorded as a contract asset and contract liability, respectively, on the Group&#8217;s consolidated balance sheets.&#160;Revenue will be recognized when the performance obligation can be measured reliably and the criteria as stipulated under ACS 606 are met.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The Group&#8217;s consolidated balance sheets present contract cost assets that represent our rights to receive payment for completed but not yet billed work and include costs incurred for contracts with customers as at financial year end less amounts received in advance from those customers at financial year end.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The Group&#8217;s consolidated balance sheets present contract liabilities that contain deferred revenue that represent amounts received in advance from customers at financial year end in excess of any costs incurred on those contracts, which are in progress at year end, for which revenue has not yet been recognized.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Contract assets and contract liabilities arising from the same individual contract are presented net as either a single net contract asset or single net contract liability for presentation purposes.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">58</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Investments in Affiliates</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">We account for our interest in an investment using the equity method of accounting per Accounting Standards Codification (&#8220;ASC&#8221;) No. 323, &#8220;Investments - Equity Method and Joint Ventures&#8221; if we are not the primary beneficiary of a VIE or do not have a controlling interest. We consider our representation on the board of directors of our affiliate as a factor when determining whether we have significant influence over such affiliate. The investment is recorded at cost and the carrying amount is adjusted periodically to recognize our proportionate share of income or loss, additional contributions made and dividends and capital distributions received. We record the effect of any impairment or other than temporary decrease in the value of the investment.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">In the event a partially owned equity affiliate was to incur a loss and our cumulative proportionate share of the loss exceeded the carrying amount of the equity method investment, application of the equity method would be suspended and our proportionate share of further losses would not be recognized unless we committed to provide further financial support to the affiliate. We would resume application of the equity method once the affiliate became profitable and our proportionate share of the affiliate&#8217;s earnings equals our cumulative proportionate share of losses that were not recognized during the period the application of the equity method was suspended.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Goodwill</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Goodwill is not amortized. The Group performs either a qualitative or quantitative assessment to review goodwill for impairment on an annual basis. This assessment is performed at the beginning of the fourth quarter, or when circumstances change, such as a significant adverse change in the business climate or the decision to sell a business, both of which would indicate that impairment may have occurred.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">A qualitative assessment considers financial, industry, segment and macroeconomic factors, if the qualitative assessment indicates a potential for impairment, a quantitative assessment is performed to determine if impairment exists. The quantitative assessment begins with a comparison of the fair value of the reporting unit with its carrying value. If the carrying amount of the reporting unit exceeds its fair value, an impairment loss would be recognized in an amount equal to that excess, limited to the total amount of the goodwill allocated to the reporting unit. If the carrying value of goodwill exceeds its implied fair value, an impairment charge would be recorded in the statement of operations and comprehensive income / (loss).</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Accounts receivable, net</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">The Group does not charge interest to its customers and carries its customer receivables at their face amounts, net of expected credit losses. As is common practice in the industry, the Group classifies all accounts receivable as current assets.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">The Group grants trade credit, on a non-collateralized basis, to its customers and is subject to potential credit risk related to changes in business and overall economic activity. The Group analyzes specific accounts receivable balances, historical bad debts, customer credit-worthiness, current economic trends and changes in customer payment terms when evaluating the adequacy of the allowance for doubtful accounts. In the event that a customer balance is deemed to be uncollectible, the account balance is written-off against the allowance for doubtful accounts.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Inventories </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Inventories are measured using the first-in, first-out method and are stated at the lower of cost or net realizable value. Cost of finished goods comprise direct material, direct production costs and an allocated portion of production overhead costs based on normal operating capacity. Allowance is made for obsolete, slow moving or defective items, where appropriate.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Income Taxes</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The Group follows the liability method of accounting for income tax. Under this method, deferred tax assets and liabilities are recorded for future tax consequences of temporary differences between the financial reporting and tax bases of assets and liabilities, and are measured using the enacted tax rates and laws that are expected to be in effect when the underlying assets or liabilities are recovered or settled. The Group also evaluates whether the recorded deferred tax assets and valuation allowances can be realized and, when necessary, reduces the amounts to what is expected to be realized.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">59</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><span class="atag" style="display: inline" id="IT6">ITEM 6. DIRECTORS, SENIOR MANAGEMENT AND EMPLOYEES</span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>A. DIRECTORS AND SENIOR MANAGEMENT</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Information concerning the Directors and Executive Officers of the Company are as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="BORDER-BOTTOM: 1px solid;width:30%;vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Name</strong></p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Age</strong></p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:62%;vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Position</strong></p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">T.C. Leung</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">81</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Chairman of the Board of Directors </p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">David YL Leung</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;51</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Director and Chief Executive Officer</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Jerry Wong</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">66</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Director and Chief Financial Officer</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Alex Sham</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">61</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Director</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Yi Sun</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">48</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Director</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Fu Ming Chen</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">76</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Director</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Janet Cheang</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">69</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Director</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Set forth below is a brief background of the executive officers and directors based upon the information supplied by them to the Company:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;"><strong>T.C. Leung</strong> has served as the Chairman of the Board of Directors of both the Company and Far East since their respective inception. Mr. Leung also served as the Chief Executive Officer of both the Company and Far East from their respective inception until February 1, 2022. Before establishing Far East, Mr. Leung was an engineer for English Electric in England, from 1965 to 1968, and Lockheed Aircraft in Hong Kong, from 1968 to 1970. Mr. Leung also served as managing director of Eurotherm (Far East) Ltd. (&#8220;Eurotherm&#8221;) between 1971 and 1992. From 1988 until his retirement in February 2005, Mr. Leung also served as managing director of Eurotherm Hong Kong. Mr. Leung received a Master&#8217;s degree in Business Administration from the University of East Asia, Macau in 1986 and is a Chartered Engineer, a title bestowed upon a member of the Council of Engineering Institutions in the United Kingdom.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;"><strong>David YL Leung</strong> has served as the Chief Executive Officer of both the Company and Far East since February 1, 2022, has served as a Director of the Company since March, 2019, and has served as the General Manager of Yixing since 2011. Mr. Leung has also served as a director of Euro Tech Global since its incorporation in 2025. Mr. Leung&#8217;s responsibility as the General Manager of Yixing includes management of engineering, sales, marketing, projects, and procurement. Before joining Yixing, Mr. Leung was the Business Development Manager of Euro Tech (Far East) Limited, the parent company of Yixing Pact in Hong Kong, and has been working for the parent company for more than 10 years. Mr. Leung has gained a solid sales and marketing experience in distributing power, analytical and scientific testing equipment in Hong Kong and Macau. He has also worked for a high tech Japanese company focused on power and electrical testing instrument in Japan from 2000 and 2001 as a trainee. Mr. Leung is an environmental studies graduate from Carleton University, Ottawa, Canada (1997) with a special focus on Environmental Impact Assessment, and a Master of Management graduate from Macquarie Graduate School of Management, Sydney Australia (2010).</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;"><strong>Jerry Wong</strong> has served as the Chief Financial Officer and a Director of the Company since its inception. Mr. Wong also served as the Chief Financial Officer and a Director of Far East since 1994 and has been with Far East since 1987. From 1985 until 1987, Mr. Wong worked for MUA Agencies Ltd., a subsidiary of a Hong Kong publicly listed company engaged in the insurance business, as deputy manager of its secretarial, legal and accounting department. From 1981 until 1985, Mr. Wong served as a senior accountant in Price Waterhouse-Hong Kong. He is a Fellow of the Association of Chartered Certified Accountants in the United Kingdom and a Certified Public Accountant in Hong Kong.&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;"><strong>Alex Sham</strong> has been a Director of the Company since its inception. Mr. Sham joined Far East in 1988 and has been its Sales Manager since 1993 and became a Director of Far East in 1996. Mr. Sham received a Bachelor of Science in Applied Chemistry from Hong Kong Baptist University in 1990. Prior to joining Far East, Mr. Sham was employed by the Environmental Protection Department of the Hong Kong Government from 1986 until 1988. Mr. Sham received a Master&#8217;s Degree in Business Administration from the University of Adelaide in 2003.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">60</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;"><strong>Yi Sun </strong>has been a Director of the Company since December 9, 2024. Mr. Sun serves as the Head of Accounting, Taxation and Personnel Department at Kanematsu (China) Co., Ltd (Trading) and Kanekoh Electronics (Shanghai) Co., Ltd. (Manufacturing), both of which are wholly owned subsidiaries of a Japanese company listed on Tokyo Stock Exchange. From 1997 to 2000, Mr. Sun served as the Head of Accounting and Labor Division at Devanlay Garment (Shanghai) Co., Ltd.. Mr. Sun holds a diploma in accounting profession from Shanghai LiXin University of Accounting and Finance. Mr. Sun is a Senior International Financial Manager as awarded by China Association of Chief Financial Officers and the International Financial Management Association and a Certified Senior Accountant as awarded by Shanghai Municipal Finance Bureau, Human Resources and Social Security Bureau.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;"><strong>Fu Ming Chen</strong> has been a Director of the Company since August 24, 2015. Mr. Chen has a background in accounting and tax. He served as the Finance and Tax Manager of Shanghai Huaxiang Woolen Dressing Co., Ltd. from 1995 to 2013. Prior to that, from 1978 to 1994, he served as the Chief Accountant at Gulu Chemical Factory, where he was a member of the senior management. He held a County Township Audit Certificate issued by Shanghai ChuanSha County People&#8217;s Government from 1991 to 2001 which authorized him to carry out audit of Township and Village Enterprises in Shanghai ChuanSha County on behalf of local tax authority. He also holds a Certificate of Accounting Professional &#8211; Intermediate Level Accountant as well as a Higher Professional Education Certificate issued by Shanghai Television University. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;"><strong>Janet Cheang</strong> has been a Director of the Company since July 11, 2017. She is currently an independent art consultant and art dealer. She was founder and director of Metta Fine Arts Ltd., an online art gallery specializing in the promotion and trading of contemporary arts, from 2008 to 2025. From 2007 to 2017, she founded and operated Pinpoint Consultancy Limited, a business consultancy firm specializing in business development and executive coaching for companies operating in Hong Kong and mainland China. From 2003 to 2007, she was founding partner and managing director of Culture Tainment Services Ltd., responsible for business and brand development consultancy and training projects. From 1997 to 2002, she had worked for Estee Lauder (Hong Kong) Ltd. as the Brand General Manager for Estee Lauder brand in Hong Kong and mainland China. She holds a Master of Arts in Practical Philosophy, Lingnan University, Hong Kong (2013), Master of Arts in Training and Human Resource Development, University of Technology Sydney, Sydney (2006) and Bachelor of Arts in Economics &amp; Political Science, Carleton University, Ottawa (1978).</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Directors of the Company serve until the next annual meeting of shareholders of the Company and until their successors are elected and duly qualified. Officers of the Company are elected annually by the Board of Directors and serve at the discretion of the Board of Directors.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Currently to our knowledge, there is no material legal proceeding involving any director, officer or holder of more than five percent of the Company&#8217;s ordinary shares.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Mr. David YL Leung, the Chief Executive Officer, is the son of Mr. T.C. Leung, the Company&#8217;s Chairman of the Board. There are no other family relationships among any of our current or former directors or executive officers. There was no arrangement or understanding with any major shareholders, customers, suppliers or others pursuant to which any person above was selected as a director or member of senior management.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;"><strong>Key Employees</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;"><strong>George Hayek</strong>, Managing Director. He is the founder of Pact-Yixing and is a civil engineer (1967) and post-graduate certificate holder in sanitary engineering and environmental management from the American University of Beirut and the University of California at Irvine (in 1971 and 1988, respectively). Since 1971, he has occupied several key posts in water and waste-water treatment companies in the USA, the UK, Spain, Cyprus, The Middle East, Southeast Asia and the PRC. From 1998 to now, he has been the managing director of Pact-Yixing. His international experience helped Pact in securing most of the contracts with European and American multinational industries in the PRC.&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>B. COMPENSATION.</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">For the fiscal year ended December 31, 2024, we paid an aggregate of approximately US$750,000 in cash to our executive officers and directors. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">61</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;"><em><strong>Compensation of Directors</strong></em><em>.</em> Directors of the Company do not receive compensation for their services as directors; however, our Board of Directors authorizes the payment of compensation to the Directors for their attendance at regular and annual meetings of the Board and for attendance at committee meetings of the Board as is customary for similar companies. Directors are reimbursed for their reasonable out-of-pocket expenses in connection with their duties to the Company.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;"><strong>Pension Plan.</strong> Prior to December 1, 2000, Far East had only one defined contribution pension plan for all its Hong Kong employees. Under this plan, all employees were entitled to pension benefits equal to their own contributions plus 50% to 100% of individual fund account balances contributed by Far East, depending on their years of service with Far East. Far East was required to make specific contributions at approximately 10% of the basic salaries of the employees to an independent fund management company.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">With the introduction of the Mandatory Provident Fund Scheme (&#8220;MPF scheme&#8221;), a defined contribution scheme managed by an independent trustee on December 1, 2000, Far East and its employees who joined Far East subsequently make monthly contributions to the scheme at 5% of the employee&#8217;s cash income as defined under the Mandatory Provident Fund Schemes Ordinance. Under the MPF scheme, the employer and its employees are each required to make contributions to the plan at 5% of the employees&#8217; relevant income, subject to a cap of monthly relevant income of HK$30,000. Contributions to the plan vest immediately.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">As stipulated by the rules and regulations in the PRC, the PRC&#8217;s subsidiaries contributes to state-sponsored retirement plans for its employees in Mainland China. PRC&#8217;s subsidiaries&#8217; contribution approximately 16% of the basic salaries of its employees, and have no further obligations for the actual payment of pension or post-retirement benefits beyond the annual contributions. The state-sponsored retirement plans are responsible for the entire pension obligations payable to retired employees.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">During the year ended December 31, 2024, the aggregate contributions of the Group to the aforementioned pension plans and retirement benefit schemes was US$191,000.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;"><strong>Company&#8217;s Stock Option Plans.</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;"><strong>2019 Stock Option and Incentive Plan</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">In April 2019, the Board of Directors approved the adoption of the 2019 Stock Option and Incentive Plan (the &#8220;Plan&#8221;). The Plan was also subsequently approved under a resolution of the Company&#8217;s shareholders. The Plan provides for the granting of up to 300,000 (500,000 after bonus shares adjustment) ordinary shares (the &#8220;Share Limit&#8221;), in the form of options to Officers, Directors and Key Employees who perform services which contribute to the successful performance of the Company and its subsidiaries. In addition, the Plan provides that, on the first day of each fiscal year commencing on January 1, 2020, the Share Limit shall automatically be increased by that number of shares equal to 5% of the number of ordinary shares outstanding as of such date.&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The Board of Directors or a committee (the &#8220;Committee&#8221;) appointed by the Board of Directors administers the Plan.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Appropriate adjustment in the maximum number of ordinary shares issuable pursuant to this Plan, the maximum number of ordinary shares with respect to which options may be granted within any 12-month period to any participant during the duration of this Plan, the number of shares subject to options granted under this Plan, and the exercise price with respect to options, shall be made to give effect to any increase or decrease in the number of issued ordinary shares resulting from a subdivision or consolidation of shares whether through reorganization, recapitalization, division of shares, reverse share split, spin-off, split-off, spin-out, or other distribution of assets to shareholders, issue of bonus shares or combination of shares, assumption and conversion of outstanding options due to an acquisition by the Company of the shares, stock or assets of any other company or corporation, other increase or decrease in the number of such shares outstanding effected, without receipt of consideration by the Company, or any other occurrence for which the Committee determines an adjustment is appropriate.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">62</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The purchase price per share of the ordinary shares to be paid upon the exercise of the option must be at least 100% of the fair market value of an ordinary shares on the date on which the option was granted. Under the Plan, if the ordinary shares are principally traded on a national securities exchange or the Nasdaq Global Market or Capital Market at the time of grant, the Company is required to use, at fair market value, the average of the closing prices of the ordinary shares for the ten consecutive trading days immediately before the date of grant. If the ordinary shares are traded on a national securities exchange or the Nasdaq Stock Global Market or Capital Market, but no closing prices are reported for such ten-day period, or if the ordinary shares are principally traded in the over-the-counter market, the Company is required to use, as fair market value, the average of the mean between the bid and asked prices reported for the Company&#8217;s ordinary shares at the close of trading during such ten-day period before the date of grant. If the ordinary shares are traded neither on a national securities exchange, one of the Nasdaq&#8217;s Markets nor in the over-the-counter market or if bid and asked prices are otherwise not available, the fair market value of the ordinary shares on the date of grant will be determined in good faith by the Committee or the Board of Directors, as the case may be.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The Board of Directors or the Committee, as the case may be, determines, at the time of grant, when each option granted under the Plan will become exercisable. Notwithstanding the foregoing, all options held by a key employee of the Company or its subsidiaries become immediately exercisable, whether or not exercisable at the time, upon the death or disability, and shall be exercisable within twelve (12) months after the date of death or disability, but in no event later than the expiration date of such Options.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">No option is to be exercisable more than ten years from the date the option is granted.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;"><span style="text-decoration:underline">Payment of Exercise Price for Options.</span> Under the Plans, payment for shares purchased upon exercise of an option may be made by any of the following methods, subject to certain requirements: (i) in cash, (ii) in ordinary shares which have been held by the participant for not less than six months prior to the exercise of the option, valued at its Fair Market Value (as defined) on the date of exercise, (iii) in cash by a broker-dealer to whom the holder of the option has submitted an exercise notice consisting of a fully endorsed option, or (iv) by such other medium of payment as the Board or the Committee, as applicable, in its sole discretion, shall authorize, or by any combination of (i), (ii), or (iii), at the sole discretion of the Board or the Committee, as applicable, or in any manner provided in the option agreement, except by directing the Company to withhold ordinary shares otherwise issuable upon the exercise of the Option in payment of the exercise price.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="text-decoration:underline">Transfer of Options.</span> Under the Plans, an option may not be sold, assigned or otherwise transferred except to:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="width:4%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">the spouse or lineal descendant of a plan participant;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">the trustee of a trust for the primary benefit of a plan participant&#8217;s spouse or lineal descendant;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">a partnership of which a plan participant and lineal descendants are the only partners; or</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">a tax exempt organization.</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">These assignments are only permitted if the assigning option holder does not receive any compensation in connection with the assignment and the assignment is expressly approved by the Board or Committee, as the case may be.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The Company indemnifies the members of any Committee and its delegates and the Chief Executive Officer against (a) the reasonable expenses (as such expenses are incurred), including attorneys&#8217; fees actually and necessarily incurred in connection with the defense of any action, suit or proceeding (or in connection with any appeal therein), to which they or any of them may be a party by reason of any action taken or failure to act under or in connection with the Plan, or any option granted under the Plan; and (b) all amounts paid by them in settlement thereof (provided such settlement is approved by independent legal counsel selected by the Company) or paid by them in satisfaction of a judgment in any such action, suit or proceeding, except in relation to matters as to which it shall be adjudged in such action, suit or proceeding that such Committee member or delegatee, as applicable, is liable for gross negligence or gross misconduct in the performance of his or her duties; provided that within 60 days after institution of any such action, suit or proceeding a Committee member or delegatee shall in writing offer the Company the opportunity, at its own expense, to handle and defend the same.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">63</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The Board may terminate, suspend, or amend the Plan at any time without the authorization of shareholders to the extent allowed by law or the rules of any market on which the Company&#8217;s shares are then listed or quoted.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">During the year ended December 31, 2019, the Company granted such options to its officers, directors and employees, which allow them to purchase up to 51,000 ordinary shares. The exercise price of all options granted is US$2.6 per share. The stock options granted became exercisable on January 1, 2022 and will terminate on April 18, 2029. The Company estimated the fair value of the options granted under the Binomial pricing model at US$2.324 per share.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">During the year ended December 31, 2022, the Company granted such options to its officers, directors and employees, which allow them to purchase up to 80,000 ordinary shares. The exercise price of all options granted is US$2.80 per share. The stock options granted will become exercisable on April 1, 2024 and terminate on April 18, 2029.&#160;The Company has estimated the fair value of the options granted under the Binomial pricing model at US$1.3055 per share. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">During the year ended December 31, 2022, 41,250 options were cancelled as those options became non-exercisable when those related employees left the Company. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">During the year ended December 31, 2023 and 2024, the Company did not grant any options to its officers, directors and employees. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Changes in outstanding stock options under plans mentioned above were as follows: </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="22"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>2</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Number of</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Options</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Weighted</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>average</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>exercise</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>price</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Number of</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Options</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Weighted</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>average</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>exercise</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>price</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Number of</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Options</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Weighted</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;<strong>average</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>exercise</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>price</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Outstanding, beginning of year</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">206,650</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">1.52</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">206,250</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">1.52</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">85,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">1.56</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Granted</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">80,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">2.80</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Cancelled</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(41,250</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(1.04</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Bonus shares adjustment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;">82,500</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;">0.72</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Outstanding, end of year</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;">206,250</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;">1.52</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;">206,250</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;">1.52</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;">206,250</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;">1.52</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Exercisable, end of year</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;">206,250</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;">1.52</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;">86,250</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;">1.04</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;">86,250</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;">1.04</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">As of December 31, 2024, there was no unrecognized stock-based compensation expense related to unvested stock options. The compensation expense for Fiscal 2024 is US$12,000.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The Group applies the provisions of ASC&#160;718-10, which requires to recognize expense related to the fair value of stock-based compensation awards, including employee stock options.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">64</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Issuance of Bonus Shares</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">We did not issue any bonus shares during fiscal year 2024 and 2023.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">We issued bonus shares on January 21, 2022 to shareholders of record as of January 7, 2022; such shareholders received one (1) ordinary share for every two (2) ordinary shares held. All issuances resulting in a fractional share will be rounded down to the next whole share.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>C. BOARD PRACTICES</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em><strong>Terms of Directors and Executive Officers</strong></em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Our board consisted of seven directors for fiscal year 2024. The term of each of the Company&#8217;s directors expires at the election and qualification of their successors at the next annual meeting of the Company&#8217;s shareholders, anticipated to be held in November of this year. The Company&#8217;s directors were re-elected at the Company&#8217;s last annual meeting of shareholders in November 2024, except Mr. Y.K. Liang passed away shortly before such annual meeting of shareholders and our board of directors elected Mr. Yi Sun as a director in December, 2024. In addition, the service agreement between us and the directors do not provide benefits upon termination of their services.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Our officers are elected by and serve at the discretion of the board of directors. The executive officers shall hold office until their successors are duly elected and qualified, but any officer elected or appointed by the directors may be removed at any time, with or without cause, by resolution of directors. Any vacancy occurring in any office may be filled by resolutions of directors.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The Company had 5 meetings of its Board of Directors during Fiscal 2024.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em><strong>Board Committee</strong></em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The Board has a standing Audit Committee to assist the Board in carrying out its duties. The Audit Committee has a written charter approved by the Board. The chair of the Audit Committee determines the meeting agenda of the Audit Committee. The Audit Committee members receive materials in advance of Committee meetings allowing them to prepare for the meeting. During Fiscal 2024, our Audit Committee had 3 meetings.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The Audit Committee currently consists of Yi Sun, Janet Cheang and Fu Ming Chen. The Audit Committee&#8217;s &#8220;financial expert&#8221; is Yi Sun. The Board has determined that the membership of the Audit Committee meets the current independence requirements of the NASDAQ listing standards as same applies to private foreign issuers and the applicable rules and regulations of the SEC because they are not currently employed by us, and do not fall into any of the enumerated categories of who cannot be considered independent in NASDAQ&#8217;s listing standards.&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The Audit Committee assists the Board in monitoring the Company&#8217;s financial accounting, internal controls, planning and reporting. Among its duties, the Audit Committee:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="width:4%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">reviews the Company&#8217;s auditing, accounting and financial reporting process;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">reviews the adequacy of the Company&#8217;s internal controls;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">reviews the independence, fee arrangements, audit scope, and performance of the Company&#8217;s independent auditors, and recommends the appointment or replacement of independent auditors to the Board of Directors;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">reviews and approves all non-audit work, if any, to be performed by the auditors;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">reviews the adequacy of the organizational structure;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">reviews, before release, the audited consolidated financial statements and operating and financial review and prospects contained in the Company&#8217;s Annual Report on Form 20-F, and recommends that the Board of Directors submit these items to the shareholders&#8217; meeting for approval;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">provides an open avenue of communication among the Company&#8217;s independent auditors, financial and senior management, and the Board of Directors;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">reviews and updates the Company&#8217;s Code of Business Conduct and Ethics and ensure that there is a system to enforce the same and that this Code complies with all applicable rules and regulations;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">ensures that the Company&#8217;s management and auditors assess current financial reporting issues and practices; and</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">reviews and pre-approves both audit and non-audit services to be provided by the Company&#8217;s auditors.</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">65</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>D. EMPLOYEES</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">As of December 31, 2024, 2023, and 2022, staffing levels at the Company (excluding Yixing) were as follows respectively:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>2</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Marketing and sales</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">7</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">7</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">7</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Administrative</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">13</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">13</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">13</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Technical</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">3</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">3</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">4</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total full-time employees</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">23</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">23</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">24</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">On December 31, 2024, 2023, and 2022, staffing levels at Yixing were as follows respectively:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>2</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Administrative</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">6</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">6</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">6</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Technical</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">18</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">18</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">19</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total full time employees</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">24</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">24</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">25</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Our employees are located in Hong Kong and mainland China.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">None of our employees&#160;is represented by a labor union or covered by a collective bargaining agreement. We have never experienced any employment related work stoppages, and we consider our relations with our employees to be good. The Company&#8217;s management consists of its officers and directors.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>E. SHARE OWNERSHIP</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">The following table sets forth information concerning the beneficial ownership of the Company&#8217;s ordinary shares as of April 15, 2025 by (i) each person known to the Company to own 5% or more of the outstanding ordinary shares, (ii) each director and executive officer of the Company, and (iii) all officers and directors of the Company as a group. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Beneficial ownership is determined in accordance with the rules of the SEC and includes voting or investment power with respect to, or the power to receive the economic benefit of ownership of, the securities. In computing the number of shares beneficially owned by a person and the percentage ownership of that person, we have included shares that the person has the right to acquire within 60 days, including through the exercise of any option or other right or the conversion of any other security. These Shares, however, are not included in the computation of the percentage ownership of any other person. The calculations of percentage ownership in the table below are based on 7,616,844 ordinary shares outstanding as of April 15, 2025.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">66</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">None of our existing shareholders has different voting rights from other shareholders. To our knowledge, we are not owned or controlled, directly or indirectly, by another corporation, by any foreign government or by any other natural or legal persons, severally or jointly. We are not aware of any arrangement that may, at a subsequent date, result in a change of control of our company. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Amount </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>And Nature</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>&#160;of</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Beneficial</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Ownership</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Approximate</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Percentage</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;<strong>Of Ordinary</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Shares </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Owned</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">T.C. Leung (1)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3,998,447</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">52.5</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Alex Sham(1)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">201,452</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2.6</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Jerry Wong(1)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">153,242</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">(3)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2.0</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Yi Sun(1)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">&#8212;</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">&#8212;</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Fu Ming Chen(1)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">&#8212;</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">&#8212;</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Janet Cheang(1)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">&#8212;</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">&#8212;</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">David YL Leung(1)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">94,250</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">(2)(4)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1.2</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">All Executive Officers and Directors of the Company as a group (7 persons)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">4,447,391</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">57.51</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">(1)</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The address for the Company&#8217;s officers and directors is c/o Euro Tech (Far East) Ltd., Unit D, 18/F., Gee Chang Hong Centre, 65 Wong Chuk Hang Road, Hong Kong.</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">(2)</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">This includes the share option which is exercisable from January 1, 2022 to April 18, 2029 to purchase 18,750 ordinary shares at the purchase price of $1.04 per share. This share option is granted under our 2019 Stock Option and Incentive Plan.</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">(3)</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">This includes the share option which is exercisable from April 1, 2024 to April 18, 2029 to purchase 22,500 ordinary shares at the purchase price of $1.8674 per share. This share option is granted under our 2019 Stock Option and Incentive Plan.</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">(4)</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">This includes the share option which is exercisable from April 1, 2024 to April 18, 2029 to purchase 75,000 ordinary shares at the purchase price of $1.8674 per share. This share option is granted under our 2019 Stock Option and Incentive Plan.</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>F. DISCLOSURE OF A REGISTRANT&#8217;S ACTION TO RECOVER ERRONEOUSLY AWARDED COMPENSATION</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Not applicable.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><span class="atag" style="display: inline" id="IT7">ITEM 7. MAJOR SHAREHOLDERS AND RELATED PARTY TRANSACTIONS</span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>A. MAJOR SHAREHOLDERS</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">See &#8211; Item 6E. Share Ownership.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>B. RELATED PARTY TRANSACTIONS</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">See &#8211; Item 6B. Compensation.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>C. INTERESTS OF EXPERTS AND COUNSEL</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">This item does not apply to annual reports on Form 20-F.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><span class="atag" style="display: inline" id="IT8">ITEM 8. FINANCIAL INFORMATION</span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>A. CONSOLIDATED STATEMENTS AND OTHER FINANCIAL INFORMATION</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px;background-color:#cceeff"><td style="width:9%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Item 8A.1</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">See &#8211; Item 18.</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Item 8A.2</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">See &#8211; Item 18.</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Item 8A.3</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">See &#8211; Report of Independent Registered Public Accounting Firm, page F-2.</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Item 8A.4</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">We have complied with this requirement.</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Item 8A.5</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Not applicable.</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Item 8A.6</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Not applicable.</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Item 8A.7</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Legal Proceedings. See &#8211; Item 4B. Business Overview-Litigation.</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Item 8A.8</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Dividend Policy.</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">67</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Dividend Policy </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">On May 31, 2022, we declared a special cash dividend of an aggregate of US$463,927.92, which dividend was paid to all holders of record of our ordinary shares as of June 13, 2022. We did not declare any dividend in fiscal year 2023. On May 28, 2024, we declared a special cash dividend of an aggregate of US$617,303.92, which dividend was paid to all holders of record of our ordinary shares as of June 13, 2024. The payment of cash dividends, if any, in the future is within the discretion of the Board of Directors. The payment of cash dividends, if any, in the future will depend upon the Company&#8217;s earnings, capital requirements and financial conditions and other relevant factors. The Company&#8217;s Board of Directors does not presently intend to declare any cash dividends in the foreseeable future, but instead intends to retain all earnings, if any, for use in the Company and Far East&#8217;s business operations.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">We are a holding company incorporated in the British Virgin Islands. We may rely on dividends from our subsidiaries in mainland China, Hong Kong, Singapore and the British Virgin Islands for our cash requirements, including any payment of dividends to our shareholders. Mainland China, Hong Kong, Singapore and British Virgin Islands regulations may restrict the ability of our mainland China, Hong Kong, Singapore and British Virgin Islands subsidiaries to pay dividends to us. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>B. SIGNIFICANT CHANGES</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Except as disclosed elsewhere in this annual report, we have not experienced any significant changes since the date of our audited consolidated financial statements included in this annual report.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><span class="atag" style="display: inline" id="IT9">ITEM 9. THE OFFER AND LISTING</span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>A. OFFER AND LISTING DETAILS</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The Company has one class of securities presently registered: ordinary shares. These securities are presently traded on the NASDAQ&#8217;s Capital Market under the trading symbols &#8220;CLWT&#8221;.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>B. PLAN OF DISTRIBUTION</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">This item does not apply to annual reports on Form 20-F.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>C. MARKETS</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">See &#8211; Item 9A. &#8220;Listing Details.&#8221;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>D. SELLING SHAREHOLDERS</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">This item does not apply to annual reports on Form 20-F.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">68</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>E. DILUTION</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">This item does not apply to annual reports on Form 20-F.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>F. EXPENSES OF THE ISSUE</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">This item does not apply to annual reports on Form 20-F.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>&#160;</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><span class="atag" style="display: inline" id="IT10">ITEM 10. ADDITIONAL INFORMATION</span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>A. SHARE CAPITAL</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">This item does not apply to annual reports on Form 20-F.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>B. MEMORANDUM AND ARTICLES OF ASSOCIATION</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">On January 1, 2005, the BVI Business Companies Act, as amended, (the &#8220;BC ACT&#8221;) came into force, with the objective of replacing the now repealed International Business Companies Act ( the &#8220;IBC&#8221; Act ) over a 2 year transitional period. The Company was incorporated under the IBC Act, on January 1, 2007, the Company was automatically re-registered under the BC Act as a BVI Business Company. Companies that were automatically re-registered on January 1, 2007 were not required to submit a new Memorandum and Articles of Association and certain key sections of the IBC Act were &#8220;grandfathered&#8221; into the BC Act: these are known as the &#8220;Transitional Provisions&#8221;. The Transitional Provisions ensure that well established and recognized concepts from the IBC Act, such as &#8220;authorized capital&#8221;, &#8220;capital accounts&#8221; and &#8220;surplus accounts&#8221;, remain relevant until such time as that company elects to adopt and register a New Memorandum and Articles of Association that fully conform with the BC Act. In November 2011 and January 2012, the Company filed an Amended and Restated Memorandum and Articles of Association with the Registry of Corporate Affairs of the BVI Financial Services Commission that on November 29, 2011 and January 30, 2012 that became as of filing with the BVI authorities to, among other things, (i) not apply the Transitional Provisions and (ii) remove these concepts from the Company&#8217;s charter documents eliminating a layer of requirements that would otherwise apply to share divisions (splits), combinations (reverse splits), redemptions and dividends. The Company&#8217;s accounting treatment of share capital need not change. Changes in the Company&#8217;s Amended and Restated Memorandum are summarized in the Company&#8217;s Forms 6-K filed with the SEC on November 30, 2011 and February 6, 2012.The foregoing Forms 6-K are hereby incorporated by reference as if fully stated herein. Set forth below is a summary of certain terms of the Amended and Restated Memorandum and Articles of Association and the BC Act relating to the Company&#8217;s securities. This description and the descriptions contained in the Forms 6-K incorporated by reference does not purport to be complete and is qualified in its entirety by reference to BVI statutory law and the Amended and Restated Memorandum and Articles of Association.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Holders of the Company&#8217;s ordinary shares are entitled to one vote for each whole share on all matters to be voted upon by shareholders, including the election of directors. Holders of ordinary shares do not have cumulative voting rights in the election of directors. All shares of ordinary shares are equal to each other with respect to liquidation and dividend rights. In the event of the liquidation of the Company, all assets available for distribution to the holders of ordinary shares are distributable among them according to their respective share holdings. All of the outstanding shares of ordinary shares of the Company are duly authorized, validly issued, fully paid and non-assessable.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Pursuant to the Company&#8217;s Memorandum and Articles of Association and pursuant to the laws of the BVI, the Company&#8217;s Memorandum and Articles of Association may be amended by a resolution of the Board of Directors without shareholder approval. This includes amendments to increase or reduce the authorized capital stock of the Company or to increase or reduce the par value of its shares. The ability of the Company to amend its Memorandum and Articles of Association without shareholder approval could have the effect of delaying, deterring or preventing a change in control of the Company without any further action by the shareholders including but not limited to, a tender offer to purchase the Common Stock at a premium over then current market prices.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">69</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Under United States law, majority and controlling shareholders generally have certain &#8220;fiduciary&#8221; responsibilities to the minority shareholders. Shareholder action must be taken in good faith and actions by controlling shareholders which are obviously unreasonable may be declared null and void. The BVI law protecting the interests of the minority shareholders is not as protective in all circumstances as the law protecting minority shareholders in United States jurisdictions. While BVI law does not permit a shareholder of a BVI company to sue its directors derivatively, i.e., in the name of and for the benefit of the Company, and to sue the Company and its directors for his benefit and the benefit of others similarly situated, the circumstances in which any such action may be brought that may be available in respect of any such action may result in the rights of shareholders of a British Virgin Island company being more limited than those rights of shareholders in a United States company.&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The Board of Directors of the Company, without further shareholder action, may issue shares of Preferred Stock in any number of series and may establish as to each such series the designation and number of shares to be issued and the relative rights and preferences of the shares of each series, including provisions regarding voting powers, redemption, dividend rights, rights upon liquidation and conversion rights. The issuance of shares of Preferred Stock by the Board of Directors could adversely affect the rights of holders of ordinary shares by, among other matters, establishing preferential dividends, liquidation rights and voting power. The Company has not issued any shares of Preferred Stock and has no present intention to issue shares of Preferred Stock. The issuance thereof could discourage or defeat efforts to acquire control of the Company through acquisition of ordinary shares.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;"><strong>Share Register and Voting Restrictions.</strong> The Company maintains a share register at its registered office in the BVI. The Company&#8217;s registered number is 200960. The objects of the Company are to engage in any act or activity that is not prohibited under any law of the BVI. Under the Articles, the Company is not required to treat the holder of a registered share in the Company as a shareholder until that person&#8217;s name has been entered in the share register. The holders of ordinary shares have one vote for each Ordinary Share held of record. The holders of Preferred Shares have such voting powers, full or limited, or no voting powers and such restrictions as may be stated and expressed in the resolution providing for the issuance of the Preferred Shares.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;"><strong>Shareholders Meeting.</strong> The directors of the Company may convene meetings of the shareholders of the Company at such times and in such manner and places within or outside the BVI as the directors consider necessary or desirable. Upon the written request of the shareholders holding ten (10%) percent or more of the outstanding voting shares in the Company the directors must convene a meeting of shareholders.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">A shareholder may participate at a meeting of shareholders by telephone or other electronic means, as long as all shareholders participating in the meeting are able to hear each other.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">A meeting of shareholders is duly constituted if, at the commencement of the meeting, there are present in person or by proxy not less than fifty (50%) percent of the votes of the shares or class series of shares entitled to vote on resolutions of shareholders to be considered at the meeting. If a quorum is not present, the meeting, if convened upon the requisition of shareholders, shall be dissolved; in any other case it shall stand adjourned to the next business day at the same time and place or to such other time and place as the directors may determine, and if at the adjourned meeting there are present in person or by proxy not less than one third of the votes of the shares or each class or series of shares entitled to vote on the resolutions to be considered by the meeting, those present shall constitute a quorum but otherwise the meeting shall be dissolved.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Any action that may be taken by the shareholders at a meeting may also be taken by a resolution of shareholders consented to in writing or by written electronic communication by a majority or greater number of shares entitled to vote, without the need for any notice, but if not an unanimous writing, a copy of such resolution shall be sent to all non-consenting shareholders.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;"><strong>Pre-emptive Rights.</strong> The holders of ordinary shares and preferred shares are not entitled to any pre-emptive or similar rights.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;"><strong>Conflict of Interests.</strong> No agreement or transaction between the Company and one or more of its directors or any person in which any director has a financial interest or to whom any director is related, including as a director of that other person, is void and avoidable for this reason only, or by reason only that the director is present at the meeting of directors, or at the meeting of the committee of directors that approves the agreement or transaction, or that the vote or consent of the director is counted for that purpose, if the material facts of the interest of each director in the agreement or transaction and his interest in or relationship to any other party to the agreement or transaction are disclosed in good faith, or are known by the other directors. A director who has an interest in any particular business to be considered at a meeting of directors or shareholders may be counted for purposes of determining whether the meeting is duly constituted.&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">70</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Generally, no purchase, redemption or other acquisition of shares shall be made unless the directors determine that immediately after purchase, redemption or other acquisition the Company will be able to satisfy its liabilities as they become due in the ordinary course of its business and the realizable value of the assets of the Company will not be less than the sum of its total liabilities, other than deferred taxes, as shown in the books of account, and its capital and, in the absence of fraud, the decision of the directors as to the realizable value of the assets of the Company is conclusive, unless a question of law is involved.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;"><strong>Duration, Liquidation, Merger.</strong> The Company shall continue until wound-up and dissolved by a resolution of shareholders, or under the terms of any insolvency or liquidation laws in force in the BVI. Under BVI law the Company may merge with another company, including a parent company or subsidiary, incorporated in the BVI, or in a jurisdiction outside of the BVI where the laws of that jurisdiction permit the merger. A merger must be authorized by the directors of the Company and approved by the shareholders.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;"><strong>Board of Directors.</strong> The business and affairs of the Company are managed by the directors who may exercise all such powers of the Company as are not by BVI law or by the Company&#8217;s Articles reserved to the shareholders of the Company.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>C. MATERIAL CONTRACTS</strong><strong> </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">We have not entered into any material contracts other than in the ordinary course of business and other than those described in &#8220;Item 4. Information on the Company&#8221; and &#8220;Item 7. Major Shareholders and Related Party Transactions &#8211; B. Related Party Transactions&#8221; or elsewhere in this annual report on Form 20-F.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>D. EXCHANGE CONTROLS</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">There are no exchange control restrictions on payment of dividends on the Company&#8217;s ordinary shares or on the conduct of the Company&#8217;s operations either in Hong Kong, where the Company&#8217;s principal executive offices are located, or the BVI, where the Company is incorporated. There are no BVI laws which impose foreign exchange controls on the Company or that effect the payment of dividends, interest, or other payments to non-resident holders of the Company&#8217;s securities. BVI laws and the Company&#8217;s Memorandum and Articles of Association impose no limitations on the right of non-resident or foreign owners to hold the Company&#8217;s securities or vote the Company&#8217;s ordinary shares. The PRC government has established a unified exchange rate system and system of exchange controls to which the Company is subject.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>E. TAXATION</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The following summary of the material British Virgin Islands, Singapore, Hong Kong, People&#8217;s Republic of China and United States federal income tax consequences of an investment in our ordinary shares is based upon laws and relevant interpretations thereof in effect as of the date of this annual report, all of which are subject to change. This summary does not deal with all possible tax consequences relating to an investment in our ordinary shares, such as the tax consequences under state, local and other tax laws.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>BVI</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The Company and Pact Asia Pacific Limited are exempted from taxation in the BVI.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;<strong>SINGAPORE</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Our subsidiaries incorporated in Singapore are subject to the Singapore corporate tax of 17% in 2022, 2023 and 2024. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>HONG KONG</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">In 2024, the Company&#8217;s subsidiary organized in Hong Kong, Far East, provides for Hong Kong profits tax at a rate of 8.25% on assessable profits up to US$256,000 and 16.5% on any part of assessable profits over US$256,000 on the basis of their income for financial reporting purposes, adjusting for income and expense items which are not assessable or deductible for profits tax purposes. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">71</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>PRC </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Euro Tech Trading (Shanghai) Limited (&#8220;ETTS&#8221;), a subsidiary of Far East, has been subject to PRC Enterprise Income Tax (&#8220;EIT&#8221;) at a rate of 25% in 2024 after offsetting losses brought forward, if any, on the basis of its income for financial reporting purposes, adjusting for income and expense items which are not assessable or deductible for PRC Enterprise Income Tax purposes. As of December 31, 2024, ETTS had an assessable loss carried forward of US$19,000 as agreed by the local tax authority to offset its profit for the forth coming years. Such loss will expire in 5 years. ETTS ceased its active business operations in 2021. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Shanghai Euro Tech Limited (&#8220;SET&#8221;), a subsidiary of Far East, has been subject to the PRC Enterprise Income Tax of 25% in 2024 prior to its re-registration in October, 2024. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Yixing Pact Environmental Technology Co. Ltd. (&#8220;Yixing&#8221;) has been subject to PRC Enterprise Income Tax at a rate of 25% in 2024, after offsetting losses brought forward, if any, on the basis of its income for financial reporting purposes, adjusting for income and expense items which are not assessable or deductible for PRC Enterprise Income Tax purposes. As of December 31, 2024, Yixing had an assessable loss carried forward of US$1,235,000 as agreed by the local tax authority to offset its profit for the forth coming years. Such loss will expire in 5 years.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Under the New Enterprise Income Tax Law and the implementation rules, profits of the PRC subsidiaries earned on or after January 1, 2008 and distributed by the PRC subsidiaries to foreign holding company are subject to a withholding tax at a rate of 10% unless reduced by tax treaty. Aggregate undistributed earnings of Far East&#8217;s subsidiaries located in the PRC that are available for distribution to Far East of approximately US$0.6 million on December 31, 2024 are intended to be reinvested, and accordingly, no deferred taxation has been made for the PRC dividend withholding taxes that would be payable upon the distribution of those amounts to Far East. Distributions made out of pre-January 1, 2008 retained earnings will not be subject to the withholding tax.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The items comprising the difference between income taxes computed at the Hong Kong profits tax and PRC EIT statutory tax rates in effect for 2024, 2023, and 2022 and our effective income taxes rates were as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="10"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>2</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Income before income taxes</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">519</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">1,695</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">563</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Computed tax using respective companies&#8217; statutory tax rates</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(100 </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">78</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">131</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Change in valuation allowances</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">62</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(79 </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">58</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Under-provision for income taxes in prior years</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Non-deductible expenses</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(34 </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(44 </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(213 </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Income taxes (expense) / credit at effective tax rate</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(72 </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(45 </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(24 </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">72</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>PRC STATUTORY RESERVES.</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Under the relevant PRC laws and regulations, the PRC subsidiaries are required to appropriate certain percentage of their respective net income to two statutory funds (i.e., the statutory reserve fund and the statutory staff welfare fund). The PRC subsidiaries can also appropriate certain amount of their net income to the enterprise expansion fund.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">(i) Statutory reserve fund.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Pursuant to applicable PRC laws and regulations, the PRC subsidiaries are required to allocate at least 10% of its net income to the statutory reserve fund until such fund reaches 50% of its registered capital. The statutory reserve fund can be utilized upon the approval by the relevant authorities, to offset accumulated losses or to increase its registered capital, provided that such fund is maintained at a minimum of 25% of its registered capital.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Under the PRC laws and regulations, the PRC subsidiaries are restricted in their ability to transfer certain of their net assets in the form of dividend payments, loans or advances. The amounts restricted include paid-in capital and statutory reserves, as determined pursuant to PRC generally accepted accounting principles, totaling US$2,150,000 as of December 31, 2024.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">(ii) Statutory staff welfare fund.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Pursuant to applicable PRC laws and regulations, the PRC subsidiaries are required to allocate certain amount of its respective net income to the statutory staff welfare funds determined by it. The statutory staff welfare funds can only be used to provide staff welfare facilities and other collective benefits to their employees. This fund is non-distributable other than upon liquidation of the PRC subsidiaries.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">(iii) Enterprise expansion fund.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The enterprise expansion fund shall only be used to make up losses, expand the PRC subsidiaries&#8217; production operations, or increase the capital of the subsidiaries. The enterprise expansion fund can be utilized upon approval by relevant authorities, to convert into registered capital and issue bonus capital to existing investors, provided that such fund is maintained at a minimum of 25% of its registered capital.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>UNITED STATES FEDERAL INCOME TAXATION</strong><strong> </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The following discussion is a summary of the material United States federal income tax considerations that may be relevant to the purchase, holding, ownership, disposition or sale of our ordinary shares.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">This discussion applies only to U.S. Holders (as defined below) that hold the ordinary shares as capital assets. This discussion is general in nature and does not discuss all aspects of U.S. federal income taxation which may be important to particular investors in light of their individual circumstances, including investors subject to special U.S. taxation rules (such as banks, other financial institutions, insurance companies, tax-exempt entities, retirement plans, regulated investment companies, partnerships, dealers in securities or currencies, brokers, traders in securities electing to mark to market, financial institutions, U.S. expatriates, persons who have acquired our ordinary shares as part of a straddle, hedge, conversion transaction or other integrated investment, persons that have a &#8220;functional currency&#8221; other than the U.S. dollar or persons that own (or are deemed to own) 10% or more of our stock by vote or value).&#160;This discussion is based on the Internal Revenue Code of 1986, as amended (the &#8220;<span style="text-decoration:underline">Code</span>&#8221;), Treasury Regulations promulgated thereunder, and administrative and judicial interpretations thereof, all as in effect on the date hereof and all of which are subject to change, possibly with retroactive effect, or to different interpretation. This discussion does not address any U.S. state or local or non-U.S. tax considerations or any U.S. federal estate, gift, Medicare contribution tax applicable to net investment income of certain non-corporate U.S. Holders (as defined below) or alternative minimum tax.&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">A &#8220;U.S. Holder&#8221; for purposes of this discussion is a beneficial owner of ordinary shares that is, for U.S. federal income tax purposes: (a) a citizen or resident of the United States; (b) a corporation or other entity taxable as a corporation created or organized in or under the laws of the United States, any state thereof, or the District of Columbia; (c) an estate the income of which is subject to U.S. federal income taxation, regardless of its source; or (d) a trust if it is subject to the primary supervision of a court within the United States and one or more U.S. persons have the authority to control all substantial decisions of the trust or has a valid election in effect under applicable U.S. Treasury regulations to be treated as a U.S. person. If a partnership (or other entity or arrangement treated as a partnership for U.S. federal income tax purposes) holds our ordinary shares, the U.S. federal income tax treatment of a partner in such partnership will generally depend on the status of the partner and the activities of the partnership. A partner of a partnership holding our ordinary shares is urged to consult its own tax advisor regarding an investment in our ordinary shares.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">A U.S. Holder holding or considering acquiring or disposing of our ordinary shares is urged to consult his or her own tax advisor concerning the U.S. federal, state, local and non-U.S. income and other tax consequences of the holding, ownership, purchase, disposition or sale of our ordinary shares in light of such U.S. Holder&#8217;s particular circumstances.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">73</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;"><em>Passive foreign investment company rules.</em> We will be considered a passive foreign investment company (&#8220;PFIC&#8221;) for any taxable year in which either (a) at least 75% of our gross income for such taxable year is passive income or (b) at least 50% of the value (determined on the basis of a quarterly average) of our assets during such year is attributable to assets that produce or are held for the production of passive income. For this purpose, passive income generally includes dividends, interest, royalties, rents (other than rents and royalties derived in the active conduct of a trade or business and not derived from a related person), annuities and gains from assets that produce passive income.&#160; If we, directly or indirectly, own at least 25% (by value) of the stock of another corporation, we will be treated, for purposes of the PFIC tests, as owning our proportionate share of the other corporation&#8217;s assets and receiving our proportionate share of the other corporation&#8217;s income.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The annual PFIC determination to be made by a U.S. Holder of our ordinary shares is an inherently factual determination based upon the application of complex U.S. federal income tax rules (which are subject to differing interpretations), the composition of our income and assets from time to time, and the nature of the activities performed by our officers and employees. Although the determination of PFIC status is subject to factual uncertainties because it depends upon the valuation of our ordinary shares as well as our goodwill and other assets and income and because there are uncertainties in the application of the relevant rules, we are uncertain if we would be considered to be a PFIC for 2024. In addition, as the determination of PFIC status is made on an annual basis and depends on variables over which we have limited control, there can be no assurance that we will not be classified as a PFIC for 2024 or any future calendar years.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">If we are determined to be a PFIC for any taxable year, a U.S. Holder that holds our ordinary shares may experience certain adverse tax consequences. Such U.S. Holder could be liable for additional taxes and interest charges upon (i) distributions received by the U.S. Holder on our ordinary shares during the year, but only to the extent that the aggregate of distributions for the taxable year exceeds 125% of the average amount of distributions received by the U.S. Holder during the shorter of the preceding three years or the U.S. Holder&#8217;s holding period for the ordinary shares, or (ii) upon a sale or other disposition of the ordinary shares at a gain, whether or not we continue to be a PFIC (each an &#8220;excess distribution&#8221;). The tax will be determined by allocating the excess distribution ratably to each day of the U.S. Holder&#8217;s holding period. The amount allocated to the current taxable year and any taxable year with respect to which we were not a PFIC will be taxed as ordinary income (rather than capital gain) earned in the current taxable year. The amount allocated to other taxable years will be taxed at the highest marginal rates applicable to ordinary income for such taxable years and, in addition, an interest charge will be imposed on the amount of such taxes.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">A U.S. Holder that holds our ordinary shares in any year in which we are classified as a PFIC may make a &#8220;deemed sale&#8221; election with respect to such ordinary shares in a subsequent taxable year in which we are not classified as a PFIC. If you make a valid deemed sale election with respect to your ordinary shares, you will be treated as having sold all of your ordinary shares for their fair market value on the last day of the last taxable year in which we were a PFIC and such ordinary shares will no longer be treated as PFIC stock (so long as we do not become classified as a PFIC in a subsequent taxable year). You will recognize gain (but not loss), which will be subject to tax as an &#8220;excess distribution&#8221; received on the last day of the last taxable year in which we were a PFIC. Your basis in the ordinary shares would be increased to reflect gain recognized, and your holding period would begin on the day after we ceased to be a PFIC.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Also, a U. S. Holder may be required to file certain forms with the U.S. Treasury Department.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Prospective investors should consult their own tax advisors regarding the U.S. federal income tax consequences of an investment in a PFIC.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Sale or Other Disposition of Ordinary Shares</em>. Subject to the discussion above under &#8220;Passive foreign investment company rules&#8221;, a U.S. Holder will generally recognize capital gain or loss upon the sale or other disposition of our ordinary shares in an amount equal to the difference between the amount realized upon the disposition and the holder&#8217;s adjusted tax basis in such ordinary shares. Any such capital gain or loss will be long-term if the ordinary shares have been held for more than one year and will generally be United States source gain or loss for United States foreign tax credit purposes. The deductibility of capital losses is subject to significant limitations. U.S. Holders are urged to consult their tax advisors regarding the tax consequences if a foreign withholding tax is imposed on a disposition of the ordinary shares, including the availability of the foreign tax credit under such U.S. Holder&#8217;s particular circumstances.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">74</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;"><em>Foreign Financial Asset Reporting</em>. Certain U.S. Holders are required to report information to the Internal Revenue Service relating to an interest in &#8220;specified foreign financial assets,&#8221; including shares issued by a non-United States corporation, for any year in which the aggregate value of all specified foreign financial assets exceeds $50,000 (or a higher dollar amount prescribed by the Internal Revenue Service), subject to certain exceptions. These rules also impose penalties if a holder is required to submit such information to the Internal Revenue Service and fails to do so. U.S. Holders are urged to consult their tax advisors regarding the possible application of these rules, including the application of the rules to their particular circumstances.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;"><em>Backup Withholding Tax and Information Reporting Requirements</em>. Proceeds paid from the sale or other disposition of a U.S. Holder&#8217;s ordinary shares may be subject to information reporting to the Internal Revenue Service and, possibly, to U.S. federal backup withholding. Certain exempt recipients are not subject to these information reporting requirements. Backup withholding will not apply to a U.S. Holder who furnishes a correct taxpayer identification number and makes any other required certification, or who is otherwise exempt from backup withholding. U.S. Holders who are required to establish their exempt status generally must provide Internal Revenue Service Form W-9 (Request for Taxpayer Identification Number and Certification).</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Backup withholding is not an additional tax. Amounts withheld as backup withholding may be credited against a U.S. Holder&#8217;s U.S. federal income tax liability. A U.S. Holder may obtain a refund of any excess amounts withheld under the backup withholding rules by filing the appropriate claim for refund with the Internal Revenue Service in a timely manner and furnishing any required information.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Prospective investors should consult their own tax advisors as to their qualification for an exemption from backup withholding and the procedure for obtaining this exemption.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>F. DIVIDENDS AND PAYING AGENT</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">This item does not apply to annual reports on Form 20-F.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>G. STATEMENT BY EXPERTS</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">This item does not apply to annual reports on Form 20-F.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>H. DOCUMENTS ON DISPLAY</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">We have filed this Annual Report on Form 20-F with the SEC under the Exchange Act. Statements made in this Annual Report as to the contents of any document referred to are not necessarily complete. With respect to each such document filed as an exhibit to this Annual Report, reference is made to the exhibit for a more complete description of the matter involved, and each such statement shall be deemed qualified in its entirety by such reference.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">We are subject to the informational requirements of the Exchange Act as a foreign private issuer and file reports and other information with the SEC. Reports and other information filed by us with the SEC, including this Annual Report on Form 20-F, may be inspected and copied at the public reference room of the SEC at 100 F. Street, N.E., Washington D.C. 20549. You can also obtain copies of this Annual Report on Form 20-F by mail from the Public Reference Section of the SEC, 100 F. Street, N.E., Washington D.C. 20549, at prescribed rates. Additionally, copies of this material may be obtained from the SEC&#8217;s Internet site at <span style="text-decoration:underline">http://www.sec.gov</span>. The SEC&#8217;s telephone number is 1-800-SEC-0330. In accordance with NASDAQ Stock Market Rule 5250(d), we will also post this annual report on Form 20-F on our website at www.euro-tech.com. In addition, we will provide hardcopies of our annual report free of charge to shareholders upon request.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">75</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">As a foreign private issuer, we are exempt from the rules under the Exchange Act prescribing the furnishing and content of quarterly reports and proxy statements, and officers, directors and principal shareholders are exempt from the reporting and short-swing profit recovery provisions contained in Section 16 of the Exchange Act.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>I. SUBSIDIARY INFORMATION</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">For information on the Company&#8217;s subsidiaries see &#8211; Item 4C. The separate financial statements of Blue Sky as required under Regulation S-X 210.3-09, an entity in which the Company owns a 19.4% equity interest are attached to this annual report.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>J.</strong><strong> </strong><strong>ANNUAL REPORT TO SECURITY HOLDERS </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 27.75pt; text-align:justify;">Not applicable.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><span class="atag" style="display: inline" id="IT11">ITEM 11. QUANTITATIVE AND QUALITATIVE DISCLOSURES ABOUT MARKET RISK</span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Foreign Currency Risks</em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The Company is exposed to risk from changing foreign currency exchange rates. The Company&#8217;s sales are denominated either in Hong Kong Dollars or Renminbi. The majority of the Company&#8217;s expenses and cost of revenue are denominated in Hong Kong Dollars, followed by Renminbi, U.S. Dollars, Japanese yen and the Euro. The Company is subject to a variety of risks associated with changes among the relative value of the U.S. Dollar, Hong Kong Dollar, Renminbi, Japanese yen and the Euro. The Company does not currently adequately hedge its foreign exchange positions. Any material increase in the value of the Hong Kong Dollar, Renminbi, Japanese yen and the Euro relative to the U.S. Dollar would increase the Company&#8217;s expenses and cost of revenue and therefore would have a material adverse effect on the Company&#8217;s business, financial condition and results of operations.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;<em>Inflation</em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The Company cannot determine the precise effect of inflation on its operations; however, it does not believe inflation has had a material effect on revenues or results of operations during the past several years. We can provide no assurance that we will not be affected by higher rates of inflation in the future. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">If the inflation rate in China increases, the Chinese government may introduce further measures intended to reduce the inflation rate in the PRC. Any such measures adopted by the Chinese government may not be successful in reducing or slowing the increase in the PRC&#8217;s inflation rate. Efforts by the PRC to curb inflation may also curb economic growth, increase our overhead costs and adversely affect our revenues. Sustained or increased inflation in the PRC may have an adverse impact on the PRC&#8217;s economy and may materially and adversely affect our business and financial results.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The Company is currently not exposed to material future earnings or cash flow exposures from changes in interest rates on debt obligations as the Company had no material bank indebtedness in Fiscal 2024. The Company does not currently anticipate entering into interest rate swaps and/or similar instruments.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><span class="atag" style="display: inline" id="IT12">ITEM 12. DESCRIPTION OF SECURITIES OTHER THAN EQUITY SECURITIES</span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>A. DEBT SECURITIES</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">This item does not apply to annual reports on Form 20-F.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>B. WARRANTS AND RIGHTS</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">This item does not apply to annual reports on Form 20-F.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>C. OTHER SECURITIES</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">This item does not apply to annual reports on Form 20-F.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>D. AMERICAN DEPOSITARY SHARES</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Not applicable.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">76</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong><span class="atag" style="display: inline" id="P2">PART II</span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><span class="atag" style="display: inline" id="IT13">ITEM 13. DEFAULTS, DIVIDEND ARREARAGES AND DELINQUENCIES</span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">None.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><span class="atag" style="display: inline" id="IT14">ITEM 14. MATERIAL MODIFICATIONS TO THE RIGHTS OF SECURITY HOLDERS AND USE OF PROCEEDS</span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">In November 2011 and February 2012, the Company restated its Memorandum and Articles of Association. In January of 2012, the Company combined or reverse split each eleven of its outstanding ordinary shares into two shares of its ordinary shares. The reason for the foregoing was to comply with NASDAQ Listing Rules.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">On September 20, 2011, the Company received a deficiency letter from NASDAQ that the Company was no longer in compliance with NASDAQ&#8217;s listing maintenance rule for failing to have a bid price of at least US$ 1.00 per share for the prior thirty trading days. In order to regain compliance, in January 2012, the Company effected a combination or reverse split of its ordinary shares.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">To facilitate the combination, Company changed the par value of its ordinary shares from US$0.01 per share to no par value.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The Company had been originally incorporated under the International Business Companies Act (the &#8220;IBC&#8221; Act). On January 1, 2005 the BVI Business Companies Act, (as amended, the &#8220;BC Act&#8221;) came into force, with the objective of replacing the IBC Act over a 2 year transitional period.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">On January 1, 2007, the Company was automatically re-registered under the BC Act as a BVI Business Company. Companies that were so automatically re-registered were not required to submit new Memorandum and Articles of Association and certain key sections of the IBC Act were &#8220;grandfathered&#8221; into the BC Act. See &#8211; Item 10B. Memorandum and Articles of Association. In December 2011 and January 2012, the Company filed Amended and Restated Memorandum and Articles of Association with the Registry of Corporate Affairs of the BVI Financial Services Commission to, among other things, (i) not apply the Transitional Provisions and (ii) remove these concepts from the Company&#8217;s charter documents eliminating a layer of requirements that would otherwise apply to share divisions (splits), combinations (reverse splits), redemptions and dividends. The Company&#8217;s accounting treatment of share capital need not change. Changes in the Company&#8217;s Amended and Restated Memorandum are summarized in the Company&#8217;s Forms 6-K filed with the SEC on November 30, 2011 and February 6, 2012.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><span class="atag" style="display: inline" id="IT15">ITEM 15. CONTROLS AND PROCEDURES</span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Evaluation of Disclosure Controls and Procedures</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">As required by Rules 13a-15(b) and 15d-15(b) under the Exchange Act, our management, with the participation of our Chief Executive Officer and Chief Financial Officer, has evaluated the effectiveness of our disclosure controls and procedures (as defined in Rules 13a-15(e) and 15d-15(e) under the Exchange Act), as of the end of the period covered by this Annual Report on Form 20-F.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Disclosure controls and procedures are defined under SEC rules as controls and other procedures that are designed to ensure that information required to be disclosed by a company in the reports that it files or submits under the Exchange Act is recorded, processed, summarized and reported within required time periods. Disclosure controls and procedures include controls and procedures designed to ensure that information is accumulated and communicated to the issuer&#8217;s management, including its principal executive and principal financial officers, or persons performing similar functions, as appropriate to allow timely decisions regarding required disclosures.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">There are inherent limitations to the effectiveness of any system of disclosure controls and procedures, including the possibility of human error and the circumvention or overriding of the controls and procedures. Accordingly, even effective disclosure controls and procedures can only provide reasonable assurance of achieving their control objectives.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">77</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Based on such evaluation, our Chief Executive Officer and Chief Financial Officer have concluded that, as of December 31, 2024, our disclosure controls and procedures were not effective to accomplish their objectives at the reasonable assurance level.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Management&#8217;s Annual Report on Internal Control over Financial Reporting</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Our management, under the supervision of our Chief Executive Officer and Chief Financial Officer, is responsible for establishing and maintaining adequate internal control over financial reporting as defined in Rule 13a-15(f) and Rule 15d-15(f) of the Exchange Act. Our internal control system was designed to provide reasonable assurance regarding the reliability of financial reporting and the preparation and fair presentation of our consolidated financial statements for external purposes in accordance with generally accepted accounting principles. Our Chief Executive Officer and Chief Financial Officer assessed the effectiveness of our internal control over financial reporting as of December 31, 2024. In making this assessment, they used the criteria established in Internal Control-Integrated Framework issued by the Committee of Sponsoring Organizations of the Treadway Commission (&#8220;COSO&#8221;). </p><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 4.8pt; TEXT-INDENT: 27.1pt; text-align:justify;">Based on this assessment, our management has identified two significant deficiencies in our internal control over financial reporting. As defined in the standards established by the U.S. Public Company Accounting Oversight Board, a &#8220;significant deficiency&#8221; is a control deficiency, or combination of control deficiencies, that adversely affects the company&#8217;s ability to initiate, authorize, record, process, or report external financial data reliably in accordance with generally accepted accounting principles such that there is more than a remote likelihood that a misstatement of the company&#8217;s annual or interim financial statements that is more than inconsequential will not be prevented or detected; and a &#8220;control deficiency&#8221; exists when the design or operation of a control does not allow management or employees, in the normal course of performing their assigned functions, to prevent or detect misstatements on a timely basis.</p><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 4.8pt; TEXT-INDENT: 27.1pt; text-align:justify;">The significant deficiencies identified related to our lack of regular reviews of internal control policies, and the absence of structured risk assessments to guide those reviews. To remedy identified significant deficiencies, we will implement several measures, including:</p><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><table style="border-spacing:0;text-align:justify;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;">Implement a formal schedule for annual internal control reviews.</td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:30px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;">Introduce a risk-based approach to prioritize key control areas for review.</td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:30px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;">Provide training to relevant staff on risk and control awareness.</td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:30px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;">Report progress regularly to senior management and the audit committee.</td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160; </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Notwithstanding the existence of significant deficiencies as described above, our management believes that our consolidated financial statements contained in this Annual Report fairly present our financial position, results of operations and cash flows for the years covered thereby in all material respects.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;&#160;&#160;&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Changes in Internal Controls over Financial Reporting</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Other than as described above, there were no changes in our internal controls that occurred during the period covered by this annual report that has materially affected, or is reasonably likely to materially affect our internal control over financial reporting.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>ITEM 16. [RESERVED]</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><span class="atag" style="display: inline" id="IT16A">ITEM 16A. AUDIT COMMITTEE FINANCIAL EXPERT</span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Our board of directors has determined that Mr. Yi Sun, one of our independent directors (under the standards set forth in Rule 10A-3 of the Exchange Act and the NASDAQ listing rules) and a member of our Audit Committee, meets the criteria for an &#8220;audit committee financial expert&#8221; as such term is defined in Item 407 of Regulation S-K promulgated by the SEC.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><span class="atag" style="display: inline" id="IT16B">ITEM 16B.CODE OF ETHICS</span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Our Board of Directors has adopted a code of business conduct and ethics that applies to our directors, officers and employees, including certain provisions that specifically apply to our chief executive officer, chief financial officer and any other persons who perform similar functions for us. The Company agrees to undertake to provide to any person without charge, a copy of our code of business conduct and ethics within ten working days after we receive such person&#8217;s written request addressed to our offices set forth on the cover page of this annual report.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">78</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><span class="atag" style="display: inline" id="IT16C">ITEM 16C. PRINCIPAL ACCOUNTANT FEES AND SERVICES</span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The following table sets forth the aggregate fees by categories specified below in connection with certain professional services rendered by J&amp;S, our principal external auditor for the periods indicated. We did not pay any other fees to our auditors during the periods indicated below.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>For the Year Ended December 31</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Audit fees (1)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">150,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">150,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Audit-related fees(2)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">&#8212;</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Tax fees(3)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">&#8212;</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">All other fees</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">&#8212;</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">150,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">150,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Our Audit Committee has adopted a pre-approval policy for the engagement of our independent accountant to perform permitted audit and non-audit services. Under this policy, which is designed to assure that such engagements do not impair the independence of our auditor, the Audit Committee pre-approves annually a range of specific audit and non-audit services in the categories of Audit Service, Audit-Related Services, Tax Services and other services that may be performed by our independent accountants, and the maximum pre-approved fees that may be paid as compensation for each pre-approved service in those categories. Any proposed services exceeding the maximum pre-approved fees require specific approval by the Audit Committee.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">(1)</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#8220;Audit fees&#8221; means the aggregate fees billed in each of the fiscal years listed for professional services rendered by our principal auditor for the audit of our annual financial statements.</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">(2)</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#8220;Audit-related fees&#8221; means the aggregate fees billed in each of the fiscal years listed for assurance and related services by our principal auditor that are reasonably related to the performance of the audit or review of our financial statements and are not reported under &#8220;Audit fees.&#8221; Services comprising the fees disclosed under the category of &#8220;Audit-related fees&#8221; involve principally the performance of certain agreed upon procedures for the years ended December 31, 2024 and 2023, respectively.</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">(3)</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#8220;Tax fees&#8221; means the aggregated fees billed in each of the years listed for professional services rendered by our principal auditor for tax compliance, tax advice and tax planning.</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><span class="atag" style="display: inline" id="IT16D">ITEM 16D. EXEMPTIONS FROM THE LISTING STANDARDS FOR AUDIT COMMITTEES</span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The Company is a &#8220;Controlled Company&#8221; as defined in NASDAQ&#8217;s corporate governance rules as a majority of our shares are owned by a &#8220;control person,&#8221; T.C. Leung, who has disclosed his &#8220;control person&#8221; status in his filings with the Commission. So long as that &#8220;controlled company&#8221; status remains in effect, the Company will be exempt from certain NASDAQ corporate governance rules that, including among other things, would require: (a) a majority of our directors be independent; (b) the compensation of our chief executive officer be determined or recommended by independent directors; and (c) director nominations be determined or recommended by independent directors.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The Company believes it is in compliance with NASDAQ&#8217;s corporate governance rules as in effect and intends to comply with the changes to said rules no later than the date that they become effective.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><span class="atag" style="display: inline" id="IT16E">ITEM 16E. PURCHASES OF EQUITY SECURITIES BY THE ISSUER AND AFFILIATED PURCHASERS</span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Share Repurchase Program</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">On April 18, 2023, our board of directors authorized a share repurchase program to repurchase up to 230,000 ordinary shares, for an aggregate purchase price of not more than US$300,000 over a period of one year.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">On February 20, 2025, our board of director approved a share repurchase program to repurchase up to 350,000 ordinary shares, for an aggregate purchase price of not more than US$500,000 over a period of one year. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">During fiscal year 2024, we repurchased approximately 5,133 of our ordinary shares for approximately US$7,382 under the share repurchase program.&#160; </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">79</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The table below summarizes the repurchases we made in the periods indicated. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="BORDER-BOTTOM: #000000 1px solid;vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Period</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: #000000 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">(a)</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">Total number of shares purchased</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: #000000 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">(b)</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">Average price paid per share</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: #000000 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">(c)</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">Total number of shares purchased as part of publicly announced plans or programs</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: #000000 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">(d)</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">Maximum number of shares that may yet be purchased under the plans or programs</p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">January, 2024</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3,033</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1.45</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3,033</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">216,267</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">February, 2024</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1,000</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1.44</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1,000</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">215,267</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">March, 2024</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1,100</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1.41</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1,100</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">204,267</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">April, 2024</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">0</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">May, 2024</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">0</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">June, 2024</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">0</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">July, 2024</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">0</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">August, 2024</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">0</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">September, 2024</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">0</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">October, 2024</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">0</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">November, 2024</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">0</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">December, 2024</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">0</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Total</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5,133</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5,133</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">0</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">80</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><span class="atag" style="display: inline" id="IT16F">ITEM 16F. CHANGE IN REGISTRANT&#8217;S CERTIFYING ACCOUNTANT</span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Please see disclosure made under Item 16F of our annual report on Form 20-F that was filed with the SEC on May 12, 2023.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><span class="atag" style="display: inline" id="IT16G">ITEM 16G. CORPORATE GOVERNANCE</span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">We are a foreign private issuer within the meaning of rules promulgated under the Securities Exchange Act of 1934 (the &#8220;Exchange Act&#8221;). Because our ordinary shares are listed on NASDAQ, we are subject to NASDAQ&#8217;s corporate governance requirements. In addition, because we are incorporated in the BVI, our corporate governance practices are also governed by applicable BVI law and our memorandum and articles of association.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">We currently follow NASDAQ&#8217;s corporate governance requirements.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Nasdaq Marketplace Rule 5605(c)(2)(A) provides that each listed company must have, and will continue to have, an audit committee of at least three members. Nasdaq Listing Rule 5615(a)(3)(A) provides (with certain exceptions not relevant to the conclusions expressed herein) that a foreign private issuer may follow its home country practice in lieu of the requirements of the Rule 5600 Series. Our BVI counsel, Maples and Calder, has provided a letter to NASDAQ certifying that the Company&#8217;s practice of following the provisions of the laws of the British Virgin Islands and its memorandum and articles of association in lieu of certain Nasdaq Stock Market Marketplace Rules is not prohibited under any statutory legal provision of the British Virgin Islands.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><span class="atag" style="display: inline" id="IT16H">ITEM 16H. MINE SAFETY DISCLOSURE</span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Not applicable.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">81</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><span class="atag" style="display: inline" id="IT16I">ITEM 16I. DISCLOSURE REGARDING FOREIGN JURISDICTIONS THAT PREVENT INSPECTION </span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The Company presently wholly owns Euro Tech Global Pte. Limited, or Euro Tech Global. Euro Tech Global presently wholly owns Euro Tech (Far East) Limited, or Far East. Far East directly owns all or majority of the equity of a few entities as listed in Exhibit 8.1 of this annual report. Other than Euro Tech Global, Far East and these entities (collectively, the &#8220;Subsidiaries&#8221; and each, a &#8220;Subsidiary&#8221;), the Company does not have any other consolidated foreign operating entities. The Company does not use a variable-interest entity structure. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The Company hereby discloses that, </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">(1) J&amp;S Associate PLT, or J&amp;S, audited its financial statements for the fiscal year ended December 31, 2022, 2023 and 2024 respectively. J&amp;S is headquartered in Malaysia; &#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">(2) no governmental entity in the British Virgin Islands, Hong Kong, mainland China, Singapore or Malaysia owns any shares of the Company or any Subsidiary;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">(3) no governmental entity in the British Virgin Islands, Hong Kong, mainland China, Singapore or Malaysia has any controlling financial interest with respect to the Company or any Subsidiary; </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">(4) none of the Company and the Subsidiaries has any director who is an official of the Chinese Communist Party; and </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">(5) none of the Memorandum and Articles of Association or equivalent charter documents of the Company and the Subsidiaries contains any charter of the Chinese Communist Party, including the text of any such charter.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The Company identifies the shareholders of the Company and the Company&#8217;s consolidated foreign operating entities as follows based on the relevant register of shareholders or similar corporate record. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;border-right:#000000 1px solid;border-bottom:#000000 1px solid;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid;width:49%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">Entity</p></td><td style="BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid;width:49%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">Shareholder(s) </p></td></tr><tr style="height:15px"><td style="BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid;width:49%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">Euro Tech Holdings Company Limited</p></td><td style="BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid;width:49%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">T.C. Leung, Alex Sham, Jerry Wong, other shareholders that are not directors of the Company, none of which holds a majority of shares of the Company except T.C. Leung (please refer to Item 6.E of this annual report for details)</p></td></tr><tr style="height:15px"><td style="BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid;width:49%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">Euro Tech Global Pte. Limited</p></td><td style="BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid;width:49%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Euro Tech Holdings Company Limited</p></td></tr><tr style="height:15px"><td style="BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid;width:49%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">Euro Tech (Far East) Limited</p></td><td style="BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid;width:49%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Euro Tech Global Pte. Limited</p></td></tr><tr style="height:15px"><td style="BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid;width:49%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">Euro Tech Trading (Shanghai) Limited</p></td><td style="BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid;width:49%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Euro Tech (Far East) Limited</p></td></tr><tr style="height:15px"><td style="BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid;width:49%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">PACT Environmental Technology Pte. Ltd.</p></td><td style="BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid;width:49%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Euro Tech (Far East) Limited, Tamworth Industrial Ltd.</p></td></tr><tr style="height:15px"><td style="BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid;width:49%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Yixing Pact Environmental Technology Co., Ltd.</p></td><td style="BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid;width:49%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Euro Tech (Far East) Limited, Tamworth Industrial Ltd.</p></td></tr><tr style="height:15px"><td style="BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid;width:49%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">Pact Asia Pacific Limited</p></td><td style="BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid;width:49%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Euro Tech (Far East) Limited, Tamworth Industrial Ltd.</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">82</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The individuals listed above (except other shareholders of the Company who are not directors of the Company) have provided written confirmation to the Company stating that they are not affiliated with any governmental entity in any jurisdiction. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">To the Company&#8217;s knowledge based on the information provided by Tamworth Industrial Ltd., a BVI company, the shareholders of Tamworth Industrial Ltd. are JIN Min Qi (who holds a majority of the shares of Tamworth Industrial Ltd.), CHEN Jian Jun and JI Ming.&#160; Each of the three shareholders has provided written confirmation to the Company, confirming that he or she is not affiliated with any governmental entity in any jurisdiction. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">The Company identifies the members of the board of the Company and the Company&#8217;s consolidated foreign operating entities as follows based on the relevant register of directors, or similar corporate record, and relevant shareholders&#8217; or directors&#8217; resolutions.&#160; </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;border-right:#000000 1px solid;border-bottom:#000000 1px solid;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid;width:36%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">Entity</p></td><td style="BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid;width:36%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">Directors </p></td></tr><tr style="height:15px"><td style="BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid;width:36%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">Euro Tech Holdings Company Limited</p></td><td style="BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid;width:36%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">T.C. Leung, David YL Leung, Jerry Wong, Alex Sham, Yi Sun, Fu Ming Chen, Janet Cheang</p></td></tr><tr style="height:15px"><td style="BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid;width:36%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">Euro Tech Global Pte. Limited</p></td><td style="BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid;width:36%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">David YL Leung, Ho Koon Poh</p></td></tr><tr style="height:15px"><td style="BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid;width:36%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">Euro Tech (Far East) Limited</p></td><td style="BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid;width:36%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">T.C. Leung, Jerry Wong, Alex Sham, Sai Ho LAI, Wai Man CHAN</p></td></tr><tr style="height:15px"><td style="BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid;width:36%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">Euro Tech Trading (Shanghai) Limited</p></td><td style="BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid;width:36%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">T.C. Leung, Alex Sham, Jerry Wong </p></td></tr><tr style="height:15px"><td style="BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid;width:36%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">PACT Environmental Technology Pte. Ltd. </p></td><td style="BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid;width:36%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">David YL Leung, Ho Koon Poh</p></td></tr><tr style="height:15px"><td style="BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid;width:36%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Yixing Pact Environmental Technology Co., Ltd.</p></td><td style="BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid;width:36%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">David YL Leung, T.C. Leung, Jerry Wong, Xiaohong Xia, George Hayek</p></td></tr><tr style="height:15px"><td style="BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid;width:36%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">Pact Asia Pacific Limited</p></td><td style="BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid;width:36%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">T.C. Leung</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">To the Company&#8217;s knowledge based on written confirmations from the individuals listed above, none of these individuals listed above is an official of the Chinese Communist Party, and none of them has any current or prior memberships on, or affiliations with, committees of the Chinese Communist Party. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><span class="atag" style="display: inline" id="IT16J">ITEM 16J. INSIDER TRADING POLICIES</span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">The Company has adopted insider trading policies and procedures governing the purchase, sale, and other dispositions of the Company&#8217;s securities by directors, senior management, and employees that are reasonably designed to promote compliance with applicable insider trading laws, rules and regulations, and any listing standards applicable to the registrant. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><span class="atag" style="display: inline" id="IT16k">ITEM 16K. CYBERSECURITY </span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Risk Management and Strategy</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_72fee636" name="cyd:CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">We have implemented robust processes for assessing, identifying and managing material risks from cybersecurity threats and monitoring the prevention, detection, mitigation and remediation of material cybersecurity incident. We have also integrated cybersecurity risk management into our overall enterprise risk management system. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;"><ix:nonNumeric id="fid_8aeb94d1" name="cyd:CybersecurityRiskManagementProcessesIntegratedFlag" contextRef="From2024-01-01to2024-12-31" format=" ixt:booleantrue">We have established a dynamic and multi-layered cybersecurity defense system to effectively mitigate both internal and external cybersecurity threats.</ix:nonNumeric> This comprehensive system spans multiple security domains, including network, host, and application layers. It integrates a range of security capabilities such as threat defense, continuous monitoring, in-depth analysis and rapid response. Our approach to managing cybersecurity risks and safeguarding sensitive data is multi-faceted, involving technological safeguards, procedural protocols, a rigorous program of surveillance on our corporate network, ongoing internal and external evaluations of our security measures, a solid incident response framework, and regular cybersecurity training sessions for our employees. Our cybersecurity department is actively engaged in continuous monitoring of our applications, platforms and infrastructure to ensure prompt identification and response to potential issues, including emerging cybersecurity threats. </p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">83</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">As part of the aforementioned processes, we regularly engage third parties to assess our internal cybersecurity programs and compliance with applicable practices and standards. The bug bounty program we have established enables independent security researchers to aid us in identifying potential vulnerabilities and further mitigating risks. We have implemented a set of procedures to ensure effective management of the cybersecurity risks associated with the use of third-party service providers. These procedures include, but are not limited to, conducting cybersecurity assessments and tracking the capabilities and qualifications of third-party security service providers through our supplier assessment process. Additionally, for independent security researchers, we require adherence to the security-related agreement when submitting vulnerabilities. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">As of the date of this annual report, we have not experienced any material cybersecurity incidents or identified any material cybersecurity threats that have affected or are reasonably likely to materially affect us, our business strategy, results of operations or financial condition. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Governance</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">Our <ix:nonNumeric id="fid_c8af0a29" name="cyd:CybersecurityRiskManagementPositionsOrCommitteesResponsibleReportToBoardFlag" contextRef="From2024-01-01to2024-12-31" format=" ixt:booleantrue">board of directors</ix:nonNumeric> is responsible for overseeing our cybersecurity risk management. Our board of directors shall (i) maintain oversight of the disclosure related to cybersecurity matters in current reports or periodic reports of our company, (ii) review updates to the status of any material cybersecurity incidents or material risks from cybersecurity threats to our company, and the disclosure issues, if any, presented by our cybersecurity officer on a quarterly basis, and (iii) review disclosure concerning cybersecurity matters in our annual report on Form 20-F presented by our cybersecurity officer.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_d2f05847" name="cyd:CybersecurityRiskRoleOfManagementTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">At management level, our cybersecurity committee is responsible for overseeing the process of assessing, identifying and managing material risks from cybersecurity threats to our company and monitoring the prevention, detection, mitigation and remediation of material cybersecurity incident. Our cybersecurity officer, as the management representative of our cybersecurity committee, reports to our board of directors on (i) a quarterly basis on updates to the status of any material cybersecurity incidents or material risks from cybersecurity threats to our company, and the disclosure issues, if any, and (ii) on disclosure concerning cybersecurity matters in our annual report on Form 20-F.</p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_9f75b37f" name="cyd:CybersecurityRiskProcessForInformingBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">If a cybersecurity incident occurs, our cybersecurity department will promptly organize personnel for internal assessment and report to our cybersecurity committee. If it is further determined that the incident could potentially be a material cybersecurity event, our cybersecurity officer will promptly report the incident and assessment results to our disclosure committee and external legal counsel to the extent appropriate. Our cybersecurity officer shall prepare disclosure material on the cybersecurity incident for review and approval by our disclosure committee and board of directors, before it is disseminated to the public. </p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="BORDER-BOTTOM: 1px solid;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">87</p></td></tr><tr style="height:15px"><td/></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="#toc"><em>Table of Contents</em></a></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong><span class="atag" style="display: inline" id="P3">PART III</span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><span class="atag" style="display: inline" id="IT17">ITEM 17. FINANCIAL STATEMENTS</span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">We have elected to provide financial statements pursuant to Item 18.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><span class="atag" style="display: inline" id="IT18">ITEM 18. FINANCIAL STATEMENTS</span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The consolidated financial statements of each of Euro Tech Holdings Company Limited and Zhejiang Tianlan Environmental Protection Technology Company Limited are included at the end of this annual report. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">84</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><span class="atag" style="display: inline" id="IT19">ITEM 19. EXHIBITS</span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Lists of Exhibits</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="BORDER-BOTTOM: 1px solid;width:8%;vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Exhibit No.</strong></p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Description</strong></p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="http://www.sec.gov/Archives/edgar/data/1026662/000110465911066853/a11-30592_1ex3d1.htm">3.1</a></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="http://www.sec.gov/Archives/edgar/data/1026662/000110465911066853/a11-30592_1ex3d1.htm">Amended and Restated Memorandum and Articles of Association (1)</a></p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="http://www.sec.gov/Archives/edgar/data/1026662/000110465912006891/a12-3776_3ex3d1.htm">3.2</a></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="http://www.sec.gov/Archives/edgar/data/1026662/000110465912006891/a12-3776_3ex3d1.htm">Amendments to Exhibit 3.1 (2)</a></p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">4.11</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Registrant&#8217;s Audit Committee Charter (3)</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="http://www.sec.gov/Archives/edgar/data/1026662/000165495419004759/clwt_ex4-13.htm">4.13</a></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="http://www.sec.gov/Archives/edgar/data/1026662/000165495419004759/clwt_ex4-13.htm">Euro Tech Holdings Company Limited 2019 Stock Option and Incentive Plan (4)</a></p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="clwt_ex81.htm">8.1</a></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="clwt_ex81.htm">List of Subsidiaries *</a></p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="clwt_ex121.htm">12.1</a></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="clwt_ex121.htm">Certification of Chief Executive Officer pursuant to Section 302 of the Sarbanes-Oxley Act of 2002 *</a></p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="clwt_ex122.htm">12.2</a></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="clwt_ex122.htm">Certification of Chief Financial Officer pursuant to Section 302 of the Sarbanes-Oxley Act of 2002 *</a></p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="clwt_ex131.htm">13.1</a></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="clwt_ex131.htm">Certification of the Chief Executive Officer pursuant to 18 U.S.C. Section 1350 as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002 *</a></p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="clwt_ex132.htm">13.2</a></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="clwt_ex132.htm">Certification of the Chief Financial Officer pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002 *</a></p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="clwt_ex161.htm">16.1</a></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="clwt_ex161.htm">Insider Trading Policy*</a></p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="clwt_ex971.htm">97.1</a></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="clwt_ex971.htm">Clawback Policy of the Registrant*</a></p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">101 .INS*</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">XBRL Instance Document</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">101 .SCH*</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">XBRL Taxonomy Extension Schema Document</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">101 .CAL*</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">XBRL Taxonomy Extension Calculation Linkbase Document</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">101 .DBF*</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">XBRL Taxonomy Extension Definition Linkbase Document</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">101 .LAB*</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">XBRL Taxonomy Extension Label Linkbase Document</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">101 .PRE*</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">XBRL Taxonomy Extension Presentation Linkbase Document</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">* Filed with this Annual Report on Form 20-F.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">1.</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Incorporated by reference, previously filed as an Exhibit to Registrant&#8217;s Form 6-K on November 30, 2011.</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">2.</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Incorporated by reference, previously filed as an Exhibit to Registrant&#8217;s Form 6-K on February 6, 2012.</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">3.</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Incorporated by reference, previously filed as an Exhibit to Registrant&#8217;s Form 20-F filed on August 19, 2002.</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">4.</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Incorporated by reference, previously filed as an Exhibit to Registrant&#8217;s Form 6-K on April 25, 2019.</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">85</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#TOC">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong><span class="atag" style="display: inline" id="SIG">SIGNATURES</span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">Pursuant to the requirements of Section 12 of the Securities Exchange Act of 1934, the registrant hereby certifies that it meets all of the requirements for filing on Form 20-F and that it has duly caused and authorize the undersigned to sign this annual report on its behalf.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2" style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>EURO TECH HOLDINGS COMPANY LIMITED</strong></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2" style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>(REGISTRANT)</strong></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="width:50%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:3%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:35%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:12%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">April 30, 2025</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">By:</p></td><td style="BORDER-BOTTOM: 1px solid;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">/s/ David YL Leung</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">David YL Leung</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Chief Executive Officer</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">(Principal Executive Officer)</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">86</p></td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td>&#160;</td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;<strong><span class="atag" style="display: inline" id="tocf">EURO TECH HOLDINGS COMPANY LIMITED</span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>INDEX TO CONSOLIDATED FINANCIAL STATEMENTS</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td/><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:8%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Page</strong></p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td/><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td/><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="#re">Report of Independent Registered Public Accounting Firm &#8211; J&amp;S Associate PLT</a> (PCAOB ID:<ix:nonNumeric name="dei:AuditorFirmId" contextRef="From2024-01-01to2024-12-31" id="ixv-37693">6743</ix:nonNumeric>)&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">F-2</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td/><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td/><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="#bs">Consolidated Balance Sheets</a></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">F-4</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td/><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td/><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="#so">Consolidated Statements of Operations and Comprehensive Income</a></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">F-5</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td/><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td/><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="#cf">Consolidated Statements of Cash Flows</a></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">F-6</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td/><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td/><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="#sc">Consolidated Statements of Changes in Shareholders&#8217; Equity </a></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">F-7</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td/><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td/><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="#note">Notes to Consolidated Financial Statements</a></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">F-8</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-1</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#tocf">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;&#160;</p><table style="border-spacing:0;font-size:10pt;text-align:left;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:15%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><img src="clwt_20fimg3.jpg" alt="clwt_20fimg3.jpg"/></p></td><td style="width:30%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>J&amp;S ASSOCIATE PLT </strong></p><p style="font-size:10pt;font-family:times new roman;margin:0px">202206000037 (LLP0033395-LCA) &amp; AF002380</p><p style="font-size:10pt;font-family:times new roman;margin:0px">(Registered with PCAOB and MIA) </p><p style="font-size:10pt;font-family:times new roman;margin:0px">B-11-14, Megan Avenue II </p><p style="font-size:10pt;font-family:times new roman;margin:0px">12,Jalan Yap Kwan Seng, 50450, Kuala Lumpur, Malaysia </p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">Tel: +603-4813 9469 </p><p style="font-size:10pt;font-family:times new roman;margin:0px">Email :<span style="text-decoration:underline"> info@jns-associate.com</span></p><p style="font-size:10pt;font-family:times new roman;margin:0px">Website : jns-associate.com</p></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong><span class="atag" style="display: inline" id="re">REPORT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM</span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">To: The Board of Directors and Shareholders of Euro Tech Holdings Company Limited</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Opinion on the Financial Statements</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">We have audited the accompanying consolidated balance sheets of Euro Tech Holdings Company Limited (the &#8220;Company&#8221;) and its subsidiaries (the &#8220;Group&#8221;) as of December 31, 2024 and 2023, and the related consolidated statements of operations and comprehensive income, consolidated statement of changes in shareholders&#8217; equity, and consolidated statements of cash flows for each of the three years in the period ended December 31, 2024, and the related notes to the consolidated financial statements and schedule (collectively referred to as the &#8220;financial statements&#8221;). In our opinion, the consolidated financial statements present fairly, in all material respects, the financial position of the Group as of December 31, 2024 and 2023, and the results of its operations and its cash flows for each of the three years in the period ended December 31, 2024, in conformity with accounting principles generally accepted in the United States of America.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Basis for Opinion</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">These financial statements are the responsibility of the Group&#8217;s management. Our responsibility is to express an opinion on the Group&#8217;s financial statements based on our audits. We are a public accounting firm registered with the Public Company Accounting Oversight Board (United States) (&#8220;PCAOB&#8221;) and are required to be independent with respect to the Group in accordance with the U.S. federal securities laws and the applicable rules and regulations of the Securities and Exchange Commission and the PCAOB.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">We conducted our audits in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audit to obtain reasonable assurance about whether the financial statements are free of material misstatement, whether due to error or fraud. The Group is not required to have, nor were we engaged to perform, an audit of its internal control over financial reporting. As part of our audits, we are required to obtain an understanding of internal control over financial reporting but not for the purpose of expressing an opinion on the effectiveness of the Group&#8217;s internal control over financial reporting. Accordingly, we express no such opinion.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">Our audits included performing procedures to assess the risks of material misstatement of the financial statements, whether due to error or fraud, and performing procedures that respond to those risks. Such procedures included examining, on a test basis, evidence regarding the amounts and disclosures in the financial statements. Our audits also included evaluating the accounting principles used and significant estimates made by management, as well as evaluating the overall presentation of the financial statements. We believe that our audits provide a reasonable basis for our opinion.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Critical Audit Matters </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">Critical audit matters are matters arising from the current year audit of the financial statements that were communicated or are required to be communicated to the audit committee and that: (1) relate to accounts or disclosures that are material to the financial statements, and (2) involved especially challenging, subjective, or complex judgments.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">The communication of critical audit matters does not alter in any way our opinion on the consolidated financial statements, taken as a whole, and we are not, by communicating the critical audit matters below, providing separate opinions on the critical audit matters or on the accounts or disclosures to which they relate.<em> </em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-2</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#tocf">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Revenue Recognition </em><em>&#8211; Contracts recognised over time</em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">As described in Note 2 to the consolidated financial statements, the Group adopted Accounting Standards Codification (ASC) Topic 606, Revenue from Contracts with Customers. Under this standard, the Group recognizes revenue over time, reflecting the continuous transfer of control of goods or services to the customer. Revenue is measured using the output method, based on the achievement of contractual billing milestones.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">We identified revenue recognition using the output method as a critical audit matter due to the significant judgments involved in determining the timing and amount of revenue recognized. These judgments include assessing the point at which control transfers to the customer, interpreting contractual terms, and evaluating whether revenue was appropriately recorded based on milestones achieved. The complexity and subjectivity associated with these assessments required extensive audit effort and a high degree of auditor judgment.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">Our key consideration is our evaluation of revenue recognition involves assessing the appropriateness of the Group&#8217;s application of ASC 606, including the identification and measurement of performance obligations, the determination of the stages of works certified by customers, and the classification of contract assets and liabilities. Our audit procedures to assess the above include:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;text-align:justify;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">1.</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">Understand and evaluate the Group&#8217;s revenue recognition policies and procedures including the adoption and application of ASC 606;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:30px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">2.</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">Evaluate the identification and measurement of performance obligations, including the Group&#8217;s determination of whether they are distinct or combined;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:30px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">3.</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">Assess the methodology used to measure progress towards complete satisfaction of performance obligations over time, including the use of the output method or reliance on customer-certified progress;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:30px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">4.</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">Verify and review the classification and accuracy of contract assets and liabilities;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:30px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">5.</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">Test samples of progress billing to billing milestone as stipulated on contracts to ensure reasonable accuracy and completeness of revenue recognition;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:30px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">6.</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">Validate costs incurred for projects not yet completed at year end and revenue earned not yet billed to the customer (contract assets) and validate amounts received in advance from customers for work not yet completed (contract liabilities);</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:30px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">7.</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">Validate invoices billed to customers subsequent to financial year end for revenue earned as at financial year end and validate receipt of payments for these invoices.</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:30px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">8.</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">Reperformed the calculation of the revenue based on the percentage of completion method and where applicable, considered the implications of any changes in estimates.</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:30px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">9.</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">Assess the adequacy of the Group&#8217;s disclosures related to revenue recognition under ASC 606.</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">/s/<ix:nonNumeric name="dei:AuditorName" contextRef="From2024-01-01to2024-12-31" id="ixv-37694">J&amp;S Associate PLT</ix:nonNumeric></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Certified Public Accountants</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Firm ID: 6743</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">We have served as the Company&#8217;s auditor since 2023.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><ix:nonNumeric name="dei:AuditorLocation" contextRef="From2024-01-01to2024-12-31" id="ixv-37695">Kuala Lumpur, Malaysia</ix:nonNumeric></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">April 30, 2025</p><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-3</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#tocf">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong><span class="atag" style="display: inline" id="bs">EURO TECH HOLDINGS COMPANY LIMITED</span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>CONSOLIDATED BALANCE SHEETS</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>As of December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">US$&#8217;000</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">US$&#8217;000</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>ASSETS</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Current asset:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Cash and cash equivalents</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5439" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">5,805</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5438" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">5,453</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Restricted cash</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5441" name="us-gaap:RestrictedCashCurrent" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,132</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5440" name="us-gaap:RestrictedCashCurrent" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,193</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Accounts receivable, net</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5443" name="us-gaap:AccountsReceivableNet" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,386</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5442" name="us-gaap:AccountsReceivableNet" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">2,864</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Prepayments and other current assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5445" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">271</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5444" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">246</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Contract assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5447" name="us-gaap:ContractWithCustomerAssetNet" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">135</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5446" name="us-gaap:ContractWithCustomerAssetNet" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">66</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Inventories</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5449" name="us-gaap:InventoryNet" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">500</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5448" name="us-gaap:InventoryNet" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">723</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total current assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5451" name="us-gaap:AssetsCurrent" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">9,229</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5450" name="us-gaap:AssetsCurrent" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">10,545</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Non-current assets:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Property, plant and equipment, net</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5454" name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">159</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5453" name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">168</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Investments in affiliates</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5456" name="us-gaap:InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVentures" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">9,947</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5455" name="us-gaap:InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVentures" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">9,856</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Goodwill</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5457" name="us-gaap:Goodwill" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,071</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5458" name="us-gaap:Goodwill" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,071</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Operating lease right-of-use assets, net</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5460" name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">101</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5459" name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">233</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Deferred tax assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5462" name="clwt:DeferredTaxAssets" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">62</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5461" name="clwt:DeferredTaxAssets" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">103</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Restricted cash</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5464" name="us-gaap:RestrictedCashNoncurrent" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">139</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5463" name="us-gaap:RestrictedCashNoncurrent" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">144</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>TOTAL ASSETS</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5466" name="us-gaap:Assets" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">20,708</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5465" name="us-gaap:Assets" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">22,120</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>LIABILTIES AND SHAREHOLDERS&#8217; EQUITY</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Current liabilities:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Bank borrowings</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5470" name="us-gaap:ShortTermBankLoansAndNotesPayable" contextRef="AsOf2024-12-31" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5469" name="us-gaap:ShortTermBankLoansAndNotesPayable" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">154</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Accounts payable</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5472" name="us-gaap:AccountsPayableCurrent" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">2,279</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5471" name="us-gaap:AccountsPayableCurrent" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">3,456</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Contract liabilities</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5474" name="us-gaap:ContractWithCustomerLiabilityCurrent" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">593</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5473" name="us-gaap:ContractWithCustomerLiabilityCurrent" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">650</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Other payables and accrued expenses</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5476" name="us-gaap:OtherAccountsPayableAndAccruedLiabilities" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,050</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5475" name="us-gaap:OtherAccountsPayableAndAccruedLiabilities" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,124</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Current portion of long-term operating lease liabilities</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5478" name="us-gaap:OperatingLeaseLiabilityCurrent" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">83</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5477" name="us-gaap:OperatingLeaseLiabilityCurrent" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">170</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Income tax payable</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5480" name="us-gaap:TaxesPayableCurrent" contextRef="AsOf2024-12-31" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5479" name="us-gaap:TaxesPayableCurrent" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">42</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total current liabilities</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5482" name="us-gaap:LiabilitiesCurrent" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">4,005</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5481" name="us-gaap:LiabilitiesCurrent" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">5,596</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Non-current liabilities:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Long-term operating lease liabilities, net of current portion</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5487" name="us-gaap:OperatingLeaseLiabilityNoncurrent" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">9</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5486" name="us-gaap:OperatingLeaseLiabilityNoncurrent" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">44</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>TOTAL LIABILITIES</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5489" name="us-gaap:Liabilities" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">4,014</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5488" name="us-gaap:Liabilities" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">5,640</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Commitments and contingencies</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5491" name="us-gaap:CommitmentsAndContingencies" contextRef="AsOf2024-12-31" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5490" name="us-gaap:CommitmentsAndContingencies" contextRef="AsOf2023-12-31" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>SHAREHOLDERS&#8217; EQUITY</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Ordinary share, <ix:nonFraction id="fid_5711" name="us-gaap:CommonStockSharesAuthorized" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">20,000,000</ix:nonFraction> shares authorized and no par value; <ix:nonFraction id="fid_5893" name="us-gaap:CommonStockSharesIssued" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">7,899,832</ix:nonFraction> and <ix:nonFraction id="fid_5889" name="us-gaap:CommonStockSharesIssued" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">7,899,832</ix:nonFraction> issued and outstanding as of December 31, 2024 and 2023</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5493" name="us-gaap:CommonStockValue" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">123</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5494" name="us-gaap:CommonStockValue" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">123</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Additional paid-in capital</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5496" name="us-gaap:AdditionalPaidInCapital" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">9,774</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5495" name="us-gaap:AdditionalPaidInCapital" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">9,762</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Treasury stock, <ix:nonFraction id="fid_5720" name="us-gaap:TreasuryStockCommonShares" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">183,533</ix:nonFraction> and <ix:nonFraction id="fid_5894" name="us-gaap:TreasuryStockCommonShares" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">178,400</ix:nonFraction> shares at cost, as of December 31, 2024 and 2023, respectively</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5498" name="us-gaap:TreasuryStockValue" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">807</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5497" name="us-gaap:TreasuryStockValue" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">800</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">PRC statutory reserve</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5500" name="clwt:PRCStatutoryReserve" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">345</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5499" name="clwt:PRCStatutoryReserve" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">342</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Accumulated other comprehensive loss</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5502" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">713</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5501" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">733</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Retained earnings</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5504" name="us-gaap:RetainedEarningsAccumulatedDeficit" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">5,595</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5503" name="us-gaap:RetainedEarningsAccumulatedDeficit" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">5,481</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total shareholders&#8217; equity attributable to Euro Tech Holdings Company Limited</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5506" name="us-gaap:StockholdersEquity" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">15,743</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5505" name="us-gaap:StockholdersEquity" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">15,641</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Noncontrolling interests</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5508" name="us-gaap:MinorityInterest" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">951</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5507" name="us-gaap:MinorityInterest" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">839</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Shareholders&#8217; equity</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5510" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">16,694</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5509" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">16,480</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>TOTAL LIABILITIES AND SHAREHOLDERS&#8217; EQUITY</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5512" name="us-gaap:LiabilitiesAndStockholdersEquity" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">20,708</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5511" name="us-gaap:LiabilitiesAndStockholdersEquity" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">22,120</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">See accompanying notes to consolidated financial statements.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-4</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#tocf">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong><span class="atag" style="display: inline" id="so">EURO TECH HOLDINGS COMPANY LIMITED</span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="10"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Years ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">US$&#8217;000</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">US$&#8217;000</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">US$&#8217;000</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Revenue, net:</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:11.25pt">Trading and manufacturing</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5515" name="clwt:RevenueFromTradingAndManufacturing" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">9,549</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5513" name="clwt:RevenueFromTradingAndManufacturing" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">12,143</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5514" name="clwt:RevenueFromTradingAndManufacturing" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">9,332</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:11.25pt">Engineering</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5518" name="clwt:RevenueFromEngineering" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">5,834</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5516" name="clwt:RevenueFromEngineering" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">5,797</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5517" name="clwt:RevenueFromEngineering" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">5,617</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5521" name="us-gaap:Revenues" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">15,383</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5519" name="us-gaap:Revenues" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">17,940</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5520" name="us-gaap:Revenues" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">14,949</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Cost of revenue:</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:11.25pt">Trading and manufacturing</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5525" name="clwt:CostOfTradingAndManufacturing" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">7,300</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5523" name="clwt:CostOfTradingAndManufacturing" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">9,751</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5524" name="clwt:CostOfTradingAndManufacturing" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">7,345</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:11.25pt">Engineering</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5528" name="clwt:CostOfEngineering" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">3,629</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5526" name="clwt:CostOfEngineering" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">4,328</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5527" name="clwt:CostOfEngineering" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">2,986</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5531" name="us-gaap:CostOfRevenue" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">10,929</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5529" name="us-gaap:CostOfRevenue" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">14,079</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5530" name="us-gaap:CostOfRevenue" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">10,331</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Gross profit</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5534" name="us-gaap:GrossProfit" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">4,454</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5532" name="us-gaap:GrossProfit" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">3,861</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5533" name="us-gaap:GrossProfit" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">4,618</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Operating expenses:</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:11.25pt">Finance costs</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5538" name="clwt:FinanceCosts" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">1</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5536" name="clwt:FinanceCosts" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">7</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5537" name="clwt:FinanceCosts" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">7</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:11.25pt">General and administrative expenses</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5541" name="us-gaap:GeneralAndAdministrativeExpense" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">4,067</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5539" name="us-gaap:GeneralAndAdministrativeExpense" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">4,103</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5540" name="us-gaap:GeneralAndAdministrativeExpense" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">4,490</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:11.25pt">Loss on disposal of property, plant and equipment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5544" name="us-gaap:GainLossOnDispositionOfAssets" contextRef="From2024-01-01to2024-12-31" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5542" name="us-gaap:GainLossOnDispositionOfAssets" contextRef="From2023-01-01to2023-12-31" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5543" name="us-gaap:GainLossOnDispositionOfAssets" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">7</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5547" name="us-gaap:OperatingExpenses" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">4,068</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5545" name="us-gaap:OperatingExpenses" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">4,110</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5546" name="us-gaap:OperatingExpenses" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">4,504</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>INCOME (LOSS) &#160;FROM OPERATION</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5550" name="us-gaap:OperatingIncomeLoss" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">386</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5548" name="us-gaap:OperatingIncomeLoss" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">249</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5549" name="us-gaap:OperatingIncomeLoss" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">114</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Other income:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Interest income</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5554" name="us-gaap:InterestIncomeOther" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">96</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5552" name="us-gaap:InterestIncomeOther" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">37</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5553" name="us-gaap:InterestIncomeOther" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">23</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Equity in income of affiliates</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5557" name="us-gaap:EquitySecuritiesFvNiRealizedGainLoss" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">398</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5555" name="us-gaap:EquitySecuritiesFvNiRealizedGainLoss" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,927</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5556" name="us-gaap:EquitySecuritiesFvNiRealizedGainLoss" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">413</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Other income, net</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5560" name="clwt:OtherIncomeNet" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">37</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5558" name="clwt:OtherIncomeNet" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">20</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5559" name="clwt:OtherIncomeNet" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">13</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total other income, net</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5563" name="us-gaap:OtherNonoperatingIncomeExpense" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">531</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5561" name="us-gaap:OtherNonoperatingIncomeExpense" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,944</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5562" name="us-gaap:OtherNonoperatingIncomeExpense" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">449</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>INCOME BEFORE INCOME TAXES</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5566" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">917</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5564" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,695</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5565" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">563</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Income tax (expense) </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5569" name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">72</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5567" name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">45</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5568" name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">24</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>NET INCOME</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5572" name="clwt:NetIncome" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">845</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5570" name="clwt:NetIncome" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,650</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5571" name="clwt:NetIncome" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">539</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Net (income) loss attributable to noncontrolling interests</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5575" name="us-gaap:NetIncomeLossAttributableToNoncontrollingInterest" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">111</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5573" name="us-gaap:NetIncomeLossAttributableToNoncontrollingInterest" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">178</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5574" name="us-gaap:NetIncomeLossAttributableToNoncontrollingInterest" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">170</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Net income attributable to Euro Tech Holdings Company Limited</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5578" name="clwt:NetIncomeAttributableToEuroTechHoldingsCompanyLimited" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">734</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5576" name="clwt:NetIncomeAttributableToEuroTechHoldingsCompanyLimited" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,828</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5577" name="clwt:NetIncomeAttributableToEuroTechHoldingsCompanyLimited" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">369</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Other comprehensive &#160;income (loss):</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Net income</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5581" name="us-gaap:NetIncomeLoss" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">845</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5579" name="us-gaap:NetIncomeLoss" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,650</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5580" name="us-gaap:NetIncomeLoss" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">539</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Foreign currency adjustment loss</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5584" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">19</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5582" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">9</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5583" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">115</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>COMPREHENSIVE INCOME</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5587" name="us-gaap:ComprehensiveIncomeNetOfTax" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">826</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5585" name="us-gaap:ComprehensiveIncomeNetOfTax" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,641</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5586" name="us-gaap:ComprehensiveIncomeNetOfTax" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">424</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Comprehensive income (loss) attributable to noncontrolling interests</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5590" name="us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">111</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5588" name="us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">195</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5589" name="us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">117</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Comprehensive income attributable to Euro Tech Holdings Company Limited</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5593" name="us-gaap:OtherComprehensiveIncomeLossTaxPortionAttributableToParent1" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">715</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5591" name="us-gaap:OtherComprehensiveIncomeLossTaxPortionAttributableToParent1" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,836</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5592" name="us-gaap:OtherComprehensiveIncomeLossTaxPortionAttributableToParent1" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">307</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Net income per ordinary share attributable to Euro Tech Holdings Company Limited</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#8211; Basic and Diluted</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5596" name="us-gaap:EarningsPerShareDiluted" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USDPShares" decimals="INF">0.10</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5594" name="us-gaap:EarningsPerShareDiluted" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USDPShares" decimals="INF">0.24</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5595" name="us-gaap:EarningsPerShareDiluted" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USDPShares" decimals="INF">0.05</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Weighted average common shares outstanding</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#8211; Basic and Diluted</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5599" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">7,716,993</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5597" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">7,726,118</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5598" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">7,732,132</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">See accompanying notes to consolidated financial statements.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-5</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#tocf">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong><span class="atag" style="display: inline" id="cf">EURO TECH HOLDINGS COMPANY LIMITED</span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>CONSOLIDATED STATEMENTS OF CASH FLOWS</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="10"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Years ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 5.9pt; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Cash flows from operating activities:</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Net income</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5603" name="us-gaap:ProfitLoss" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">734</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5601" name="us-gaap:ProfitLoss" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,828</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5602" name="us-gaap:ProfitLoss" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">369</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Adjustments to reconcile net income to net cash provided by (used in) operating activities</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:11.25pt">Depreciation of property, plant and equipment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5607" name="us-gaap:Depreciation" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">14</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5605" name="us-gaap:Depreciation" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">15</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5606" name="us-gaap:Depreciation" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">33</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Amortization on right-of-use assets</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;<ix:nonFraction id="fid_5629" name="clwt:AmortizationOnRightOfUseAssets" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">132</ix:nonFraction></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;(<ix:nonFraction id="fid_5627" name="clwt:AmortizationOnRightOfUseAssets" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">14</ix:nonFraction></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">)&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><ix:nonFraction id="fid_5628" name="clwt:AmortizationOnRightOfUseAssets" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">19</ix:nonFraction></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:11.25pt">Loss on disposal of property, plant and equipment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5610" name="us-gaap:GainLossOnDispositionOfAssets" contextRef="From2024-01-01to2024-12-31" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5608" name="us-gaap:GainLossOnDispositionOfAssets" contextRef="From2023-01-01to2023-12-31" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5609" name="us-gaap:GainLossOnDispositionOfAssets" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">7</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:11.25pt">Stock-based compensation expense</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5613" name="us-gaap:ShareBasedCompensation" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">12</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5611" name="us-gaap:ShareBasedCompensation" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">47</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5612" name="us-gaap:ShareBasedCompensation" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">45</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:11.25pt">Non-controlling interests in income / (loss) of subsidiaries</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5616" name="clwt:NonControllingInterestsInIncomeLossOfSubsidiaries" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">111</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5614" name="clwt:NonControllingInterestsInIncomeLossOfSubsidiaries" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">178</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5615" name="clwt:NonControllingInterestsInIncomeLossOfSubsidiaries" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">170</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:11.25pt">Equity in profit of affiliates</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5619" name="clwt:AdjustmentInAdvancesToAffiliatesAmountOfEquityProfit" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">398</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5617" name="clwt:AdjustmentInAdvancesToAffiliatesAmountOfEquityProfit" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">1,927</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5618" name="clwt:AdjustmentInAdvancesToAffiliatesAmountOfEquityProfit" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">413</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:11.25pt">Deferred tax expenses</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5622" name="us-gaap:IncreaseDecreaseInDeferredIncomeTaxes" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">41</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5620" name="us-gaap:IncreaseDecreaseInDeferredIncomeTaxes" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">5</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5621" name="us-gaap:IncreaseDecreaseInDeferredIncomeTaxes" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">34</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Change in non-current assets and liabilities:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:11.25pt">Long-term operating lease obligations</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5626" name="clwt:IncreaseDecreaseInOperatingLeaseLiabiltyCurrent" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">35</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5624" name="clwt:IncreaseDecreaseInOperatingLeaseLiabiltyCurrent" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">43</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5625" name="clwt:IncreaseDecreaseInOperatingLeaseLiabiltyCurrent" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">46</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Change in operating assets and liabilities:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:11.25pt">Accounts receivable</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5633" name="us-gaap:IncreaseDecreaseInAccountsReceivable" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,478</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5631" name="us-gaap:IncreaseDecreaseInAccountsReceivable" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">1,278</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5632" name="us-gaap:IncreaseDecreaseInAccountsReceivable" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">2,045</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:11.25pt">Prepayments and other current assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5636" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">25</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5634" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">240</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5635" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">86</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:11.25pt">Contract assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5639" name="us-gaap:IncreaseDecreaseInContractWithCustomerAsset" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">69</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5637" name="us-gaap:IncreaseDecreaseInContractWithCustomerAsset" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">151</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5638" name="us-gaap:IncreaseDecreaseInContractWithCustomerAsset" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">143</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:11.25pt">Inventories</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5642" name="us-gaap:IncreaseDecreaseInInventories" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">223</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5640" name="us-gaap:IncreaseDecreaseInInventories" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">120</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5641" name="us-gaap:IncreaseDecreaseInInventories" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">56</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:11.25pt">Accounts payables</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5645" name="us-gaap:IncreaseDecreaseInAccountsPayable" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">1,177</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5643" name="us-gaap:IncreaseDecreaseInAccountsPayable" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,177</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5644" name="us-gaap:IncreaseDecreaseInAccountsPayable" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">872</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:11.25pt">Contract liabilities</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5648" name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">57</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5646" name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">25</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5647" name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">451</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:11.25pt">Other payables and accrued expenses</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5651" name="us-gaap:IncreaseDecreaseInOtherAccountsPayableAndAccruedLiabilities" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">74</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5649" name="us-gaap:IncreaseDecreaseInOtherAccountsPayableAndAccruedLiabilities" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">107</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5650" name="us-gaap:IncreaseDecreaseInOtherAccountsPayableAndAccruedLiabilities" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">354</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:11.25pt">Income tax payable</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5654" name="us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">42</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5652" name="us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">42</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5653" name="us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">42</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:11.25pt">Right-of-use assets and operating lease liabilities</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5657" name="clwt:IncreaseDecreaseInRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">87</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5655" name="clwt:IncreaseDecreaseInRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">57</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5656" name="clwt:IncreaseDecreaseInRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">62</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Net cash provided by (used in) operating activities</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5660" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">781</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5658" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">80</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5659" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">461</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Cash flows from investing activities:</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Payment to acquire property, plant and equipment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5664" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">5</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5662" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">5</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5663" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">7</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Dividend received from affiliates</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5667" name="us-gaap:ProceedsFromDividendsReceived" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">307</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5665" name="us-gaap:ProceedsFromDividendsReceived" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">322</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5666" name="us-gaap:ProceedsFromDividendsReceived" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">239</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Net cash provided by investing activities</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5670" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">302</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5668" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">317</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5669" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">232</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Cash flows from financing activities:</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Dividend paid</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5674" name="us-gaap:PaymentsOfDividends" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">617</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5672" name="us-gaap:PaymentsOfDividends" contextRef="From2023-01-01to2023-12-31" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5673" name="us-gaap:PaymentsOfDividends" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">464</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Purchase of treasury stock</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5677" name="us-gaap:PaymentsForRepurchaseOfCommonStock" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">7</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5675" name="us-gaap:PaymentsForRepurchaseOfCommonStock" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">14</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5676" name="us-gaap:PaymentsForRepurchaseOfCommonStock" contextRef="From2022-01-01to2022-12-31" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Proceeds from bank borrowings</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5680" name="us-gaap:ProceedsFromBankDebt" contextRef="From2024-01-01to2024-12-31" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5678" name="us-gaap:ProceedsFromBankDebt" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">666</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5679" name="us-gaap:ProceedsFromBankDebt" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">868</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Repayment to bank borrowings</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5683" name="us-gaap:RepaymentsOfBankDebt" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">154</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5681" name="us-gaap:RepaymentsOfBankDebt" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">734</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5682" name="us-gaap:RepaymentsOfBankDebt" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,022</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Net cash used in financing activities</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5686" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">778</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5684" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">82</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5685" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">618</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Foreign currency translation adjustment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5689" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">19</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5687" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">8</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5688" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">112</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Net change in cash, cash equivalents and restricted cash</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5692" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">286</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5690" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">147</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5691" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">37</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>BEGINNING OF YEAR</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5899" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">6,790</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5896" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">6,643</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5898" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">6,680</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>END OF YEAR</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5900" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">7,076</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5897" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">6,790</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5895" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">6,643</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Represented by:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Cash and cash equivalents</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5699" name="clwt:EffectOfExchangeRateOnCashCashEquivalents" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">5,805</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5697" name="clwt:EffectOfExchangeRateOnCashCashEquivalents" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">5,453</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5698" name="clwt:EffectOfExchangeRateOnCashCashEquivalents" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">5,628</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Restricted cash</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5702" name="clwt:EffectOfExchangeRateOnRestrictedCash" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,271</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5700" name="clwt:EffectOfExchangeRateOnRestrictedCash" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,337</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5701" name="clwt:EffectOfExchangeRateOnRestrictedCash" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,015</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5936" name="clwt:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCash" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">7,076</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5934" name="clwt:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCash" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">6,790</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5935" name="clwt:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCash" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">6,643</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>SUPPLEMENTAL DISCLOSURE OF CASH FLOW INFORMATION:</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Cash paid for income taxes</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5706" name="us-gaap:IncomeTaxesPaidNet" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">77</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5704" name="us-gaap:IncomeTaxesPaidNet" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5705" name="us-gaap:IncomeTaxesPaidNet" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">42</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Cash paid for interest</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5709" name="us-gaap:InterestPaidNet" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5707" name="us-gaap:InterestPaidNet" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">7</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5708" name="us-gaap:InterestPaidNet" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">7</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">See accompanying notes to consolidated financial statements.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-6</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#tocf">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong><span class="atag" style="display: inline" id="sc">EURO TECH HOLDINGS COMPANY LIMITED</span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS&#8217; EQUITY</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>FOR THE YEARS ENDED DECEMBER 31, 2024, 2023 AND 2022</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="22"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Euro Tech Holdings Company Limited&#8217;s Shareholders</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>&#160;</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>&#160;</strong></p></td><td class="hdcell" colspan="2" style="width:6%;"/><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>&#160;</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>&#160;</strong></p></td><td class="hdcell" colspan="2" style="width:6%;"/><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>&#160;</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>&#160;</strong></p></td><td class="hdcell" colspan="2" style="width:6%;"/><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>&#160;</strong></p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>&#160;</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>&#160;</strong></p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Ordinary Share</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>&#160;</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>&#160;</strong></p></td><td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Additional </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>&#160;</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>&#160;</strong></p></td><td class="hdcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>&#160;</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>&#160;</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>&#160;</strong></p></td><td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Accumulated other comprehensive </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>&#160;</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>&#160;</strong></p></td><td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>PRC&#160; </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>&#160;</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>&#160;</strong></p></td><td class="hdcell" colspan="2" style="width:6%;"/><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>&#160;</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>&#160;</strong></p></td><td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Non-</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>&#160;</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>&#160;</strong></p></td><td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Total</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>&#160;</strong></p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>&#160;</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>&#160;</strong></p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>No. of </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>shares</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>&#160;</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>&#160;</strong></p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Amount</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>&#160;</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>&#160;</strong></p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>paid-in </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>capital</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>&#160;</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>&#160;</strong></p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Treasure </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>stock</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>&#160;</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>&#160;</strong></p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>(loss) </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>income</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>&#160;</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>&#160;</strong></p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>statutory </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>reserve</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>&#160;</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>&#160;</strong></p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Retained </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>earnings</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>&#160;</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>&#160;</strong></p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>controlling </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>interests</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>&#160;</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>&#160;</strong></p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>shareholders&#8217;</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>equity</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Balance as of January 1, 2022</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5883" name="us-gaap:SharesIssued" contextRef="AsOf2021-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">7,899,832</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5770" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2021-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">123</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5771" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2021-12-31_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">9,670</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5772" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2021-12-31_us-gaap_TreasuryStockCommonMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">786</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5773" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2021-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">787</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5774" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2021-12-31_clwt_PRCStatutoryReserveMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">316</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5775" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2021-12-31_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">3,774</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5776" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2021-12-31_us-gaap_NoncontrollingInterestMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">917</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5777" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2021-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">14,801</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Foreign currency translation adjustment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7309" name="clwt:ForeignCurrencyTranslationAdjustment" contextRef="From2022-01-01to2022-12-31_us-gaap_CommonStockMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7329" name="clwt:ForeignCurrencyTranslationAdjustment" contextRef="From2022-01-01to2022-12-31_us-gaap_AdditionalPaidInCapitalMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7330" name="clwt:ForeignCurrencyTranslationAdjustment" contextRef="From2022-01-01to2022-12-31_us-gaap_TreasuryStockCommonMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_7331" name="clwt:ForeignCurrencyTranslationAdjustment" contextRef="From2022-01-01to2022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">62</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7333" name="clwt:ForeignCurrencyTranslationAdjustment" contextRef="From2022-01-01to2022-12-31_us-gaap_RetainedEarningsMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_7334" name="clwt:ForeignCurrencyTranslationAdjustment" contextRef="From2022-01-01to2022-12-31_us-gaap_NoncontrollingInterestMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">53</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_7335" name="clwt:ForeignCurrencyTranslationAdjustment" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">115</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Dividend paid</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7312" name="clwt:DividendPaidAmount" contextRef="From2022-01-01to2022-12-31_us-gaap_CommonStockMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7336" name="clwt:DividendPaidAmount" contextRef="From2022-01-01to2022-12-31_us-gaap_AdditionalPaidInCapitalMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7337" name="clwt:DividendPaidAmount" contextRef="From2022-01-01to2022-12-31_us-gaap_TreasuryStockCommonMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7338" name="clwt:DividendPaidAmount" contextRef="From2022-01-01to2022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7339" name="clwt:DividendPaidAmount" contextRef="From2022-01-01to2022-12-31_clwt_PRCStatutoryReserveMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_7340" name="clwt:DividendPaidAmount" contextRef="From2022-01-01to2022-12-31_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">464</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7341" name="clwt:DividendPaidAmount" contextRef="From2022-01-01to2022-12-31_us-gaap_NoncontrollingInterestMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_7342" name="clwt:DividendPaidAmount" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">464</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Stock-based compensation expense</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7315" name="clwt:StockBasedCompensationExpenseAmount" contextRef="From2022-01-01to2022-12-31_us-gaap_CommonStockMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7343" name="clwt:StockBasedCompensationExpenseAmount" contextRef="From2022-01-01to2022-12-31_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">45</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7344" name="clwt:StockBasedCompensationExpenseAmount" contextRef="From2022-01-01to2022-12-31_us-gaap_TreasuryStockCommonMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7345" name="clwt:StockBasedCompensationExpenseAmount" contextRef="From2022-01-01to2022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7346" name="clwt:StockBasedCompensationExpenseAmount" contextRef="From2022-01-01to2022-12-31_clwt_PRCStatutoryReserveMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7347" name="clwt:StockBasedCompensationExpenseAmount" contextRef="From2022-01-01to2022-12-31_us-gaap_RetainedEarningsMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7348" name="clwt:StockBasedCompensationExpenseAmount" contextRef="From2022-01-01to2022-12-31_us-gaap_NoncontrollingInterestMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7349" name="clwt:StockBasedCompensationExpenseAmount" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">45</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Appropriation to statutory reserve</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7318" name="clwt:AppropriationToStatutoryReserve" contextRef="From2022-01-01to2022-12-31_us-gaap_CommonStockMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7350" name="clwt:AppropriationToStatutoryReserve" contextRef="From2022-01-01to2022-12-31_us-gaap_AdditionalPaidInCapitalMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7351" name="clwt:AppropriationToStatutoryReserve" contextRef="From2022-01-01to2022-12-31_us-gaap_TreasuryStockCommonMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7352" name="clwt:AppropriationToStatutoryReserve" contextRef="From2022-01-01to2022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7353" name="clwt:AppropriationToStatutoryReserve" contextRef="From2022-01-01to2022-12-31_clwt_PRCStatutoryReserveMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">46</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_7354" name="clwt:AppropriationToStatutoryReserve" contextRef="From2022-01-01to2022-12-31_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">46</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7355" name="clwt:AppropriationToStatutoryReserve" contextRef="From2022-01-01to2022-12-31_us-gaap_NoncontrollingInterestMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7356" name="clwt:AppropriationToStatutoryReserve" contextRef="From2022-01-01to2022-12-31" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Net income for the year</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5810" name="us-gaap:NetIncomeLoss" contextRef="From2022-01-01to2022-12-31_us-gaap_CommonStockMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5811" name="us-gaap:NetIncomeLoss" contextRef="From2022-01-01to2022-12-31_us-gaap_AdditionalPaidInCapitalMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5812" name="us-gaap:NetIncomeLoss" contextRef="From2022-01-01to2022-12-31_us-gaap_TreasuryStockCommonMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5813" name="us-gaap:NetIncomeLoss" contextRef="From2022-01-01to2022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5814" name="us-gaap:NetIncomeLoss" contextRef="From2022-01-01to2022-12-31_clwt_PRCStatutoryReserveMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5815" name="us-gaap:NetIncomeLoss" contextRef="From2022-01-01to2022-12-31_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">369</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5816" name="us-gaap:NetIncomeLoss" contextRef="From2022-01-01to2022-12-31_us-gaap_NoncontrollingInterestMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">170</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5817" name="us-gaap:NetIncomeLoss" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">539</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Balance as of December 31, 2022</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5885" name="us-gaap:SharesIssued" contextRef="AsOf2022-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">7,899,832</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5818" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">123</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5819" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-12-31_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">9,715</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5820" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-12-31_us-gaap_TreasuryStockCommonMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">786</ix:nonFraction> </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5821" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">725</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5822" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-12-31_clwt_PRCStatutoryReserveMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">362</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5823" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-12-31_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">3,633</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5824" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-12-31_us-gaap_NoncontrollingInterestMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,034</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5825" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">14,806</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Balance as of January 1, 2023</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5886" name="us-gaap:SharesIssued" contextRef="AsOf2022-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">7,899,832</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5826" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">123</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5827" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-12-31_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">9,715</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5828" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-12-31_us-gaap_TreasuryStockCommonMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">786</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5829" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">725</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5830" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-12-31_clwt_PRCStatutoryReserveMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">362</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5831" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-12-31_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">3,633</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5832" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-12-31_us-gaap_NoncontrollingInterestMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,034</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5833" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">14,806</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Foreign currency translation adjustment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7310" name="clwt:ForeignCurrencyTranslationAdjustment" contextRef="From2023-01-01to2023-12-31_us-gaap_CommonStockMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7357" name="clwt:ForeignCurrencyTranslationAdjustment" contextRef="From2023-01-01to2023-12-31_us-gaap_AdditionalPaidInCapitalMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7358" name="clwt:ForeignCurrencyTranslationAdjustment" contextRef="From2023-01-01to2023-12-31_us-gaap_TreasuryStockCommonMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7359" name="clwt:ForeignCurrencyTranslationAdjustment" contextRef="From2023-01-01to2023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">8</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7360" name="clwt:ForeignCurrencyTranslationAdjustment" contextRef="From2023-01-01to2023-12-31_clwt_PRCStatutoryReserveMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7361" name="clwt:ForeignCurrencyTranslationAdjustment" contextRef="From2023-01-01to2023-12-31_us-gaap_RetainedEarningsMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_7362" name="clwt:ForeignCurrencyTranslationAdjustment" contextRef="From2023-01-01to2023-12-31_us-gaap_NoncontrollingInterestMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">17</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_7363" name="clwt:ForeignCurrencyTranslationAdjustment" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">9</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Purchase 10,700 shares of treasury stock</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7322" name="clwt:PurchaseSharesOfTreasuryStock" contextRef="From2023-01-01to2023-12-31_us-gaap_CommonStockMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7364" name="clwt:PurchaseSharesOfTreasuryStock" contextRef="From2023-01-01to2023-12-31_us-gaap_AdditionalPaidInCapitalMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_7365" name="clwt:PurchaseSharesOfTreasuryStock" contextRef="From2023-01-01to2023-12-31_us-gaap_TreasuryStockCommonMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">14</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7366" name="clwt:PurchaseSharesOfTreasuryStock" contextRef="From2023-01-01to2023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7367" name="clwt:PurchaseSharesOfTreasuryStock" contextRef="From2023-01-01to2023-12-31_clwt_PRCStatutoryReserveMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7369" name="clwt:PurchaseSharesOfTreasuryStock" contextRef="From2023-01-01to2023-12-31_us-gaap_NoncontrollingInterestMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_7370" name="clwt:PurchaseSharesOfTreasuryStock" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">14</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Stock-based compensation expense</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7316" name="clwt:StockBasedCompensationExpenseAmount" contextRef="From2023-01-01to2023-12-31_us-gaap_CommonStockMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7371" name="clwt:StockBasedCompensationExpenseAmount" contextRef="From2023-01-01to2023-12-31_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">47</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7372" name="clwt:StockBasedCompensationExpenseAmount" contextRef="From2023-01-01to2023-12-31_us-gaap_TreasuryStockCommonMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7373" name="clwt:StockBasedCompensationExpenseAmount" contextRef="From2023-01-01to2023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7374" name="clwt:StockBasedCompensationExpenseAmount" contextRef="From2023-01-01to2023-12-31_clwt_PRCStatutoryReserveMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7375" name="clwt:StockBasedCompensationExpenseAmount" contextRef="From2023-01-01to2023-12-31_us-gaap_RetainedEarningsMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7376" name="clwt:StockBasedCompensationExpenseAmount" contextRef="From2023-01-01to2023-12-31_us-gaap_NoncontrollingInterestMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7377" name="clwt:StockBasedCompensationExpenseAmount" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">47</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Appropriation to statutory reserve</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7319" name="clwt:AppropriationToStatutoryReserve" contextRef="From2023-01-01to2023-12-31_us-gaap_CommonStockMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7378" name="clwt:AppropriationToStatutoryReserve" contextRef="From2023-01-01to2023-12-31_us-gaap_AdditionalPaidInCapitalMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7379" name="clwt:AppropriationToStatutoryReserve" contextRef="From2023-01-01to2023-12-31_us-gaap_TreasuryStockCommonMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7380" name="clwt:AppropriationToStatutoryReserve" contextRef="From2023-01-01to2023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_7381" name="clwt:AppropriationToStatutoryReserve" contextRef="From2023-01-01to2023-12-31_clwt_PRCStatutoryReserveMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">20</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7382" name="clwt:AppropriationToStatutoryReserve" contextRef="From2023-01-01to2023-12-31_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">20</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7383" name="clwt:AppropriationToStatutoryReserve" contextRef="From2023-01-01to2023-12-31_us-gaap_NoncontrollingInterestMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7384" name="clwt:AppropriationToStatutoryReserve" contextRef="From2023-01-01to2023-12-31" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Net income for the year</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5866" name="us-gaap:NetIncomeLoss" contextRef="From2023-01-01to2023-12-31_us-gaap_CommonStockMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5867" name="us-gaap:NetIncomeLoss" contextRef="From2023-01-01to2023-12-31_us-gaap_AdditionalPaidInCapitalMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5868" name="us-gaap:NetIncomeLoss" contextRef="From2023-01-01to2023-12-31_us-gaap_TreasuryStockCommonMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5869" name="us-gaap:NetIncomeLoss" contextRef="From2023-01-01to2023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5870" name="us-gaap:NetIncomeLoss" contextRef="From2023-01-01to2023-12-31_clwt_PRCStatutoryReserveMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5871" name="us-gaap:NetIncomeLoss" contextRef="From2023-01-01to2023-12-31_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,828</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5872" name="us-gaap:NetIncomeLoss" contextRef="From2023-01-01to2023-12-31_us-gaap_NoncontrollingInterestMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">178</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5873" name="us-gaap:NetIncomeLoss" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,650</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Balance as of December 31, 2023</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7504" name="us-gaap:SharesIssued" contextRef="AsOf2023-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">7,899,832</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7385" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">123</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7387" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">9,762</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_7389" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31_us-gaap_TreasuryStockCommonMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">800</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7392" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">733</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7394" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31_clwt_PRCStatutoryReserveMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">342</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7396" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">5,481</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7398" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31_us-gaap_NoncontrollingInterestMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">839</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7400" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">16,480</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Balance as of January 1, 2024</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5884" name="us-gaap:SharesIssued" contextRef="AsOf2023-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">7,899,832</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7386" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">123</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7388" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">9,762</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_7390" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31_us-gaap_TreasuryStockCommonMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">800</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7393" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">733</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7395" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31_clwt_PRCStatutoryReserveMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">342</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7397" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">5,481</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7399" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31_us-gaap_NoncontrollingInterestMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">839</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7401" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">16,480</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Foreign currency translation adjustment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7311" name="clwt:ForeignCurrencyTranslationAdjustment" contextRef="From2024-01-01to2024-12-31_us-gaap_CommonStockMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7402" name="clwt:ForeignCurrencyTranslationAdjustment" contextRef="From2024-01-01to2024-12-31_us-gaap_AdditionalPaidInCapitalMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7403" name="clwt:ForeignCurrencyTranslationAdjustment" contextRef="From2024-01-01to2024-12-31_us-gaap_TreasuryStockCommonMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_7404" name="clwt:ForeignCurrencyTranslationAdjustment" contextRef="From2024-01-01to2024-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">20</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7405" name="clwt:ForeignCurrencyTranslationAdjustment" contextRef="From2024-01-01to2024-12-31_clwt_PRCStatutoryReserveMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7406" name="clwt:ForeignCurrencyTranslationAdjustment" contextRef="From2024-01-01to2024-12-31_us-gaap_RetainedEarningsMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7407" name="clwt:ForeignCurrencyTranslationAdjustment" contextRef="From2024-01-01to2024-12-31_us-gaap_NoncontrollingInterestMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_7408" name="clwt:ForeignCurrencyTranslationAdjustment" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">19</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Dividend paid</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7314" name="clwt:DividendPaidAmount" contextRef="From2024-01-01to2024-12-31_us-gaap_CommonStockMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7409" name="clwt:DividendPaidAmount" contextRef="From2024-01-01to2024-12-31_us-gaap_AdditionalPaidInCapitalMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7410" name="clwt:DividendPaidAmount" contextRef="From2024-01-01to2024-12-31_us-gaap_TreasuryStockCommonMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7411" name="clwt:DividendPaidAmount" contextRef="From2024-01-01to2024-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7412" name="clwt:DividendPaidAmount" contextRef="From2024-01-01to2024-12-31_clwt_PRCStatutoryReserveMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_7413" name="clwt:DividendPaidAmount" contextRef="From2024-01-01to2024-12-31_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">617</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7414" name="clwt:DividendPaidAmount" contextRef="From2024-01-01to2024-12-31_us-gaap_NoncontrollingInterestMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_7415" name="clwt:DividendPaidAmount" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">617</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Purchase 5,133 shares of treasury stock</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7323" name="clwt:PurchaseSharesOfTreasuryStock" contextRef="From2024-01-01to2024-12-31_us-gaap_CommonStockMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7416" name="clwt:PurchaseSharesOfTreasuryStock" contextRef="From2024-01-01to2024-12-31_us-gaap_AdditionalPaidInCapitalMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_7417" name="clwt:PurchaseSharesOfTreasuryStock" contextRef="From2024-01-01to2024-12-31_us-gaap_TreasuryStockCommonMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">7</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7418" name="clwt:PurchaseSharesOfTreasuryStock" contextRef="From2024-01-01to2024-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7419" name="clwt:PurchaseSharesOfTreasuryStock" contextRef="From2024-01-01to2024-12-31_clwt_PRCStatutoryReserveMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7421" name="clwt:PurchaseSharesOfTreasuryStock" contextRef="From2024-01-01to2024-12-31_us-gaap_NoncontrollingInterestMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_7422" name="clwt:PurchaseSharesOfTreasuryStock" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">7</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Stock-based compensation expense</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7317" name="clwt:StockBasedCompensationExpenseAmount" contextRef="From2024-01-01to2024-12-31_us-gaap_CommonStockMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7423" name="clwt:StockBasedCompensationExpenseAmount" contextRef="From2024-01-01to2024-12-31_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">12</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7424" name="clwt:StockBasedCompensationExpenseAmount" contextRef="From2024-01-01to2024-12-31_us-gaap_TreasuryStockCommonMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7425" name="clwt:StockBasedCompensationExpenseAmount" contextRef="From2024-01-01to2024-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7426" name="clwt:StockBasedCompensationExpenseAmount" contextRef="From2024-01-01to2024-12-31_clwt_PRCStatutoryReserveMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7427" name="clwt:StockBasedCompensationExpenseAmount" contextRef="From2024-01-01to2024-12-31_us-gaap_RetainedEarningsMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7428" name="clwt:StockBasedCompensationExpenseAmount" contextRef="From2024-01-01to2024-12-31_us-gaap_NoncontrollingInterestMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7429" name="clwt:StockBasedCompensationExpenseAmount" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">12</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Appropriation to statutory reserve</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7320" name="clwt:AppropriationToStatutoryReserve" contextRef="From2024-01-01to2024-12-31_us-gaap_CommonStockMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7430" name="clwt:AppropriationToStatutoryReserve" contextRef="From2024-01-01to2024-12-31_us-gaap_AdditionalPaidInCapitalMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7431" name="clwt:AppropriationToStatutoryReserve" contextRef="From2024-01-01to2024-12-31_us-gaap_TreasuryStockCommonMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7432" name="clwt:AppropriationToStatutoryReserve" contextRef="From2024-01-01to2024-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7433" name="clwt:AppropriationToStatutoryReserve" contextRef="From2024-01-01to2024-12-31_clwt_PRCStatutoryReserveMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">3</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_7434" name="clwt:AppropriationToStatutoryReserve" contextRef="From2024-01-01to2024-12-31_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">3</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7435" name="clwt:AppropriationToStatutoryReserve" contextRef="From2024-01-01to2024-12-31_us-gaap_NoncontrollingInterestMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7436" name="clwt:AppropriationToStatutoryReserve" contextRef="From2024-01-01to2024-12-31" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Net income for the year</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7246" name="us-gaap:NetIncomeLoss" contextRef="From2024-01-01to2024-12-31_us-gaap_CommonStockMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7251" name="us-gaap:NetIncomeLoss" contextRef="From2024-01-01to2024-12-31_us-gaap_AdditionalPaidInCapitalMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7276" name="us-gaap:NetIncomeLoss" contextRef="From2024-01-01to2024-12-31_us-gaap_TreasuryStockCommonMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7256" name="us-gaap:NetIncomeLoss" contextRef="From2024-01-01to2024-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7261" name="us-gaap:NetIncomeLoss" contextRef="From2024-01-01to2024-12-31_clwt_PRCStatutoryReserveMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7266" name="us-gaap:NetIncomeLoss" contextRef="From2024-01-01to2024-12-31_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">734</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7271" name="us-gaap:NetIncomeLoss" contextRef="From2024-01-01to2024-12-31_us-gaap_NoncontrollingInterestMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">111</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7241" name="us-gaap:NetIncomeLoss" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">845</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Balance as of December 31, 2024</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7247" name="us-gaap:SharesIssued" contextRef="AsOf2024-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">7,899,832</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7248" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2024-12-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">123</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7253" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2024-12-31_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">9,774</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_7278" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2024-12-31_us-gaap_TreasuryStockCommonMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">807</ix:nonFraction> </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7258" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2024-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">713</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7263" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2024-12-31_clwt_PRCStatutoryReserveMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">345</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7268" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2024-12-31_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">5,595</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7273" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2024-12-31_us-gaap_NoncontrollingInterestMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">951</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7243" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">16,694</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">See accompanying notes to consolidated financial statements.</p><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-7</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#tocf">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong><span class="atag" style="display: inline" id="note">EURO TECH HOLDINGS COMPANY LIMITED</span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>FOR THE YEARS ENDED DECEMBER 31, 2024, 2023 AND 2022</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3481" name="us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true" continuedAt="cont_a6784f"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Note 1: Organization and Business Background </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Euro Tech Holdings Company Limited (the &#8220;Company&#8221; or &#8220;CLWT&#8221;) was incorporated in the British Virgin Islands on September 30, 1996.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Euro Tech (Far East) Limited (&#8220;Far East&#8221;) is the principal operating subsidiary of the Company. It is principally engaged in the marketing and trading of water and waste water related process control, analytical and testing instruments, disinfection equipment, supplies and related automation systems in Hong Kong and in the People&#8217;s Republic of China (the &#8220;PRC&#8221;).</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Company&#8217;s principal subsidiaries at December 31, 2024 and 2023 are set out below.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="text-decoration:underline">Description of subsidiaries</span></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_4762" name="clwt:ScheduleOfSignificantSubsidiariesTableTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true"><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="BORDER-BOTTOM: 1px solid;width:21%;vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Company name</strong></p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>&#160;</strong></p></td><td style="BORDER-BOTTOM: 1px solid;width:17%;vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Place of incorporation and principal place of operation</strong></p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>&#160;</strong></p></td><td style="BORDER-BOTTOM: 1px solid;width:34%;vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Principal activities</strong></p><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>and place of operation</strong></p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>&#160;</strong></p></td><td style="BORDER-BOTTOM: 1px solid;width:20%;vertical-align:bottom;" colspan="3"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Effective interest</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>held</strong></p></td></tr><tr style="height:15px"><td style="width:21%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="width:1%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="width:17%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="width:1%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="width:34%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="width:1%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="width:1%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>&#160;</strong></p></td><td style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td></tr><tr style="height:15px"><td style="width:21%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:17%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:34%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="width:21%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Euro Tech (Far East) Limited</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:17%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><ix:nonNumeric id="fid_7061" name="clwt:PlaceOfIncorporation" contextRef="From2024-01-01to2024-12-31_clwt_EuroTechFarEastsLimitedMember">Hong Kong</ix:nonNumeric></p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:34%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><ix:nonNumeric id="fid_7066" name="us-gaap:EquityMethodInvestmentDescriptionOfPrincipalActivities" contextRef="From2024-01-01to2024-12-31_clwt_EuroTechFarEastsLimitedMember">Marketing and trading of water and waste water related process control, analytical and testing instruments, disinfection equipment, supplies and related automation systems</ix:nonNumeric></p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><ix:nonFraction id="fid_7050" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" contextRef="From2024-01-01to2024-12-31_clwt_EuroTechFarEastsLimitedMember" unitRef="Pure" decimals="INF" scale="-2">100</ix:nonFraction>%</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><ix:nonFraction id="fid_7049" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" contextRef="From2023-01-01to2023-12-31_clwt_EuroTechFarEastsLimitedMember" unitRef="Pure" decimals="INF" scale="-2">100</ix:nonFraction>%</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="width:21%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:17%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:34%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;</p></td><td style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="width:21%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Euro Tech Trading (Shanghai) Limited</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:17%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><ix:nonNumeric id="fid_7062" name="clwt:PlaceOfIncorporation" contextRef="From2024-01-01to2024-12-31_clwt_EuroTechTradingsLimitedMember">The PRC</ix:nonNumeric></p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:34%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><ix:nonNumeric id="fid_7067" name="us-gaap:EquityMethodInvestmentDescriptionOfPrincipalActivities" contextRef="From2024-01-01to2024-12-31_clwt_EuroTechTradingsLimitedMember">Inactive</ix:nonNumeric></p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><ix:nonFraction id="fid_7052" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" contextRef="From2024-01-01to2024-12-31_clwt_EuroTechTradingsLimitedMember" unitRef="Pure" decimals="INF" scale="-2">100</ix:nonFraction>%</p></td><td style="width:1%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;</p></td><td style="width:9%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><ix:nonFraction id="fid_7051" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" contextRef="From2023-01-01to2023-12-31_clwt_EuroTechTradingsLimitedMember" unitRef="Pure" decimals="INF" scale="-2">100</ix:nonFraction>%</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="width:21%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:17%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:34%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="width:21%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Shanghai Euro Tech Limited #</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:17%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><ix:nonNumeric id="fid_7063" name="clwt:PlaceOfIncorporation" contextRef="From2024-01-01to2024-12-31_clwt_ShanghaiEuroTechsLimitedMember">The PRC</ix:nonNumeric></p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:34%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><ix:nonNumeric id="fid_7068" name="us-gaap:EquityMethodInvestmentDescriptionOfPrincipalActivities" contextRef="From2024-01-01to2024-12-31_clwt_ShanghaiEuroTechsLimitedMember">Manufacturing of analytical and testing equipment</ix:nonNumeric></p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">-</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><ix:nonFraction id="fid_7053" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" contextRef="From2023-01-01to2023-12-31_clwt_ShanghaiEuroTechsLimitedMember" unitRef="Pure" decimals="INF" scale="-2">100</ix:nonFraction>%</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="width:21%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:17%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:34%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="width:21%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Yixing Pact Environmental Technology Co., Ltd.</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:17%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><ix:nonNumeric id="fid_7059" name="clwt:PlaceOfIncorporation" contextRef="From2024-01-01to2024-12-31_clwt_YixingPactEnvironmentalsMember">The PRC</ix:nonNumeric></p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:34%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><ix:nonNumeric id="fid_7064" name="us-gaap:EquityMethodInvestmentDescriptionOfPrincipalActivities" contextRef="From2024-01-01to2024-12-31_clwt_YixingPactEnvironmentalsMember">Design, manufacturing and operation of water and wastewater treatment and water desalination machinery and equipment</ix:nonNumeric></p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><ix:nonFraction id="fid_7056" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" contextRef="From2024-01-01to2024-12-31_clwt_YixingPactEnvironmentalsMember" unitRef="Pure" decimals="INF" scale="-2">58</ix:nonFraction>%</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><ix:nonFraction id="fid_7055" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" contextRef="From2023-01-01to2023-12-31_clwt_YixingPactEnvironmentalsMember" unitRef="Pure" decimals="INF" scale="-2">58</ix:nonFraction>%</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="width:21%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:17%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:34%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="width:21%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Pact Asia Pacific Limited</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:17%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><ix:nonNumeric id="fid_7060" name="clwt:PlaceOfIncorporation" contextRef="From2024-01-01to2024-12-31_clwt_PactAsiaPacificLimitedsMember">The British Virgin Islands</ix:nonNumeric></p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:34%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><ix:nonNumeric id="fid_7065" name="us-gaap:EquityMethodInvestmentDescriptionOfPrincipalActivities" contextRef="From2024-01-01to2024-12-31_clwt_PactAsiaPacificLimitedsMember">Sale of environmental protection equipment, undertaking environment protection projects and providing relevant technology advice, training and services</ix:nonNumeric></p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><ix:nonFraction id="fid_7058" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" contextRef="From2024-01-01to2024-12-31_clwt_PactAsiaPacificLimitedsMember" unitRef="Pure" decimals="INF" scale="-2">58</ix:nonFraction>%</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><ix:nonFraction id="fid_7057" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" contextRef="From2023-01-01to2023-12-31_clwt_PactAsiaPacificLimitedsMember" unitRef="Pure" decimals="INF" scale="-2">58</ix:nonFraction>%</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="width:21%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:17%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:34%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="width:21%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">PACT Environmental Technology Pte. Ltd. #</p></td><td style="width:1%;"/><td style="width:17%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><ix:nonNumeric id="fid_7089" name="clwt:PlaceOfIncorporation" contextRef="From2024-01-01to2024-12-31_clwt_PactEnvironmentalTechnologyPteLtdMember">Singapore</ix:nonNumeric></p></td><td style="width:1%;"/><td style="width:34%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><ix:nonNumeric id="fid_7088" name="us-gaap:EquityMethodInvestmentDescriptionOfPrincipalActivities" contextRef="From2024-01-01to2024-12-31_clwt_PactEnvironmentalTechnologyPteLtdMember">Marketing and provision of after sales services of ballast water treatment systems and customized industrial wastewater solutions, equipment fabrication</ix:nonNumeric></p></td><td style="width:1%;"/><td style="width:9%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><ix:nonFraction id="fid_7090" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" contextRef="From2024-01-01to2024-12-31_clwt_PactEnvironmentalTechnologyPteLtdMember" unitRef="Pure" decimals="INF" scale="-2">58</ix:nonFraction>%</p></td><td style="width:1%;"/><td style="width:9%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">-</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="width:21%;"/><td style="width:1%;"/><td style="width:17%;"/><td style="width:1%;"/><td style="width:34%;"/><td style="width:1%;"/><td style="width:9%;"/><td style="width:1%;"/><td style="width:9%;"/></tr><tr style="height:15px;background-color:#cceeff"><td colspan="3" style="width:40%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Non-consolidating affiliate:</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:34%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="width:21%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:17%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:34%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="width:21%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Zhejiang Tianlan Environmental Protection Technology Co. Ltd (&#8220;Blue Sky&#8221;) *&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:17%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><ix:nonNumeric id="fid_7093" name="clwt:PlaceOfIncorporation" contextRef="From2024-01-01to2024-12-31_clwt_ZhejiangTianlanEnvironmentalProtectionTechnologyCoLtdMember">The PRC</ix:nonNumeric></p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:34%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><ix:nonNumeric id="fid_7092" name="us-gaap:EquityMethodInvestmentDescriptionOfPrincipalActivities" contextRef="From2024-01-01to2024-12-31_clwt_ZhejiangTianlanEnvironmentalProtectionTechnologyCoLtdMember">Design, general contract, equipment manufacturing, installation, testing and operation management of the treatment of waste gases emitted</ix:nonNumeric></p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><ix:nonFraction id="fid_7094" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" contextRef="From2024-01-01to2024-12-31_clwt_ZhejiangTianlanEnvironmentalProtectionTechnologyCoLtdMember" unitRef="Pure" decimals="INF" scale="-2">19.4</ix:nonFraction>%</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><ix:nonFraction id="fid_7095" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" contextRef="From2023-01-01to2023-12-31_clwt_ZhejiangTianlanEnvironmentalProtectionTechnologyCoLtdMember" unitRef="Pure" decimals="INF" scale="-2">19.4</ix:nonFraction>%</p></td></tr></tbody></table></ix:nonNumeric><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160; </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"># This company was deregistered on October 8, 2024.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">#&#160;This company was incorporated on November 7, 2024.</p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-8</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#tocf">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>EURO TECH HOLDINGS COMPANY LIMITED</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>FOR THE YEARS ENDED DECEMBER 31, 2024, 2023 AND 2022</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p><ix:continuation id="cont_a6784f"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">* The Company&#8217;s interest in Blue Sky has been counted for as an affiliate using the equity method as the Company has representation on both the Board and Executive Committee of Blue Sky, and the ability to participate in the decision-making process and exercise significant influence.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Company and its subsidiaries are hereinafter referred to as (the &#8220;Group&#8221;).</p></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3437" name="us-gaap:SignificantAccountingPoliciesTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true" continuedAt="cont_dbed66"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Note 2: Summary of Significant Accounting Policies </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The accompanying consolidated financial statements reflect the application of certain significant accounting policies as described in this note and elsewhere in the accompanying consolidated financial statements and notes.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Use of estimates</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3689" name="us-gaap:UseOfEstimates" contextRef="From2024-01-01to2024-12-31" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The preparation of the accompanying consolidated financial statements in conformity with GAAP requires management to make estimates and judgments that affect the reported amounts of assets and liabilities, the disclosure of contingent assets and liabilities at the date of the consolidated financial statements and the reported amounts of revenues and expenses during the reporting period. Certain accounting estimates of the Group require a higher degree of judgment than others in their application. These include the recognition of revenue and earnings from engineering contracts over time, the valuation of goodwill, and contract assets and contract liabilities. Management continually evaluates all of its estimates and judgments based on available information and experience; however, actual results could differ from these estimates.</p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Basis of consolidation</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3688" name="us-gaap:ConsolidationPolicyTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The accompanying consolidated financial statements include the results of operations of the Company and its subsidiaries. Significant intercompany transactions and balances have been eliminated. </p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Subsidiaries</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3687" name="us-gaap:ConsolidationSubsidiariesOrOtherInvestmentsConsolidatedEntitiesPolicy" contextRef="From2024-01-01to2024-12-31" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Subsidiaries are all entities over which the Group has control; has the power to appoint or remove the majority of the members of the board of directors; has the right to cast a majority of votes at the meeting of the board of directors or to govern the financial and operating policies of the investee under a statute or agreement among the shareholders or equity holders.</p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Investments in affiliates</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3686" name="us-gaap:EquityMethodInvestmentsPolicy" contextRef="From2024-01-01to2024-12-31" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">We account for our interest in an investment using the equity method of accounting per Accounting Standards Codification (&#8220;ASC&#8221;) No. 323, &#8220;Investments - Equity Method and Joint Ventures&#8221; if we are not the primary beneficiary of a VIE or do not have a controlling interest. The investment is recorded at cost and the carrying amount is adjusted periodically to recognize our proportionate share of income or loss, additional contributions made and dividends and capital distributions received. We record the effect of any impairment or other than temporary decrease in the value of the investment.&#160; </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">In the event a partially owned equity affiliate were to incur a loss and our cumulative proportionate share of the loss exceeded the carrying amount of the equity method investment, application of the equity method would be suspended and our proportionate share of further losses would not be recognized unless we committed to provide further financial support to the affiliate. We would resume application of the equity method once the affiliate became profitable and our proportionate share of the affiliate&#8217;s earnings equals our cumulative proportionate share of losses that were not recognized during the period the application of the equity method was suspended.</p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Non-controlling interests</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3685" name="clwt:NoncontrollingInterestsPolicyTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true" continuedAt="cont_c306be"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">For entities that are consolidated, but not 100% owned, a portion of the income or loss and equity is allocated to owners other than the Group. The aggregate of the income or loss and corresponding equity that is not owned by the Group is included within non-controlling interests in the consolidated financial statements.</p></ix:nonNumeric></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-9</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#tocf">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>EURO TECH HOLDINGS COMPANY LIMITED</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>FOR THE YEARS ENDED DECEMBER 31, 2024, 2023 AND 2022</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:continuation id="cont_dbed66" continuedAt="cont_694770"><ix:continuation id="cont_c306be" continuedAt="cont_6c4680"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Non-controlling interests is presented as a separate component of equity in the consolidated balance sheets. Net income includes the net income attributable to the holders of non-controlling interests in the consolidated statements of operations and comprehensive income / (loss). Profits and losses are allocated to non-controlling interests in proportion to their relative ownership interests regardless of their basis.</p></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Non-controlling interest &#8211; put option</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:continuation id="cont_6c4680"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The management evaluates all of its financial instruments, including issued put options, to determine their appropriate classification as either liabilities or equity, following the criteria's outlined in ASC 480, " Distinguishing Liabilities from Equity". The Group has determined that the put option held by non-controlling interest will be recorded as equity if the fair value of the put option becomes material.</p></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Segment information</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3684" name="us-gaap:SegmentReportingPolicyPolicyTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Group reports segment information based on the &#8220;management&#8221; approach. The management approach designates the internal reporting used by management for making decisions and assessing performance as the source of the Group&#8217;s reportable segments. The Group categorizes its operations into two business segments: Trading and manufacturing, and Engineering.</p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Revenue recognition</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3683" name="us-gaap:RevenueRecognitionPolicyTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true" continuedAt="cont_753a0d"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Company follows the revenue standard Accounting Standards Codification (&#8220;ASC&#8221;) 606, Revenue from Contracts with Customers.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The core principle of the revenue standard is that a company should recognize revenue to depict the transfer of promised goods or services to customers in an amount that reflects the consideration to which the company expects to be entitled in exchange for those goods or services. The following five steps are applied to achieve that core principle:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Step 1: Identify the contract with the customer</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Step 2: Identify the performance obligations in the contract</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Step 3: Determine the transaction price</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Step 4: Allocate the transaction price to the performance obligations in the contract</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Step 5: Recognize revenue when the company satisfies a performance obligation.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Our revenue is derived from both short and&#160;long-term contracts for customers in our engineering segment, as well as short-term contracts for customers in our trading and manufacturing segment. Accounting treatment for these contracts in accordance with Accounting Standards Update (&#8220;ASU&#8221;) 2014-09 (Accounting Standards Codification (&#8220;ASC&#8221;) Topic 606, Revenue from Contracts with Customer), is as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="text-decoration:underline">Performance obligations satisfied over time (Engineering services)</span></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Recognition of performance obligations </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">A performance obligation is a promise in a contract to transfer a distinct good or service to the customer, and is the unit of account in the new revenue standard. The contract transaction price is allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Engineering service projects typically span between several days to over 5 years. The majority of our long-term contracts have a single performance obligation as the promise to transfer the individual goods or services is not separately identifiable from other promises in the contracts and, therefore, is not distinct. Some contracts have multiple performance obligations, most commonly due to the contract covering multiple phases of the project life cycle. Revenues are recognized as our obligations are satisfied over time, by reference to the progress towards complete satisfaction of that performance obligation.</p></ix:nonNumeric></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-10</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#tocf">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>EURO TECH HOLDINGS COMPANY LIMITED</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>FOR THE YEARS ENDED DECEMBER 31, 2024, 2023 AND 2022</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:continuation id="cont_694770" continuedAt="cont_b714d6"><ix:continuation id="cont_753a0d" continuedAt="cont_3c15b1"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">If the Group expects the reference to progress certificates issued by the customers, with additional adjustments where necessary, depicts the Group&#8217;s performance in transferring control of goods or services promised to customers for individual projects, the Group satisfies the performance obligation over time and therefore, recognizes revenue over time in accordance with the output method for measuring progress. Under output method, revenue recognition is based on the stage of completion of the contracts, provided that the stage of contract completion and the gross billing value of contracting work can be measured reliably. The stage of completion of a contract is established by reference to the contract based on billing milestone or stage of work certified by customer. Generally, invoices are billed upon fulfilment of the measurable performance obligation. The Company evaluates the progress towards completion of the performance obligation at each phase of the contract and bills the customer in accordance with the price agreed upon on the contract.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Remaining performance obligations (&#8220;RPOs&#8221;)</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">RPOs represent the amount of revenues we expect to recognize in the future from our contract commitments on projects and are hereafter referred to as &#8220;Backlog&#8221;. Backlog includes the entire expected revenue values for subsidiary we consolidate. Backlog may not be indicative of future operating results, and projects included in Backlog may be canceled, modified or otherwise altered by customers. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The following schedule shows a reconciliation of backlog representing the amount of revenue the Company expects to realize from work to be performed on uncompleted contracts in progress at December 31, 2024 and 2023, and from contractual agreements in effect at December 31, 2024, on which work has not yet begun:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3545" name="clwt:ScheduleOfReconciliationOfBacklogRepresentingTheAmountOfRevenueTableTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Contract revenue on uncompleted contracts at December 31, 2022</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7531" name="us-gaap:RevenueRemainingPerformanceObligation" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">523</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">New contract awards during the year</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7530" name="clwt:NewContractRevenueAwardsDuringTheYear" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">9,044</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Contract adjustment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7532" name="clwt:ContractRevenueAdjustment" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">252</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Contract revenue recognized for the year</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_7533" name="clwt:ContractRevenueRecognizedForTheYear" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">5,797</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">)&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Backlog at December 31, 2023</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7534" name="clwt:BacklogRevenueRemainingPerformanceObligation" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">4,022</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Contract revenue on uncompleted contracts at December 31, 2023</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7526" name="us-gaap:RevenueRemainingPerformanceObligation" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">4,022</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">New contract awards during the year</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7101" name="clwt:NewContractRevenueAwardsDuringTheYear" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">5,621</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Contract adjustment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7527" name="clwt:ContractRevenueAdjustment" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">30</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Contract revenue recognized for the year</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_7528" name="clwt:ContractRevenueRecognizedForTheYear" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">5,834</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">)&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Backlog at December 31, 2024</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7529" name="clwt:BacklogRevenueRemainingPerformanceObligation" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">3,839</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:nonNumeric><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160; </p><p style="font-size:10pt;font-family:times new roman;margin:0px">Our backlog decreased from US$<ix:nonFraction id="fid_7143" name="clwt:ContractWithCustomerRemainingPerformanceObligation" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="0">4,022,000</ix:nonFraction> as of December 31, 2023 to US$<ix:nonFraction id="fid_7535" name="clwt:ContractWithCustomerRemainingPerformanceObligation" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="0">3,839,000</ix:nonFraction> as of December 31, 2024, representing a decrease of US$<ix:nonFraction id="fid_7536" name="clwt:RevenueFromContractWithCustomerIncreaseDecrease" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="0">183,000</ix:nonFraction>. The decrease in our backlog was primarily due to the increased completion and fulfillment of existing orders by us in our existing construction projects. Nevertheless, the timing and extent to which backlog will result in direct revenue depends on many factors, including the timing of commencement of work, the rate at which we perform services, scope changes, cancellations, delays, receipt of regulatory approvals and the nature, duration, size, complexity and phase of the studies. In addition, delayed projects remain in backlog until they are canceled. As a result of these factors, our backlog is not necessarily a reliable indicator of future direct revenue and we might not realize all or any part of the direct revenue from the authorizations in backlog as of any point in time.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Variable consideration</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Contract modifications through change orders, claims and incentives are routine in the performance of the Group&#8217;s contracts to account for changes in the contract specifications or requirements. In most instances, contract modifications are not distinct from the existing contract due to the significant integration service provided in the contract and are accounted for as a modification of the existing contract and performance obligation. Either the Group or its customers may initiate change orders, which may include changes in specifications or designs, manner of performance, facilities, equipment, materials, sites and period of completion of the work. Change orders that are unapproved as to both price and scope are evaluated as claims. The Group considers claims to be amounts in excess of approved contract prices that the Group seeks to collect from its customers or others for customer-caused delays, errors in specifications and designs, contract terminations, change orders that are either in dispute or are unapproved as to both scope and price, or other causes of unanticipated additional contract costs.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">In the event that customer requests a change of order (such as an upgrade of specifications, materials or additional work) before the completion of the project, the Group will negotiate and sign a subcontract with the customer, subject to mutual agreement.&#160; The subcontract has its own terms and conditions for the variable consideration and is generally integrated with the original master contract. This will normally result in an increase in additional billing to the customer and rarely a reduction in the total value of the contract. The effect of variable consideration on the transaction price of a performance obligation is recognized as an adjustment to revenue on a cumulative catch-up basis. To the extent unapproved change orders and claims reflected in transaction price (or excluded from transaction price in the case of liquidated damages) are not resolved in the Group&#8217;s favor, or to the extent incentives reflected in transaction price are not earned, there could be reductions in, or reversals of, previously recognized revenue.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="text-decoration:underline">Performance obligations satisfied at a point-in-time (Trading and manufacturing)</span></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">For revenue recognized associated with its contracts with customers over time, for which the Group has an enforceable right to receive compensation. Many of our contracts contain specific provisions that determine when the Group can bill for its work performed under these contracts.</p></ix:continuation></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-11</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#tocf">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>EURO TECH HOLDINGS COMPANY LIMITED</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>FOR THE YEARS ENDED DECEMBER 31, 2024, 2023 AND 2022</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:continuation id="cont_b714d6" continuedAt="cont_632cce"><ix:continuation id="cont_3c15b1"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Any costs incurred or any payment received for a long-term contract, for which revenue has not been recognized due to impracticability or inability to measure the performance obligation, is recorded as a contract asset and contract liability, respectively, on the Group&#8217;s consolidated balance sheets. Revenue will be recognized when the performance obligation can be measured reliably and the criteria as stipulated under ACS 606 are met.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Group&#8217;s consolidated balance sheets present contract cost assets that represent our rights to receive payment for completed but not yet billed work and include costs incurred for contracts with customers as at financial year end less amounts received in advance from those customers at financial year end.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Group&#8217;s consolidated balance sheets present contract liabilities that contain deferred revenue that represent amounts received in advance from customers at financial year end in excess of any costs incurred on those contracts, which are in progress at year end, for which revenue has not yet been recognized.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Contract assets and contract liabilities arising from the same individual contract are presented net as either a single net contract asset or single net contract liability for presentation purposes.</p></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Research and development costs</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3682" name="us-gaap:ResearchAndDevelopmentExpensePolicy" contextRef="From2024-01-01to2024-12-31" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Research and development costs (&#8220;R&amp;D&#8221; costs) are expensed as incurred. The R&amp;D costs amounted to approximately US$Nil, US$Nil and US$Nil for the years ended December 31, 2024, 2023 and 2022 respectively and were included in &#8220;Selling and administrative expenses&#8221; in the Group&#8217;s consolidated statements of operations and comprehensive income / (loss).</p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Advertising and promotional expenses</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3681" name="us-gaap:AdvertisingCostsPolicyTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Advertising and promotional expenses (&#8220;A&amp;P&#8221; expenses) are expensed as incurred. The A&amp;P expenses amounted to approximately US$<ix:nonFraction id="fid_7118" name="us-gaap:MarketingAndAdvertisingExpense" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="0">41,000</ix:nonFraction>, US$<ix:nonFraction id="fid_7126" name="us-gaap:MarketingAndAdvertisingExpense" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="0">29,000</ix:nonFraction> and US$<ix:nonFraction id="fid_7117" name="us-gaap:MarketingAndAdvertisingExpense" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="0">9,000</ix:nonFraction> for the years ended December 31, 2024, 2023 and 2022 respectively and were included in &#8220;Selling and administrative expenses&#8221; in the Group&#8217;s consolidated statements of operations and comprehensive income / (loss).</p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Income taxes</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3680" name="us-gaap:IncomeTaxPolicyTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Group follows the liability method of accounting for income tax. Under this method, deferred tax assets and liabilities are recorded for future tax consequences of temporary differences&#160;between the financial reporting and tax bases of assets and liabilities, and are measured using the enacted tax rates and laws that are expected to be in effect when the underlying assets or liabilities are recovered or settled. The Group also evaluates whether the recorded deferred tax assets and valuation allowances can be realized and, when necessary, reduces the amounts to what is expected to be realized.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The accounting guidance on accounting for uncertainty in income taxes also addresses derecognition, classification, interest and penalties on income taxes, and accounting in interim periods. The Group does not believe it has any uncertain tax positions through the periods ended December 31, 2024, 2023 and 2022 respectively which would have a material impact on the Group&#8217;s consolidated financial statements.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Interest and penalties related to uncertain income tax positions are included in income tax expense on the Group&#8217;s consolidated statements of operations and comprehensive income / (loss). Interest and penalties actually incurred are charged to interest expense and the other income, respectively if applicable.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Group files tax returns in Hong Kong and the PRC. The tax returns for 2024, 2023 and 2022 are subject to examination by Hong Kong and PRC taxing authorities, commencing with the first year filed.</p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Cash and cash equivalents</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3679" name="us-gaap:CashAndCashEquivalentsPolicyTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Cash and cash equivalents consist of cash on hand, and bank deposits with original maturities of three months or less, all of which are unrestricted as to withdrawal. There were no cash equivalents as of December 31, 2024 and 2023.</p></ix:nonNumeric></ix:continuation><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-12</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#tocf">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>EURO TECH HOLDINGS COMPANY LIMITED</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>FOR THE YEARS ENDED DECEMBER 31, 2024, 2023 AND 2022</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:continuation id="cont_632cce" continuedAt="cont_1b901d"><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Restricted cash</p></td></tr></tbody></table></ix:continuation><ix:continuation id="cont_1b901d" continuedAt="cont_ab03e8"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3678" name="us-gaap:CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy" contextRef="From2024-01-01to2024-12-31" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Restricted cash represents cash deposits retained with banks in the PRC for issuance of performance bonds and guarantees to the customers and cash deposited by the Group into separate accounts and designated as collateral for standby letters of credit in the same amount in accordance with contractual agreements. &#160;</p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Accounts Receivable, net</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3677" name="us-gaap:ReceivablesPolicyTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Group does not charge interest to its customers and carries its customer receivables at their face amounts net of expected credit losses. As is common practice in the industry, the Group classifies all accounts receivable as current assets.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Group grants trade credit, on a non-collateralized basis, to its customers and is subject to potential credit risk related to changes in business and overall economic activity. The Group analyzes specific accounts receivable balances, historical bad debts, customer credit-worthiness, current economic trends and changes in customer payment terms when evaluating the adequacy of the allowance for doubtful accounts. In the event that a customer balance is deemed to be uncollectible, the account balance is written-off against the allowance for doubtful accounts.</p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Inventories</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3676" name="us-gaap:InventoryPolicyTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Inventories are measured using the first-in, first-out method and are stated at the lower of cost or net realizable value. Cost of finished goods comprise direct material, direct production costs and an allocated portion of production overhead costs based on normal operating capacity. Allowance is made for obsolete, slow moving or defective items, where appropriate.</p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Property, plant and equipment</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3675" name="us-gaap:PropertyPlantAndEquipmentPolicyTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Property, plant and equipment is carried at cost. Major modifications or refurbishments which extend the useful life of the assets are capitalized and depreciated over the adjusted remaining useful life of the assets. Upon retirement or disposition of property, plant and equipment, the cost and related accumulated depreciation are removed and any resulting gain or loss is recognized in consolidated income from operations. The cost of maintenance and repairs is charged to expense as incurred. Property, plant and equipment is reviewed for impairment and tested for recoverability whenever events or changes in circumstances indicate that the carrying amount may not be recoverable. If the carrying value of property, plant and equipment exceeds its fair value, an impairment charge would be recorded in the consolidated statement of operations.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Depreciation of property, plant and equipment are computed using the straight-line method over the assets&#8217; estimated useful lives as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3544" name="clwt:PropertyPlantAndEquipmentUsefulLifeTableTextblock" contextRef="From2024-01-01to2024-12-31" escape="true"><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="width:3%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:30%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Expected useful life</strong></p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Office premises</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><ix:nonNumeric id="fid_7103" name="us-gaap:PublicUtilitiesPropertyPlantAndEquipmentFuelUsefulLife" contextRef="From2024-01-01to2024-12-31_clwt_OfficerPremisesMember_clwt_BottomsMember" format="ixt-sec:duryear">47</ix:nonNumeric> to <ix:nonNumeric id="fid_7104" name="us-gaap:PublicUtilitiesPropertyPlantAndEquipmentFuelUsefulLife" contextRef="From2024-01-01to2024-12-31_clwt_OfficePremisesMember_clwt_TopsMember" format="ixt-sec:duryear">51</ix:nonNumeric> years</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Leasehold improvements&#160; </p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><ix:nonNumeric id="fid_7109" name="clwt:PublicUtilitiesPropertyPlantAndEquipmentLeaseholdImprovementsFuelUsefulLife" contextRef="From2024-01-01to2024-12-31_us-gaap_LeaseholdImprovementsMember">Over terms of the leases or the useful lives whichever is less</ix:nonNumeric></p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Furniture, fixtures and office equipment</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><ix:nonNumeric id="fid_7105" name="us-gaap:PublicUtilitiesPropertyPlantAndEquipmentFuelUsefulLife" contextRef="From2024-01-01to2024-12-31_us-gaap_FurnitureAndFixturesMember_clwt_BottomsMember" format="ixt-sec:duryear">3</ix:nonNumeric> to <ix:nonNumeric id="fid_7106" name="us-gaap:PublicUtilitiesPropertyPlantAndEquipmentFuelUsefulLife" contextRef="From2024-01-01to2024-12-31_us-gaap_FurnitureAndFixturesMember_clwt_TopsMember" format="ixt-sec:duryear">5</ix:nonNumeric> years</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Motor vehicles</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><ix:nonNumeric id="fid_7107" name="us-gaap:PublicUtilitiesPropertyPlantAndEquipmentFuelUsefulLife" contextRef="From2024-01-01to2024-12-31_us-gaap_VehiclesMember" format="ixt-sec:duryear">4</ix:nonNumeric> years</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Testing equipment</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><ix:nonNumeric id="fid_7108" name="us-gaap:PublicUtilitiesPropertyPlantAndEquipmentFuelUsefulLife" contextRef="From2024-01-01to2024-12-31_us-gaap_OtherMachineryAndEquipmentMember" format="ixt-sec:duryear">3</ix:nonNumeric> years</p></td></tr></tbody></table></ix:nonNumeric></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Impairment of long lived assets</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3674" name="us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Long-lived assets such as property, plant and equipment with finite lives are evaluated for impairment whenever events or changes in circumstances indicate that the carrying value of an asset may not be fully recoverable or that the useful life is shorter than the Group had originally estimated. When these events occur, the Group evaluates the impairment for the long-lived assets by comparing the carrying value of the assets to an estimate of future undiscounted cash flows expected to be generated from the use of the assets and their eventual disposition. If the sum of the expected future undiscounted cash flows is less than the carrying value of the assets, the Group recognizes an impairment loss based on the excess of the carrying value of the assets over the fair value of the assets. There was no impairment of long lived assets during 2024, 2023 and 2022, respectively.</p></ix:nonNumeric></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-13</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#tocf">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;<strong>EURO TECH HOLDINGS COMPANY LIMITED</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>FOR THE YEARS ENDED DECEMBER 31, 2024, 2023 AND 2022</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p><ix:continuation id="cont_ab03e8" continuedAt="cont_45da77"><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Long-term investment</p></td></tr></tbody></table></ix:continuation><ix:continuation id="cont_45da77" continuedAt="cont_1ce641"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3673" name="us-gaap:InvestmentPolicyTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Group has elected to apply the measurement alternative to equity securities without readily determinable fair values. As such, the Group&#8217;s non-marketable equity securities are measured at cost, less any impairment, and are adjusted for changes in fair value resulting from observable transactions for identical or similar investments of the investee. </p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Leases arrangements</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3672" name="us-gaap:LesseeLeasesPolicyTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">In the ordinary course of business, the Group enters into a variety of operating lease arrangements.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Operating right-of-use leases are included in operating lease right-of-use assets, current portion of long-term operating lease obligations and long-term operating lease obligations, net of current maturities on the Group&#8217;s consolidated balance sheets, as appropriate. Operating lease right-of-use assets and operating lease liabilities are recognized based on the present value of the future minimum lease payments over the lease term at commencement date. As most of the Group&#8217;s leases do not provide an implicit rate to calculate present value, the Group determines this rate by estimating the Group&#8217;s incremental borrowing rate, utilizing the borrowing rates associated with the Group&#8217;s various debt instruments. The operating lease right-of-use asset also includes any lease payments made and initial direct costs incurred and excludes lease incentives. Our lease terms may include options to extend or terminate the lease when it is reasonably certain that we will exercise that option.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Lease expense for minimum lease payments is recognized on a straight-line basis over the lease term.</p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Goodwill</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3671" name="us-gaap:GoodwillAndIntangibleAssetsGoodwillPolicy" contextRef="From2024-01-01to2024-12-31" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Goodwill is not amortized. The Group performs either a qualitative or quantitative assessment to review goodwill for impairment on an annual basis. This assessment is performed at the beginning of the fourth quarter, or when circumstances change, such as a significant adverse change in the business climate or the decision to sell a business, both of which would indicate that impairment may have occurred. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">A qualitative assessment considers financial, industry, segment and macroeconomic factors, if the qualitative assessment indicates a potential for impairment, a quantitative assessment is performed to determine if impairment exists. The quantitative assessment begins with a comparison of the fair value of the reporting unit with its carrying value. If the carrying amount of the reporting unit exceeds its fair value, an impairment loss would be recognized in an amount equal to that excess, limited to the total amount of the goodwill allocated to the reporting unit. If the carrying value of goodwill exceeds its implied fair value, an impairment charge would be recorded in the consolidated statements of operations and comprehensive income / (loss).</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">As a result of the annual qualitative review process in 2024 and 2023, the Group determined it was not necessary to perform a quantitative assessment. </p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Foreign currency translation</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3670" name="us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The assets and liabilities of the Group&#8217;s subsidiaries denominated in currencies other than U.S. dollars are translated into U.S. dollars using the applicable exchange rates at the consolidated balance sheet date. For consolidated statements of operations and comprehensive income/(loss)&#8217; items, amounts denominated in currencies other than U.S. dollars were translated into U.S. dollars using the average exchange rate during the period. Equity accounts were translated at their historical exchange rates. Net gains and losses resulting from translation of foreign currency on consolidated financial statements are included&#160;in the consolidated statements of shareholders&#8217; equity as accumulated other comprehensive income. Foreign currency transaction gains and losses are reflected in the consolidated statements of operations and comprehensive income / (loss).</p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Comprehensive income</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3669" name="us-gaap:ComprehensiveIncomePolicyPolicyTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">We account for comprehensive income in accordance with ASC&#160;220, &#8220;Comprehensive Income&#8221;, which specifies the computation, presentation and disclosure requirements for comprehensive income. Comprehensive income consists of net income and foreign currency translation adjustments, primarily from fluctuations in foreign currency exchange rates of our foreign subsidiaries with a functional currency other than the U.S. dollar.</p></ix:nonNumeric></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-14</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#tocf">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>EURO TECH HOLDINGS COMPANY LIMITED</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>FOR THE YEARS ENDED DECEMBER 31, 2024, 2023 AND 2022</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:continuation id="cont_1ce641" continuedAt="cont_5e3813"><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Ordinary share</p></td></tr></tbody></table></ix:continuation><ix:continuation id="cont_5e3813" continuedAt="cont_8991cf"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3668" name="clwt:OrdinaryShares" contextRef="From2024-01-01to2024-12-31" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">On November 22, 2011, the Company filed Amended and Restated Memorandum and Articles of Association with the Registry of Corporate Affairs of the BVI Financial Services Commission that on November 29, 2011 became effective as of the filing date to amend the Company&#8217;s ordinary shares of US$0.01 par value capital stock to no par value capital stock. Treasury stock is accounted for using the cost method.&#160; When treasury stock is reissued, the value is computed and recorded using a weighted-average basis.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">On October 8, 2019, the Company had stock split in the form of bonus shares at the rate of one ordinary share for every two ordinary shares held, creating <ix:nonFraction id="fid_7119" name="us-gaap:CommonStockSharesIssued" contextRef="AsOf2019-10-08" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">1,030,950</ix:nonFraction> new shares of common stock.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">On March 3, 2021, the Company had stock split in the form of bonus shares at the rate of two ordinary shares for every three ordinary shares held, creating <ix:nonFraction id="fid_7120" name="us-gaap:CommonStockSharesIssued" contextRef="AsOf2021-03-03" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">2,061,900</ix:nonFraction> new shares of common stock.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The effect of the above stock splits have been reflected retroactively in the financial statements and net income per ordinary share computations.</p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Net income per ordinary share</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3667" name="us-gaap:EarningsPerSharePolicyTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Group computes net income per ordinary share using the treasury stock method. Under the treasury stock method, basic earnings per share attributable to Euro Tech Holdings Company Limited are computed by dividing net income attributable to Euro Tech Holdings Company Limited by the weighted average number of ordinary shares outstanding during the period. The Group reports both basic earnings per share, which is based on the weighted average number of ordinary shares outstanding, and diluted earnings per share, which is based on the weighted average number of ordinary shares outstanding and all dilutive potential ordinary shares outstanding.&#160; </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Outstanding stock options are the only dilutive potential shares of the Company.</p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Stock-based compensation</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3666" name="us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy" contextRef="From2024-01-01to2024-12-31" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Group determines compensation expense for stock-based awards based on the estimated fair values at the grant date and recognizes the related compensation expense over the vesting period. The Group uses the straight-line amortization method to recognize compensation expense related to stock-based awards that have only service conditions. This method recognizes stock compensation expense on a straight-line basis over the requisite service period for the entire award. </p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Related parties</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3665" name="clwt:RelatedPartiesPolicy" contextRef="From2024-01-01to2024-12-31" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Related parties are affiliates of the Group; entities for which investments are accounted for by the equity method by the Group; trusts for the benefit of employees, such as pension and profit-sharing trusts that are managed by or under the trusteeship of management; principal owners of the Group; its management; members of the immediate families of principal owners of the Group and its management; and other parties with which the Group may deal if one party controls or can significantly influence the management or operating policies of the other to an extent that one of the transacting parties might be prevented from fully pursuing its own separate interests. Another party also is a related party if it can significantly influence the management or operating policies of the transacting parties or if it has an ownership interest in one of the transacting parties and can significantly influence the other to an extent that one or more of the transacting parties might be prevented from fully pursuing its own separate interests.</p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Concentration</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3664" name="us-gaap:ConcentrationRiskCreditRisk" contextRef="From2024-01-01to2024-12-31" escape="true" continuedAt="cont_e4a4ef"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Financial instruments that potentially subject the Group to a concentration of credit risk consist principally of cash and cash equivalents and accounts receivable, net. The Group maintains substantially all of its cash and cash equivalent balances with large financial institutions which are believed to be high quality institutions.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Group is subject to a concentration of risk because it derives a significant portion of its revenues from a few customers. The Group&#8217;s top customers accounting for more than 5% of the Group&#8217;s revenue generated approximately <ix:nonFraction id="fid_7122" name="clwt:ConcentrationPercentage" contextRef="From2024-01-01to2024-12-31_us-gaap_SalesRevenueNetMember" unitRef="Pure" decimals="INF" scale="-2">47</ix:nonFraction>%, <ix:nonFraction id="fid_7123" name="clwt:ConcentrationPercentage" contextRef="From2023-01-01to2023-12-31_us-gaap_SalesRevenueNetMember" unitRef="Pure" decimals="INF" scale="-2">41</ix:nonFraction>% and <ix:nonFraction id="fid_7121" name="clwt:ConcentrationPercentage" contextRef="From2022-01-01to2022-12-31_us-gaap_SalesRevenueNetMember" unitRef="Pure" decimals="INF" scale="-2">33</ix:nonFraction>% of consolidated revenues for the years ended December 31, 2024, 2023 and 2022, respectively. </p></ix:nonNumeric></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-15</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#tocf">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>EURO TECH HOLDINGS COMPANY LIMITED</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>FOR THE YEARS ENDED DECEMBER 31, 2024, 2023 AND 2022</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:continuation id="cont_8991cf" continuedAt="cont_87f1ee"><ix:continuation id="cont_e4a4ef"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Group grants trade credit under contractual payment terms, generally without collateral, to its customers, which include high credit quality electric utilities, general contractors, owners and managers of industrial properties and government departments. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Consequently, the Group is subject to potential credit risk related to changes in business and economic factors. At December 31, 2024, Nil (2023: three) of the Group&#8217;s customers individually exceeded 10.0% of accounts receivable, net. The Group believes the terms and conditions in its contracts, billing and collection policies are adequate to minimize the potential credit risk.</p></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Finance costs</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3663" name="clwt:FinanceCostsPolicyTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Interest relating to loans repaid is expensed in the period the repayment occurs. </p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Warranties</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3662" name="us-gaap:ExtendedProductWarrantyPolicy" contextRef="From2024-01-01to2024-12-31" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The suppliers of the Group offer a standard one-year warranty to end customers of the Group. In certain contracts, a specific percentage is designated as warranty, and management has retained it as a &#8220;retainer fee&#8221; for potential warranty claims within an effective period subsequent to project completion. In the event that a warranty claim is made, the amount will be deducted from the retainer fee accordingly. This balance remains on the balance sheet in contract liabilities, until the expiration of the warranty period, after which it will be recognized as revenue if it has not been fully utilized. Historically, claims on warranties have been&#160;insignificant.</p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Contract Assets and Contract Liabilities</p></td></tr></tbody></table><ix:nonNumeric id="fid_5094" name="clwt:ContractAssetsAndContractLiabilitiesPolicyTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Projects with performance obligations recognized over time that have revenue recognized to date in excess of cumulative billings are reported on consolidated balance sheets as &#8220;Contract assets&#8221;. Provisions for estimated losses of contract assets on uncompleted contracts are made in the period in which such losses are determined.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Contract liabilities on uncompleted contracts are the amounts of cash collected from clients, billings to clients on contracts in advance of work performed and revenue recognized. The majority of these amounts are expected to be earned within 12 months and are classified as current liabilities.</p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Shipping and handling costs</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3661" name="us-gaap:ShippingAndHandlingCostPolicyTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Amounts billed to customers related to shipping and handling are classified as revenues, and the Group&#8217;s shipping and handling costs are included in cost of revenues.</p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Retirement plan costs</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3968" name="clwt:RetirementPlanCostsPolicyTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Contributions to retirement plans (which are defined contribution plans) are charged to general and administrative expenses in the accompanying statements of operation as the related employee service are provided.</p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Statutory reserves</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3660" name="clwt:StatutoryReservesPolicyTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Group is required to make appropriation to reserve funds, comprising the statutory reserve fund and statutory staff welfare fund, based on after-tax net income determined with generally accepted accounting principles of the PRC (&#8220;PRC GAAP&#8221;).</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Appropriations to the statutory reserve fund is required to be at least 10% of the after tax net income determined in accordance with PRC GAAP until the reserve fund is equal to 50% of the entities&#8217; registered capital. </p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Fair value measurements</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3969" name="us-gaap:FairValueMeasurementPolicyPolicyTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true" continuedAt="cont_edd5a2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Company applies the provisions of ASC 820-10, &#8220;Fair Value Measurements&#8221;, for fair value measurements of financial assets and financial liabilities and for fair value measurements of non-financial items that are recognized or disclosed at fair value in the financial statements.</p></ix:nonNumeric></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-16</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#tocf">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>EURO TECH HOLDINGS COMPANY LIMITED</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>FOR THE YEARS ENDED DECEMBER 31, 2024, 2023 AND 2022</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:continuation id="cont_87f1ee" continuedAt="cont_fe3dd5"><ix:continuation id="cont_edd5a2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Group uses the three-tier hierarchy of fair value measurement, which prioritizes the inputs used in measuring fair value based upon their degree of availability in external active markets. These tiers include: Level 1 (the highest priority), defined as observable inputs, such as quoted prices in active markets; Level 2, defined as inputs other than quoted prices in active markets that are either directly or indirectly observable; and Level 3 (the lowest priority), defined as unobservable inputs in which little or no market data exists, therefore requiring an entity to develop its own assumptions.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">As of December 31, 2024 and 2023, the Group determined that the carrying values of cash and cash equivalents, restricted cash, accounts receivable, net, prepayments and other current assets, contract assets, bank borrowings, accounts payable, contract liabilities, other payables and accrued expenses approximate their fair values because of the short-term nature of these instruments. The Group has also determined that the fair value of non-controlling interest - put option is immaterial as of December 31, 2024, and is immaterial for 2023.</p></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Recent accounting pronouncements</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3658" name="us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true" continuedAt="cont_3d640f"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Changes to GAAP are typically established by the Financial Accounting Standards Board (&#8220;FASB&#8221;) in the form of accounting standards updates (&#8220;ASUs&#8221;) to the FASB&#8217;s ASC. The Group considers the applicability and impact of all ASUs. The Group, based on its assessment, determined that any recently issued or proposed ASUs not listed below are either not applicable to the Group or may have minimal impact on its consolidated financial statements.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Recently adopted accounting pronouncements</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">In September 2022, the Financial Accounting Standards Board (&#8220;FASB&#8221;) issued Accounting Standards Update (ASU) No. 2022-04 that requires additional qualitative and quantitative disclosures surrounding supplier finance programs intended to help investors better consider the effect of these programs on a company&#8217;s working capital, liquidity, and cash flows over time. This update is effective for fiscal years beginning after December 15, 2022, including interim periods, except for the disclosure of roll forward information, which is effective for fiscal years beginning after December 15, 2023. Early adoption is permitted. The Company adopted this ASU on October 1, 2023, and it did not have a significant impact on our CFS.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">In June 2022, the FASB issued ASU 2022-03 Fair Value Measurement (Topic 820): Fair Value Measurement of Equity Securities Subject to Contractual Sale Restrictions (&#8220;ASU 2022-03&#8221;), which (1) clarifies the guidance in ASC 820 on the FV measurement of an equity security that is subject to a contractual sale restriction and (2) requires specific disclosures related to such an equity security. Under current guidance, stakeholders have observed diversity in practice related to whether contractual sale restrictions should be considered in the measurement of the FV of equity securities that are subject to such restrictions. To reduce the diversity in practice and increase the comparability of reported financial information, ASU 2022-03 clarifies this guidance and amends the illustrative example. ASU No. 2022-03 is effective for fiscal years beginning after December 15, 2023, with early adoption permitted. The Company is currently evaluating the extent of the impact of this ASU but does not expect the adoption of this standard to have a significant impact on our CFS.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">In March 2022, the FASB issued ASU No. 2022-02, Troubled Debt Restructurings and Vintage Disclosures. ASU 2022-02 eliminates the accounting guidance on troubled debt restructurings for creditors in ASC Topic 310 and amends the guidance on &#8220;vintage disclosures&#8221; to require disclosure of current-period gross write-offs by year of origination. ASU 2022-02 also updates the requirements for accounting for credit losses under ASC Topic 326 and adds enhanced disclosures for creditors with respect to loan re-financings and restructurings for borrowers experiencing financial difficulty. ASU 2022-02 is effective for fiscal years beginning after December 15, 2022, including interim periods within those fiscal years. The Company adopted this ASU on October 1, 2023, and it did not have a significant impact on our CFS.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">In June 2016, the FASB issued ASU No. 2016-13, Financial Instruments &#8212; Credit Losses, which changes the accounting for recognizing impairments of financial assets. Under the new guidance, credit losses for certain types of financial instruments will be estimated based on expected losses. The new guidance also modifies the impairment models for available-for-sale debt securities and for purchased financial assets with credit deterioration since their origination.</p></ix:nonNumeric></ix:continuation><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-17</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#tocf">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>EURO TECH HOLDINGS COMPANY LIMITED</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>FOR THE YEARS ENDED DECEMBER 31, 2024, 2023 AND 2022</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p><ix:continuation id="cont_fe3dd5"><ix:continuation id="cont_3d640f" continuedAt="cont_5b7c8c"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">In March 2020, the FASB issued ASU No. 2020-04 providing optional expedients and exceptions to account for the effects of reference rate reform to contracts, hedging relationships, and other transactions that reference LIBOR or another reference rate expected to be discontinued. The optional guidance, which became effective March 12, 2020, could be applied through December 31, 2022. In December 2022, the FASB issued No 2022-06 extending the sunset date of the relief provided under ASU No. 2020-04 to December 31, 2024. The Company has various contracts that reference LIBOR and is assessing how this standard may be applied to specific contract modifications through March 31, 2025.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">On March 28, 2023, the FASB issued ASU No. 2023-01, Leases (Topic 842): Common Control Arrangements. ASU 2023-01 is designed to clarify the accounting for leasehold improvements associated with common control leases, thereby reducing diversity in practice. The new standard was effective for the Company for its fiscal year beginning October 1, 2023, with early adoption permitted. The Company is currently evaluating the impact of adopting the standard on its CFS.</p></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:continuation id="cont_5b7c8c"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Recently issued accounting pronouncements not yet adopted </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">In November 2023, the FASB issued ASU 2023-07, &#8220;Segment Reporting (Topic 280)&#8221; (&#8220;ASU 2023-07&#8221;). The amendments in ASU 2023-07 improve financial reporting by requiring disclosure of incremental segment information on an annual and interim basis for all public entities to enable investors to develop more decision useful financial analyses. Topic 280 requires a public entity to report a measure of segment profit or loss that the chief operating decision maker (CODM) uses to assess segment performance and make decisions about allocating resources. Topic 280 also requires other specified segment items and amounts, such as depreciation, amortization, and depletion expense, to be disclosed under certain circumstances. The amendments in ASU 202307 do not change or remove those disclosure requirements. The amendments in ASU 2023-07 also do not change how a public entity identifies its operating segments, aggregates those operating segments, or applies the quantitative thresholds to determine its reportable segments. The amendments in ASU 2023-07 are effective for years beginning after December 15, 2023 and interim periods within fiscal years beginning after December 15, 2024, adopted retroactively. Management expect the guidance will not have a significant impact on our CFS.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">In December 2023, the FASB issued ASU 2023-09, Improvement to Income Tax Disclosure. This standard requires more transparency about income tax information through improvements to income tax disclosures primarily related to the rate reconciliation and income taxes paid information. This standard also includes certain other amendments to improve the effectiveness of income tax disclosures. ASU 2023-09 is effective for public business entities, for annual periods beginning after December 15, 2024. For entities other than public business entities, the amendments are effective for annual periods beginning after December 15, 2025. The Company is in the process of evaluation the impact of adopting this new guidance on our CFS.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Group has reviewed all recently issued, but not yet effective, accounting pronouncements and does not believe the future adoption of any such pronouncements may be expected to cause a material impact on its financial condition or the results of its operations.</p></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Reclassification</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3657" name="us-gaap:Reclassifications" contextRef="From2024-01-01to2024-12-31" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Certain reclassifications have been made to prior year amounts to conform with the current year presentation.</p></ix:nonNumeric></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3478" name="us-gaap:SegmentReportingDisclosureTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true" continuedAt="cont_02b602"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Note 3: Segment information</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">(i) The Group reports under two segments: Trading and manufacturing, and Engineering.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;">Operating income represents total revenues less operating expenses, excluding other expense, interest and income taxes. The identifiable assets by segment are those used in each segment&#8217;s operations. Intersegment transactions are not significant and have been eliminated to arrive at consolidated totals. </p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-18</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#tocf">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>EURO TECH HOLDINGS COMPANY LIMITED</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>FOR THE YEARS ENDED DECEMBER 31, 2024, 2023 AND 2022</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:continuation id="cont_02b602" continuedAt="cont_1896d2"><ix:nonNumeric id="fid_3585" name="us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true" continuedAt="cont_dfffa1"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="10"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Revenue</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Trading and manufacturing</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_2181" name="us-gaap:Revenues" contextRef="From2024-01-01to2024-12-31_clwt_TradingsAndManufacturingMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">9,549</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_2179" name="us-gaap:Revenues" contextRef="From2023-01-01to2023-12-31_clwt_TradingsAndManufacturingMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">12,143</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_2180" name="us-gaap:Revenues" contextRef="From2022-01-01to2022-12-31_clwt_TradingsAndManufacturingMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">9,332</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Engineering</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_2184" name="us-gaap:Revenues" contextRef="From2024-01-01to2024-12-31_clwt_EngineeringsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">5,834</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_2182" name="us-gaap:Revenues" contextRef="From2023-01-01to2023-12-31_clwt_EngineeringsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">5,797</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_2183" name="us-gaap:Revenues" contextRef="From2022-01-01to2022-12-31_clwt_EngineeringsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">5,617</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_2177" name="us-gaap:Revenues" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">15,383</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_2176" name="us-gaap:Revenues" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">17,940</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_2178" name="us-gaap:Revenues" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">14,949</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Operating income / (loss)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Trading and manufacturing</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5098" name="us-gaap:OperatingIncomeLoss" contextRef="From2024-01-01to2024-12-31_clwt_TradingsAndManufacturingMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">278</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5096" name="us-gaap:OperatingIncomeLoss" contextRef="From2023-01-01to2023-12-31_clwt_TradingsAndManufacturingMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">377</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5097" name="us-gaap:OperatingIncomeLoss" contextRef="From2022-01-01to2022-12-31_clwt_TradingsAndManufacturingMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">246</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Engineering</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_2194" name="us-gaap:OperatingIncomeLoss" contextRef="From2024-01-01to2024-12-31_clwt_EngineeringsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">273</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_2192" name="us-gaap:OperatingIncomeLoss" contextRef="From2023-01-01to2023-12-31_clwt_EngineeringsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">438</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_2193" name="us-gaap:OperatingIncomeLoss" contextRef="From2022-01-01to2022-12-31_clwt_EngineeringsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">590</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Unallocated corporate expenses</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_2197" name="us-gaap:OperatingIncomeLoss" contextRef="From2024-01-01to2024-12-31_clwt_UnallocatedCorporateExpensessMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">165</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_2195" name="us-gaap:OperatingIncomeLoss" contextRef="From2023-01-01to2023-12-31_clwt_UnallocatedCorporateExpensessMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">188</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_2196" name="us-gaap:OperatingIncomeLoss" contextRef="From2022-01-01to2022-12-31_clwt_UnallocatedCorporateExpensessMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">230</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_2187" name="us-gaap:OperatingIncomeLoss" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">386</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_2186" name="us-gaap:OperatingIncomeLoss" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">249</ix:nonFraction> </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_2188" name="us-gaap:OperatingIncomeLoss" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">114</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:nonNumeric></ix:continuation><ix:continuation id="cont_1896d2" continuedAt="cont_5f97ea"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:continuation id="cont_dfffa1" continuedAt="cont_35fa37"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="10"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Depreciation:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Trading and manufacturing</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_2203" name="us-gaap:Depreciation" contextRef="From2024-01-01to2024-12-31_clwt_TradingsAndManufacturingMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">11</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_2201" name="us-gaap:Depreciation" contextRef="From2023-01-01to2023-12-31_clwt_TradingsAndManufacturingMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">11</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_2202" name="us-gaap:Depreciation" contextRef="From2022-01-01to2022-12-31_clwt_TradingsAndManufacturingMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">28</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Engineering</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_2206" name="us-gaap:Depreciation" contextRef="From2024-01-01to2024-12-31_clwt_EngineeringsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">3</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_2204" name="us-gaap:Depreciation" contextRef="From2023-01-01to2023-12-31_clwt_EngineeringsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">4</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_2205" name="us-gaap:Depreciation" contextRef="From2022-01-01to2022-12-31_clwt_EngineeringsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">5</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_2199" name="us-gaap:Depreciation" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">14</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_2198" name="us-gaap:Depreciation" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">15</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_2200" name="us-gaap:Depreciation" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">33</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Capital expenditures, gross</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Trading and manufacturing</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5101" name="clwt:CapitalExpendituresGross" contextRef="From2024-01-01to2024-12-31_clwt_TradingsAndManufacturingMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">3</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5099" name="clwt:CapitalExpendituresGross" contextRef="From2023-01-01to2023-12-31_clwt_TradingsAndManufacturingMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">3</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5100" name="clwt:CapitalExpendituresGross" contextRef="From2022-01-01to2022-12-31_clwt_TradingsAndManufacturingMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">2</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Engineering</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_2216" name="clwt:CapitalExpendituresGross" contextRef="From2024-01-01to2024-12-31_clwt_EngineeringsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">2</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_2214" name="clwt:CapitalExpendituresGross" contextRef="From2023-01-01to2023-12-31_clwt_EngineeringsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">2</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_2215" name="clwt:CapitalExpendituresGross" contextRef="From2022-01-01to2022-12-31_clwt_EngineeringsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">5</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_2209" name="clwt:CapitalExpendituresGross" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">5</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_2208" name="clwt:CapitalExpendituresGross" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">5</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_2210" name="clwt:CapitalExpendituresGross" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">7</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:continuation id="cont_35fa37"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Trading and manufacturing</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_2220" name="us-gaap:Assets" contextRef="AsOf2024-12-31_clwt_TradingsAndManufacturingMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">6,668</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5102" name="us-gaap:Assets" contextRef="AsOf2023-12-31_clwt_TradingsAndManufacturingMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">8,229</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Engineering</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_2222" name="us-gaap:Assets" contextRef="AsOf2024-12-31_clwt_EngineeringsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">14,040</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5105" name="us-gaap:Assets" contextRef="AsOf2023-12-31_clwt_EngineeringsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">13,891</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_2219" name="us-gaap:Assets" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">20,708</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5107" name="us-gaap:Assets" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">22,120</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Liabilities</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Trading and manufacturing</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5103" name="us-gaap:Liabilities" contextRef="AsOf2024-12-31_clwt_TradingsAndManufacturingMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">2,155</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5104" name="us-gaap:Liabilities" contextRef="AsOf2023-12-31_clwt_TradingsAndManufacturingMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">3,605</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Engineering</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_2228" name="us-gaap:Liabilities" contextRef="AsOf2024-12-31_clwt_EngineeringsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,859</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5106" name="us-gaap:Liabilities" contextRef="AsOf2023-12-31_clwt_EngineeringsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">2,035</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_2225" name="us-gaap:Liabilities" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">4,014</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5108" name="us-gaap:Liabilities" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">5,640</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;">(ii) Geographical analysis of revenue by customer location is as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3586" name="us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true" continuedAt="cont_4f3b10"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="10"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Revenue -</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">The PRC</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_2233" name="us-gaap:Revenues" contextRef="From2024-01-01to2024-12-31_clwt_ThePRCsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">6,398</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_2234" name="us-gaap:Revenues" contextRef="From2023-01-01to2023-12-31_clwt_ThePRCsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">7,125</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_2232" name="us-gaap:Revenues" contextRef="From2022-01-01to2022-12-31_clwt_ThePRCsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">5,878</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Hong Kong</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_2236" name="us-gaap:Revenues" contextRef="From2024-01-01to2024-12-31_clwt_HongKongsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">6,745</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_2237" name="us-gaap:Revenues" contextRef="From2023-01-01to2023-12-31_clwt_HongKongsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">9,879</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_2235" name="us-gaap:Revenues" contextRef="From2022-01-01to2022-12-31_clwt_HongKongsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">7,174</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Others </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_2239" name="us-gaap:Revenues" contextRef="From2024-01-01to2024-12-31_clwt_OthersGeographicAreaMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">2,240</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_2240" name="us-gaap:Revenues" contextRef="From2023-01-01to2023-12-31_clwt_OthersGeographicAreaMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">936</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_2238" name="us-gaap:Revenues" contextRef="From2022-01-01to2022-12-31_clwt_OthersGeographicAreaMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,897</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_2231" name="us-gaap:Revenues" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">15,383</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_2230" name="us-gaap:Revenues" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">17,940</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_2285" name="us-gaap:Revenues" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">14,949</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:nonNumeric></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-19</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#tocf">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>EURO TECH HOLDINGS COMPANY LIMITED</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>FOR THE YEARS ENDED DECEMBER 31, 2024, 2023 AND 2022</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:continuation id="cont_5f97ea"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">(iii) Long-lived assets <sup style="vertical-align:super">(1)</sup></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Geographical analysis of long-lived assets is as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:continuation id="cont_4f3b10"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Hong Kong</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7152" name="clwt:GeographicalAnalysisOfLonglivedAssets" contextRef="From2024-01-01to2024-12-31_clwt_HongKongsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">5</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5109" name="clwt:GeographicalAnalysisOfLonglivedAssets" contextRef="From2023-01-01to2023-12-31_clwt_HongKongsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">6</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">The PRC</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7153" name="clwt:GeographicalAnalysisOfLonglivedAssets" contextRef="From2024-01-01to2024-12-31_clwt_ThePRCsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">154</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5110" name="clwt:GeographicalAnalysisOfLonglivedAssets" contextRef="From2023-01-01to2023-12-31_clwt_ThePRCsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">162</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7154" name="clwt:GeographicalAnalysisOfLonglivedAssets" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">159</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5111" name="clwt:GeographicalAnalysisOfLonglivedAssets" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">168</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;"><sup style="vertical-align:super"></sup>&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;"><sup style="vertical-align:super">(1)</sup> Long-lived assets represent property, plant and equipment, net.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">(iv) Major suppliers</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Details of individual suppliers accounting for more than 5% of the Group&#8217;s purchases are as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3587" name="clwt:ScheduleOfMajorSuppliersAndCustomers" contextRef="From2024-01-01to2024-12-31" escape="true" continuedAt="cont_311f96"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="10"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><strong>2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Supplier A</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonNumeric id="fid_2253" name="us-gaap:ConcentrationRiskSupplier" contextRef="From2024-01-01to2024-12-31_clwt_SuppliersAMember">36</ix:nonNumeric></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonNumeric id="fid_2254" name="us-gaap:ConcentrationRiskSupplier" contextRef="From2023-01-01to2023-12-31_clwt_SuppliersAMember">23</ix:nonNumeric></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonNumeric id="fid_2252" name="us-gaap:ConcentrationRiskSupplier" contextRef="From2022-01-01to2022-12-31_clwt_SuppliersAMember">21</ix:nonNumeric></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Supplier B</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonNumeric id="fid_2256" name="us-gaap:ConcentrationRiskSupplier" contextRef="From2024-01-01to2024-12-31_clwt_SuppliersBMember">26</ix:nonNumeric></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonNumeric id="fid_2257" name="us-gaap:ConcentrationRiskSupplier" contextRef="From2023-01-01to2023-12-31_clwt_SuppliersBMember">42</ix:nonNumeric></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonNumeric id="fid_2255" name="us-gaap:ConcentrationRiskSupplier" contextRef="From2022-01-01to2022-12-31_clwt_SuppliersBMember">33</ix:nonNumeric></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Supplier C</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonNumeric id="fid_2259" name="us-gaap:ConcentrationRiskSupplier" contextRef="From2024-01-01to2024-12-31_clwt_SuppliersCMember">8</ix:nonNumeric></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonNumeric id="fid_2260" name="us-gaap:ConcentrationRiskSupplier" contextRef="From2023-01-01to2023-12-31_clwt_SuppliersCMember">7</ix:nonNumeric></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonNumeric id="fid_2258" name="us-gaap:ConcentrationRiskSupplier" contextRef="From2022-01-01to2022-12-31_clwt_SuppliersCMember">6</ix:nonNumeric></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Supplier D</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonNumeric id="fid_2262" name="us-gaap:ConcentrationRiskSupplier" contextRef="From2024-01-01to2024-12-31_clwt_SuppliersDMember">5</ix:nonNumeric></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonNumeric id="fid_2263" name="us-gaap:ConcentrationRiskSupplier" contextRef="From2023-01-01to2023-12-31_clwt_SuppliersDMember">5</ix:nonNumeric></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonNumeric id="fid_2261" name="us-gaap:ConcentrationRiskSupplier" contextRef="From2022-01-01to2022-12-31_clwt_SuppliersDMember">5</ix:nonNumeric></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Supplier E</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonNumeric id="fid_2265" name="us-gaap:ConcentrationRiskSupplier" contextRef="From2024-01-01to2024-12-31_clwt_SuppliersEMember" format="ixt:zerodash">-</ix:nonNumeric></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonNumeric id="fid_2266" name="us-gaap:ConcentrationRiskSupplier" contextRef="From2023-01-01to2023-12-31_clwt_SuppliersEMember" format="ixt:zerodash">-</ix:nonNumeric></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonNumeric id="fid_2264" name="us-gaap:ConcentrationRiskSupplier" contextRef="From2022-01-01to2022-12-31_clwt_SuppliersEMember">5</ix:nonNumeric></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Supplier F</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonNumeric id="fid_2268" name="us-gaap:ConcentrationRiskSupplier" contextRef="From2024-01-01to2024-12-31_clwt_SuppliersFMember" format="ixt:zerodash">-</ix:nonNumeric></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonNumeric id="fid_2269" name="us-gaap:ConcentrationRiskSupplier" contextRef="From2023-01-01to2023-12-31_clwt_SuppliersFMember" format="ixt:zerodash">-</ix:nonNumeric></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonNumeric id="fid_5901" name="us-gaap:ConcentrationRiskSupplier" contextRef="From2022-01-01to2022-12-31_clwt_SuppliersFMember">5</ix:nonNumeric></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr></tbody></table></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">(v) Major customers</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Details of individual customers accounting for more than 5% of the Group&#8217;s revenue are as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:continuation id="cont_311f96"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="10"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><strong>2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Customer A</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonNumeric id="fid_2272" name="us-gaap:ConcentrationRiskCustomer" contextRef="From2024-01-01to2024-12-31_clwt_CustomersAMember">13</ix:nonNumeric></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonNumeric id="fid_2270" name="us-gaap:ConcentrationRiskCustomer" contextRef="From2023-01-01to2023-12-31_clwt_CustomersAMember">10</ix:nonNumeric></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonNumeric id="fid_2271" name="us-gaap:ConcentrationRiskCustomer" contextRef="From2022-01-01to2022-12-31_clwt_CustomersAMember">9</ix:nonNumeric></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Customer B</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonNumeric id="fid_2275" name="us-gaap:ConcentrationRiskCustomer" contextRef="From2024-01-01to2024-12-31_clwt_CustomersBMember">9</ix:nonNumeric></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonNumeric id="fid_2273" name="us-gaap:ConcentrationRiskCustomer" contextRef="From2023-01-01to2023-12-31_clwt_CustomersBMember">14</ix:nonNumeric></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonNumeric id="fid_2274" name="us-gaap:ConcentrationRiskCustomer" contextRef="From2022-01-01to2022-12-31_clwt_CustomersBMember">18</ix:nonNumeric></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Customer C</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonNumeric id="fid_2278" name="us-gaap:ConcentrationRiskCustomer" contextRef="From2024-01-01to2024-12-31_clwt_CustomersCMember">9</ix:nonNumeric></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonNumeric id="fid_2276" name="us-gaap:ConcentrationRiskCustomer" contextRef="From2023-01-01to2023-12-31_clwt_CustomersCMember" format="ixt:zerodash">-</ix:nonNumeric></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonNumeric id="fid_2277" name="us-gaap:ConcentrationRiskCustomer" contextRef="From2022-01-01to2022-12-31_clwt_CustomersCMember" format="ixt:zerodash">-</ix:nonNumeric></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Customer D</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonNumeric id="fid_5115" name="us-gaap:ConcentrationRiskCustomer" contextRef="From2024-01-01to2024-12-31_clwt_CustomerDMember">6</ix:nonNumeric></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">%</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;<ix:nonNumeric id="fid_7537" name="us-gaap:ConcentrationRiskCustomer" contextRef="From2023-01-01to2023-12-31_clwt_CustomerDMember" format="ixt:zerodash">-</ix:nonNumeric></p></td><td style="width:1%;white-space: nowrap;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;<ix:nonNumeric id="fid_7538" name="us-gaap:ConcentrationRiskCustomer" contextRef="From2022-01-01to2022-12-31_clwt_CustomerDMember" format="ixt:zerodash">-</ix:nonNumeric></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Customer E</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonNumeric id="fid_5118" name="us-gaap:ConcentrationRiskCustomer" contextRef="From2024-01-01to2024-12-31_clwt_CustomerEMember">5</ix:nonNumeric></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">%&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;<ix:nonNumeric id="fid_7539" name="us-gaap:ConcentrationRiskCustomer" contextRef="From2023-01-01to2023-12-31_clwt_CustomerEMember" format="ixt:zerodash">-</ix:nonNumeric></p></td><td style="width:1%;white-space: nowrap;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;<ix:nonNumeric id="fid_7540" name="us-gaap:ConcentrationRiskCustomer" contextRef="From2022-01-01to2022-12-31_clwt_CustomerEMember" format="ixt:zerodash">-</ix:nonNumeric></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Customer F</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonNumeric id="fid_7036" name="us-gaap:ConcentrationRiskCustomer" contextRef="From2024-01-01to2024-12-31_clwt_CustomerFMember">5</ix:nonNumeric></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">%</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;<ix:nonNumeric id="fid_7541" name="us-gaap:ConcentrationRiskCustomer" contextRef="From2023-01-01to2023-12-31_clwt_CustomerFMember" format="ixt:zerodash">-</ix:nonNumeric></p></td><td style="width:1%;white-space: nowrap;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;<ix:nonNumeric id="fid_7542" name="us-gaap:ConcentrationRiskCustomer" contextRef="From2022-01-01to2022-12-31_clwt_CustomerFMember" format="ixt:zerodash">-</ix:nonNumeric></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Customer G</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonNumeric id="fid_7039" name="us-gaap:ConcentrationRiskCustomer" contextRef="From2024-01-01to2024-12-31_clwt_CustomerGMember" format="ixt:zerodash">-</ix:nonNumeric></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonNumeric id="fid_7037" name="us-gaap:ConcentrationRiskCustomer" contextRef="From2023-01-01to2023-12-31_clwt_CustomerGMember">7</ix:nonNumeric></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonNumeric id="fid_7038" name="us-gaap:ConcentrationRiskCustomer" contextRef="From2022-01-01to2022-12-31_clwt_CustomerGMember" format="ixt:zerodash">-</ix:nonNumeric></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Customer H</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonNumeric id="fid_7042" name="us-gaap:ConcentrationRiskCustomer" contextRef="From2024-01-01to2024-12-31_clwt_CustomerHMember" format="ixt:zerodash">-</ix:nonNumeric></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonNumeric id="fid_7040" name="us-gaap:ConcentrationRiskCustomer" contextRef="From2023-01-01to2023-12-31_clwt_CustomerHMember">5</ix:nonNumeric></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonNumeric id="fid_7041" name="us-gaap:ConcentrationRiskCustomer" contextRef="From2022-01-01to2022-12-31_clwt_CustomerHMember" format="ixt:zerodash">-</ix:nonNumeric></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Customer I</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonNumeric id="fid_7156" name="us-gaap:ConcentrationRiskCustomer" contextRef="From2024-01-01to2024-12-31_clwt_CustomerIMember" format="ixt:zerodash">-</ix:nonNumeric></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonNumeric id="fid_7157" name="us-gaap:ConcentrationRiskCustomer" contextRef="From2023-01-01to2023-12-31_clwt_CustomerIMember">5</ix:nonNumeric></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonNumeric id="fid_7158" name="us-gaap:ConcentrationRiskCustomer" contextRef="From2022-01-01to2022-12-31_clwt_CustomerIMember">6</ix:nonNumeric></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr></tbody></table></ix:continuation></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3441" name="us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true" continuedAt="cont_ebed8f"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Note 4: Accounts receivable, net</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Accounts receivable, net consisted of the following at December 31,:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3551" name="us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Contract receivables</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6398" name="us-gaap:AccountsReceivableGross" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,386</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6399" name="us-gaap:AccountsReceivableGross" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">2,864</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Less: allowance for doubtful accounts</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6400" name="us-gaap:AllowanceForDoubtfulAccountsReceivable" contextRef="AsOf2024-12-31" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6401" name="us-gaap:AllowanceForDoubtfulAccountsReceivable" contextRef="AsOf2023-12-31" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6402" name="us-gaap:AccountsReceivableNet" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,386</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6403" name="us-gaap:AccountsReceivableNet" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">2,864</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:nonNumeric></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-20</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#tocf">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>EURO TECH HOLDINGS COMPANY LIMITED</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>FOR THE YEARS ENDED DECEMBER 31, 2024, 2023 AND 2022</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:continuation id="cont_ebed8f"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">The roll-forward of activity in the allowance for doubtful accounts was as follows for the years ended December 31:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3553" name="us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Balance at beginning of period</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6410" name="us-gaap:AllowanceForDoubtfulAccountsReceivable" contextRef="AsOf2023-12-31" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6423" name="us-gaap:AllowanceForDoubtfulAccountsReceivable" contextRef="AsOf2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">28</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Less : reversal in allowances</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6411" name="us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs" contextRef="From2024-01-01to2024-12-31" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6413" name="us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">28</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Balance at end of period</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6422" name="us-gaap:AllowanceForDoubtfulAccountsReceivable" contextRef="AsOf2024-12-31" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6412" name="us-gaap:AllowanceForDoubtfulAccountsReceivable" contextRef="AsOf2023-12-31" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The following is an aging analysis of accounts receivable, net at December 31:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3555" name="us-gaap:PastDueFinancingReceivablesTableTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Current</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6428" name="us-gaap:AccountsReceivableNet" contextRef="AsOf2024-12-31_clwt_CurrentsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">422</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6429" name="us-gaap:AccountsReceivableNet" contextRef="AsOf2023-12-31_clwt_CurrentsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,175</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Past due</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">1-30 days</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6430" name="us-gaap:AccountsReceivableNet" contextRef="AsOf2024-12-31_clwt_OneMonthsPastDueMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">397</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6431" name="us-gaap:AccountsReceivableNet" contextRef="AsOf2023-12-31_clwt_OneMonthsPastDueMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">603</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">31-60 days </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6432" name="us-gaap:AccountsReceivableNet" contextRef="AsOf2024-12-31_clwt_OneToTwoMonthPastDueMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">224</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6433" name="us-gaap:AccountsReceivableNet" contextRef="AsOf2023-12-31_clwt_OneToTwoMonthPastDueMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">548</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">61-90 days </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6434" name="us-gaap:AccountsReceivableNet" contextRef="AsOf2024-12-31_clwt_ThreeMonthPastDueMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">183</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6435" name="us-gaap:AccountsReceivableNet" contextRef="AsOf2023-12-31_clwt_ThreeMonthPastDueMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">341</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Greater than or equal to 91 days</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6436" name="us-gaap:AccountsReceivableNet" contextRef="AsOf2024-12-31_clwt_MoreThanThreeMonthPastDueMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">160</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6437" name="us-gaap:AccountsReceivableNet" contextRef="AsOf2023-12-31_clwt_MoreThanThreeMonthPastDueMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">197</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6438" name="us-gaap:AccountsReceivableNet" contextRef="AsOf2024-12-31_clwt_PastDuesMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">964</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6439" name="us-gaap:AccountsReceivableNet" contextRef="AsOf2023-12-31_clwt_PastDuesMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,689</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6426" name="us-gaap:AccountsReceivableNet" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,386</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6427" name="us-gaap:AccountsReceivableNet" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">2,864</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:nonNumeric></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3443" name="us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Note 5: Prepayments and other current assets</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Prepayment and other current assets mainly represent deposits paid for purchases and services, rental and utilities deposits, and prepaid expenses. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3557" name="us-gaap:ScheduleOfOtherCurrentAssetsTableTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Deposits paid</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6695" name="us-gaap:DepositAssets" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">78</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6696" name="us-gaap:DepositAssets" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">40</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Prepayments</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6697" name="us-gaap:PrepaidExpenseCurrentAndNoncurrent" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">70</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6698" name="us-gaap:PrepaidExpenseCurrentAndNoncurrent" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">68</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Other receivables</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6699" name="us-gaap:OtherReceivables" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">118</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6700" name="us-gaap:OtherReceivables" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">134</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Income tax recoverable</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7512" name="clwt:IncomeTaxRecoverable" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">2</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7513" name="clwt:IncomeTaxRecoverable" contextRef="AsOf2023-12-31" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Other tax recoverable</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7514" name="clwt:OtherTaxRecoverable" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">3</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7515" name="clwt:OtherTaxRecoverable" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">4</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6703" name="us-gaap:PrepaidExpenseAndOtherAssets" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">271</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6704" name="us-gaap:PrepaidExpenseAndOtherAssets" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">246</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:nonNumeric></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3445" name="clwt:ContractWithCustomerAssetAndLiabilityDisclosureTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true" continuedAt="cont_9e2dbe"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Note 6: Contract assets and liabilities </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Contracts with customers usually stipulate the timing of payment, which is defined by the terms found within the various contracts under which work was performed during the period. Therefore, contract assets and liabilities are created when the timing of costs incurred on work performed does not coincide with the billing terms.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The Group&#8217;s consolidated balance sheets present contract assets which contains earned unbilled revenue associated with contract work that has been completed but not paid by customers, that are generally due once the job is completed and approved. </p></ix:nonNumeric><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-21</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#tocf">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>EURO TECH HOLDINGS COMPANY LIMITED</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>FOR THE YEARS ENDED DECEMBER 31, 2024, 2023 AND 2022</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:continuation id="cont_9e2dbe" continuedAt="cont_1f436a"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Contract assets consisted of the following at December 31:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3559" name="us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true" continuedAt="cont_0063eb"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Unbilled revenue </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6713" name="us-gaap:ContractWithCustomerAssetNet" contextRef="AsOf2024-12-31_us-gaap_UnbilledRevenuesMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">135</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6714" name="us-gaap:ContractWithCustomerAssetNet" contextRef="AsOf2023-12-31_us-gaap_UnbilledRevenuesMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">66</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The Group&#8217;s consolidated balance sheets present contract liabilities which contains deferred revenue (previously identified as billings in excess of costs on uncompleted contracts) and unearned warranty revenue.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Contract liabilities consisted of the following at December 31:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:continuation id="cont_0063eb" continuedAt="cont_c1827f"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Deferred revenue </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6717" name="us-gaap:DeferredRevenue" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">593</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6718" name="us-gaap:DeferredRevenue" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">650</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The following table provides information about contract assets and contract liabilities from contracts with customers:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:continuation id="cont_c1827f"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Contract assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6721" name="us-gaap:ContractWithCustomerAssetNet" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">135</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6722" name="us-gaap:ContractWithCustomerAssetNet" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">66</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Contract liabilities</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6723" name="us-gaap:ContractWithCustomerLiability" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">593</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6724" name="us-gaap:ContractWithCustomerLiability" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">650</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Net contract liabilities </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6725" name="clwt:ContractWithCustomerAssetLiabilityNet" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">458</ix:nonFraction> </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6726" name="clwt:ContractWithCustomerAssetLiabilityNet" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">584</ix:nonFraction> </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr></tbody></table></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The difference between the opening and closing balances of the Group&#8217;s contract assets and contract liabilities primarily results from the timing of the Group&#8217;s billings in relation to its performance of work. The amounts of revenue recognized in the period that were included in the opening contract liability balances were US$<ix:nonFraction id="fid_6771" name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="0">133,000</ix:nonFraction> and US$<ix:nonFraction id="fid_6770" name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="0">492,000</ix:nonFraction> for the years ended December 31, 2024 and 2023, respectively. The revenue consists primarily of work performed on previous billings to customers.&#160;&#160;&#160; </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The net liabilities position for contracts in process consisted of the following at December 31:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3561" name="clwt:ContractWithCustomerNetAssetLiabilityPositionTableTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true" continuedAt="cont_1e3f49"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Costs incurred in contracts in process</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6737" name="clwt:CostsIncurredInContractsInProcess" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">325</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6738" name="clwt:CostsIncurredInContractsInProcess" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">229</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Revenue earned but not yet billed</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6739" name="clwt:RevenueEarnedButNotYetBilled" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">102</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6740" name="clwt:RevenueEarnedButNotYetBilled" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">26</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Less: billings to date </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(885 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(839 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6741" name="clwt:CostsAndEstimatedEarningsOnUncompletedContractsInExcessOfBillingsUnbilledRevenue" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">458</ix:nonFraction> </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6742" name="clwt:CostsAndEstimatedEarningsOnUncompletedContractsInExcessOfBillingsUnbilledRevenue" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">584</ix:nonFraction> </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr></tbody></table></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The net liabilities position for contracts in process is included within the contract asset and contract liability in the accompanying consolidated balance sheets as follows at December 31: </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:continuation id="cont_1e3f49"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Unbilled revenue </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6752" name="clwt:ContractWithCustomerAssetLiabilityNet" contextRef="AsOf2024-12-31_us-gaap_UnbilledRevenuesMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">135</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6751" name="clwt:ContractWithCustomerAssetLiabilityNet" contextRef="AsOf2023-12-31_us-gaap_UnbilledRevenuesMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">66</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Deferred revenue </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6754" name="clwt:ContractWithCustomerAssetLiabilityNet" contextRef="AsOf2024-12-31_us-gaap_BilledRevenuesMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">593</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6753" name="clwt:ContractWithCustomerAssetLiabilityNet" contextRef="AsOf2023-12-31_us-gaap_BilledRevenuesMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">650</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6750" name="clwt:ContractWithCustomerAssetLiabilityNet" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">458</ix:nonFraction> </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6749" name="clwt:ContractWithCustomerAssetLiabilityNet" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">584</ix:nonFraction> </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr></tbody></table></ix:continuation></ix:continuation><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-22</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#tocf">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;<strong>EURO TECH HOLDINGS COMPANY LIMITED</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>FOR THE YEARS ENDED DECEMBER 31, 2024, 2023 AND 2022</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:continuation id="cont_1f436a"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 35.95pt; text-align:justify;"><span style="text-decoration:underline">Disaggregated revenue from contracts </span></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3563" name="us-gaap:DisaggregationOfRevenueTableTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="10"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Revenue</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Trading and manufacturing (revenue recognized at point in time)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6762" name="clwt:ContractWithCustomerTradingAndManufacturing" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">9,549</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6763" name="clwt:ContractWithCustomerTradingAndManufacturing" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">12,143</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6761" name="clwt:ContractWithCustomerTradingAndManufacturing" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">9,332</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Engineering (revenue recognized over time)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6765" name="clwt:ContractWithCustomerEngineering" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">5,834</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6766" name="clwt:ContractWithCustomerEngineering" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">5,797</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6764" name="clwt:ContractWithCustomerEngineering" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">5,617</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6768" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">15,383</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6769" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">17,940</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6767" name="us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">14,949</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:nonNumeric></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3447" name="us-gaap:InventoryDisclosureTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Note 7: Inventories</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3564" name="us-gaap:ScheduleOfInventoryCurrentTableTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Raw materials</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6283" name="us-gaap:InventoryRawMaterialsNetOfReserves" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">76</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6290" name="us-gaap:InventoryRawMaterialsNetOfReserves" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">192</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Work in progress</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6285" name="us-gaap:InventoryWorkInProcessNetOfReserves" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">58</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6284" name="us-gaap:InventoryWorkInProcessNetOfReserves" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">30</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Finished goods</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6287" name="us-gaap:InventoryFinishedGoodsNetOfReserves" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">366</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6286" name="us-gaap:InventoryFinishedGoodsNetOfReserves" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">501</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6289" name="us-gaap:InventoryNet" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">500</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6288" name="us-gaap:InventoryNet" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">723</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.35pt; TEXT-INDENT: 1.45pt; text-align:justify;">Management continuously reviews obsolete and slow moving inventories and assesses the inventory valuation to determine if the write-down of inventories is deemed appropriate. For the years ended December 31, 2024, and 2023, write-down of inventories amounted to US$<ix:nonFraction id="fid_6298" name="us-gaap:InventoryWriteDown" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,000</ix:nonFraction> and US$(<ix:nonFraction id="fid_6297" name="us-gaap:InventoryWriteDown" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">1,000</ix:nonFraction>), respectively, which were charged to cost of revenue in consolidated statements of operations and comprehensive income / (loss). </p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3450" name="us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Note 8: Property, plant and equipment, net</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3568" name="us-gaap:PropertyPlantAndEquipmentTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Office premises*</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6453" name="clwt:BuildingsGross" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">673</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6452" name="clwt:BuildingsGross" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">673</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Leasehold improvements</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6455" name="us-gaap:LeaseholdImprovementsGross" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">67</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6454" name="us-gaap:LeaseholdImprovementsGross" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">67</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Furniture, fixtures and office equipment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6457" name="us-gaap:FurnitureAndFixturesGross" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">311</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6456" name="us-gaap:FurnitureAndFixturesGross" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">313</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Motor vehicles</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6459" name="us-gaap:MachineryAndEquipmentGross" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">172</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6458" name="us-gaap:MachineryAndEquipmentGross" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">172</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Testing equipment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6461" name="us-gaap:PropertyPlantAndEquipmentOther" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">28</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6460" name="us-gaap:PropertyPlantAndEquipmentOther" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">32</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6463" name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,251</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6462" name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,257</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Less: Accumulated depreciation</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6465" name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,092</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6464" name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,089</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6467" name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">159</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6466" name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">168</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="10"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Depreciation charge</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6486" name="us-gaap:DepreciationDepletionAndAmortization" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">14</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6487" name="us-gaap:DepreciationDepletionAndAmortization" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">15</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6488" name="us-gaap:DepreciationDepletionAndAmortization" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">33</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;">* Far East earns rental income from a property in Beijing, PRC for which it does not hold the title. Far East is investigating various ways in which to obtain the title but has not formulated a specific plan as of the date of issuance of these consolidated financial statements. The net book value of the property at December 31, 2024 is approximately US$<ix:nonFraction id="fid_7149" name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2024-12-31_clwt_PropertyInBeijingPRCMember" format="ixt:numdotdecimal" unitRef="USD" decimals="0">76,000</ix:nonFraction> (2023: US$<ix:nonFraction id="fid_7148" name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2023-12-31_clwt_PropertyInBeijingPRCMember" format="ixt:numdotdecimal" unitRef="USD" decimals="0">80,000</ix:nonFraction>).</p></ix:nonNumeric><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-23</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#tocf">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>EURO TECH HOLDINGS COMPANY LIMITED</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>FOR THE YEARS ENDED DECEMBER 31, 2024, 2023 AND 2022</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3455" name="us-gaap:InvestmentsInAndAdvancesToAffiliatesTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Note 9: Investments in affiliates</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Investments in affiliates are accounted for using the equity method of accounting.&#160; </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3566" name="us-gaap:ScheduleOfInvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTableTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Zhejiang Tianlan Environmental Protection Technology Co. Ltd.</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Interest held</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><strong><ix:nonFraction id="fid_5237" name="srt:InterestEarningAssetsNetYield" contextRef="From2024-01-01to2024-12-31" unitRef="Pure" decimals="INF" scale="-2">19.4</ix:nonFraction></strong></td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"><strong>%</strong></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><strong><ix:nonFraction id="fid_5238" name="srt:InterestEarningAssetsNetYield" contextRef="From2023-01-01to2023-12-31" unitRef="Pure" decimals="INF" scale="-2">19.4</ix:nonFraction></strong></td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"><strong>%</strong></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><strong>US$&#8217;000</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><strong>US$&#8217;000</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Long-term investment, at cost, less impairment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5239" name="us-gaap:LongTermInvestments" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">5,540</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5240" name="us-gaap:LongTermInvestments" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">5,540</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Share of undistributed profits</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5241" name="us-gaap:UndistributedEarnings" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">4,407</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5242" name="us-gaap:UndistributedEarnings" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">4,316</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5243" name="us-gaap:InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVentures" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">9,947</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5244" name="us-gaap:InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVentures" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">9,856</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;">Far East is holding <ix:nonFraction id="fid_5262" name="srt:InterestEarningAssetsNetYield" contextRef="From2024-01-01to2024-12-31_clwt_BluesSkyMember" unitRef="Pure" decimals="INF" scale="-2">19.4</ix:nonFraction>% (2023: <ix:nonFraction id="fid_5261" name="srt:InterestEarningAssetsNetYield" contextRef="From2023-01-01to2023-12-31_clwt_BluesSkyMember" unitRef="Pure" decimals="INF" scale="-2">19.4</ix:nonFraction>%) equity interests in Blue Sky, a company incorporated in the PRC, with total cost of investment of US$<ix:nonFraction id="fid_5264" name="us-gaap:LongTermInvestments" contextRef="AsOf2024-12-31_clwt_BluesSkyMember" format="ixt:numdotdecimal" unitRef="USD" decimals="0">5,540,000</ix:nonFraction>. Blue Sky provides a comprehensive service for design, general contract, equipment manufacturing, installation, testing and operation management of the treatment of waste gases emitted from various boilers and industrial furnaces of power plants, steel works and chemical plants since 2000.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;">Blue Sky has listed its shares on the New Third Board in the PRC since November 17, 2015 and suspended trading from August 15, 2017 and resumed trading on February 2, 2018 and suspended trading from November 24, 2020 and resumed trading on January 6, 2021.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;">The Group&#8217;s interest in Blue Sky has been counted for as an affiliate using the equity method as the Group has representation on both the Board and Executive Committee of Blue Sky, and the ability to participate in the decision-making process and exercise significant influence.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;">A summary of the financial information of the affiliate, Blue Sky, is set forth below: </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3567" name="clwt:SummaryOfTheFinancialInformationOfTheAffiliates" contextRef="From2024-01-01to2024-12-31" escape="true" continuedAt="cont_afc0d2"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 3.5pt; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 3.5pt; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Balance Sheet:</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Current assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5245" name="us-gaap:AssetsCurrent" contextRef="AsOf2024-12-31_clwt_BluesSkyMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">50,487</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5246" name="us-gaap:AssetsCurrent" contextRef="AsOf2023-12-31_clwt_BluesSkyMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">51,683</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Non-current assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5247" name="us-gaap:AssetsNoncurrent" contextRef="AsOf2024-12-31_clwt_BluesSkyMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">10,569</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5248" name="us-gaap:AssetsNoncurrent" contextRef="AsOf2023-12-31_clwt_BluesSkyMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">10,909</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5249" name="us-gaap:Assets" contextRef="AsOf2024-12-31_clwt_BluesSkyMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">61,056</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5250" name="us-gaap:Assets" contextRef="AsOf2023-12-31_clwt_BluesSkyMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">62,592</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total liabilities</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5251" name="us-gaap:Liabilities" contextRef="AsOf2024-12-31_clwt_BluesSkyMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">25,204</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5252" name="us-gaap:Liabilities" contextRef="AsOf2023-12-31_clwt_BluesSkyMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">26,374</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total shareholders&#8217; equity</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5253" name="us-gaap:StockholdersEquity" contextRef="AsOf2024-12-31_clwt_BluesSkyMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">35,852</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5254" name="us-gaap:StockholdersEquity" contextRef="AsOf2023-12-31_clwt_BluesSkyMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">36,218</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:continuation id="cont_afc0d2"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Operating results:</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Net sales</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5928" name="us-gaap:NetInvestmentInLeaseSale" contextRef="From2024-01-01to2024-12-31_clwt_BluesSkyMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">48,365</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5931" name="us-gaap:NetInvestmentInLeaseSale" contextRef="From2023-01-01to2023-12-31_clwt_BluesSkyMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">38,530</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Operating income</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5929" name="us-gaap:OperatingIncomeLoss" contextRef="From2024-01-01to2024-12-31_clwt_BluesSkyMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,926</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5932" name="us-gaap:OperatingIncomeLoss" contextRef="From2023-01-01to2023-12-31_clwt_BluesSkyMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">337</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Net income</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5930" name="us-gaap:NetIncomeLoss" contextRef="From2024-01-01to2024-12-31_clwt_BluesSkyMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">2,008</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5933" name="us-gaap:NetIncomeLoss" contextRef="From2023-01-01to2023-12-31_clwt_BluesSkyMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">9,978</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:continuation></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-24</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#tocf">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>EURO TECH HOLDINGS COMPANY LIMITED</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>FOR THE YEARS ENDED DECEMBER 31, 2024, 2023 AND 2022</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3461" name="us-gaap:GoodwillDisclosureTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Note 10 : Goodwill</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 45pt; text-align:justify;">Reporting units - The Group&#8217;s reporting units consist of its trading and manufacturing and engineering segments. Goodwill is not amortized, but instead is reviewed for impairment at least annually during the fourth quarter of each year at the reporting level, absent any interim indicators of impairment or other factors requiring an assessment.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 45pt; text-align:justify;">Annual impairment assessment - For our 2024 and 2023 annual impairment test we performed a qualitative assessment, using information as of December 31, 2024 and 2023, respectively. Under current guidance, we are permitted to first assess qualitative factors to determine whether it is more likely than not that the fair value of a reporting unit is less than its carrying amount as a basis for determining whether it is necessary to perform a quantitative goodwill impairment test. We determined there were no factors indicating the need to perform a quantitative goodwill impairment test and concluded that it is more likely than not the fair value of our reporting units is greater than their carrying value and thus there was no impairment to goodwill.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 45pt; text-align:justify;">In addition to our annual review, we assess the impairment of goodwill whenever events or changes in circumstances indicate that the carrying value of a reporting unit may be greater than fair value. Factors that could trigger an interim impairment review include, but are not limited to, significant adverse changes in the business climate which may be indicated by a decline in our market capitalization or decline in operating results. No impairments were recorded to our goodwill during the years ended December 31, 2024, 2023 and 2022. No material events or changes occurred between the testing date and year end to trigger a subsequent impairment review.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 45pt; text-align:justify;">At December 31, 2024 and 2023, we had goodwill for our engineering segment with a carrying amount of US$<ix:nonFraction id="fid_5350" name="us-gaap:GoodwillGross" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="0">1,071,000</ix:nonFraction> and US$<ix:nonFraction id="fid_5351" name="us-gaap:GoodwillGross" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="0">1,071,000</ix:nonFraction>, respectively.</p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3456" name="us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Note 11 : Other payables and accrued expenses</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Other payables and accrued expenses mainly represent deposits received from customers and accruals for operating expenses.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3572" name="us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Dividend payables</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6514" name="us-gaap:DividendsPayableCurrent" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">76</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6515" name="us-gaap:DividendsPayableCurrent" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">78</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Deposits received from customers</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6516" name="us-gaap:CustomerDepositsCurrent" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">5</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6517" name="us-gaap:CustomerDepositsCurrent" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">5</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Rental deposit received</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6518" name="clwt:RentalDepositReceived" contextRef="AsOf2024-12-31" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6519" name="clwt:RentalDepositReceived" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">3</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Accruals for operating expenses </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6520" name="clwt:AccruedOperatingExpenses" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">803</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6521" name="clwt:AccruedOperatingExpenses" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">834</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Other tax payables</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6522" name="us-gaap:AccrualForTaxesOtherThanIncomeTaxesCurrent" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">166</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6523" name="us-gaap:AccrualForTaxesOtherThanIncomeTaxesCurrent" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">204</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6524" name="us-gaap:AccountsPayableAndAccruedLiabilitiesFairValueDisclosure" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,050</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6525" name="us-gaap:AccountsPayableAndAccruedLiabilitiesFairValueDisclosure" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,124</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:nonNumeric></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3593" name="us-gaap:LeasesOfLesseeDisclosureTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true" continuedAt="cont_01261d"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Note 12: Lease obligations </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 34.8pt; text-align:justify;">The Group has operating leases primarily for office space. The Group&#8217;s leases have remaining lease terms of several months to 18 months.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 34.8pt; text-align:justify;">Based on present value of future minimum rental payments of the lease as if the adoption date, using an effective interest rate of 5%, which is determined using an local banks incremental borrowing rate. </p></ix:nonNumeric><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-25</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#tocf">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>EURO TECH HOLDINGS COMPANY LIMITED</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>FOR THE YEARS ENDED DECEMBER 31, 2024, 2023 AND 2022</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:continuation id="cont_01261d"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 34.8pt; text-align:justify;">The components of lease expense are as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_6852" name="us-gaap:LeaseCostTableTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 4.5pt; text-align:center;"><strong>Years ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 4.5pt; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 4.5pt; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 4.5pt; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 4.5pt; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Operating lease cost</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7159" name="us-gaap:OperatingLeaseCost" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">187</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7509" name="us-gaap:OperatingLeaseCost" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">76</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Short-term lease cost</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7160" name="us-gaap:ShortTermLeaseCost" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">8</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7510" name="us-gaap:ShortTermLeaseCost" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">220</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total lease cost</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7161" name="us-gaap:LeaseCost" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">195</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7511" name="us-gaap:LeaseCost" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">296</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Supplemental consolidated cash flow information related to leases is as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_6859" name="clwt:ScheduleOfSupplementalConsolidatedCashFlowInformationRelatedToLeasesTableTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Years ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Cash paid for amounts included in the measurement of lease liabilities:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Operating cash flows from operating leases</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7162" name="us-gaap:OperatingLeasePayments" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">173</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7164" name="us-gaap:OperatingLeasePayments" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">285</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Right-of-use assets obtained in exchange for lease obligations (noncash):</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Operating leases</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7163" name="us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" contextRef="From2024-01-01to2024-12-31" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6246" name="us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" contextRef="From2023-01-01to2023-12-31" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Supplemental consolidated balance sheet information related to leases is as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_7505" name="clwt:ScheduleOfSupplementalConsolidatedBalanceSheetInformationRelatedToLeasesTableTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Operating leases</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Operating lease right-of-use assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7165" name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">101</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6252" name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">233</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Current portion of long-term operating lease obligations &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7167" name="us-gaap:OperatingLeaseLiabilityCurrent" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">83</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6254" name="us-gaap:OperatingLeaseLiabilityCurrent" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">170</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Long-term operating lease obligations, net of current maturities</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7168" name="us-gaap:OperatingLeaseLiabilityNoncurrent" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">9</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6256" name="us-gaap:OperatingLeaseLiabilityNoncurrent" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">44</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7169" name="us-gaap:OperatingLeaseLiability" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">92</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6258" name="us-gaap:OperatingLeaseLiability" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">214</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Weighted average remaining lease term</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Operating leases </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><ix:nonNumeric id="fid_6262" name="clwt:WeightedAverageRemainingLeaseTermOperatingLeases" contextRef="From2024-01-01to2024-12-31" format="ixt-sec:durmonth">3</ix:nonNumeric> months</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><ix:nonNumeric id="fid_6263" name="clwt:WeightedAverageRemainingLeaseTermOperatingLeases" contextRef="From2023-01-01to2023-12-31" format="ixt-sec:durmonth">3</ix:nonNumeric> months</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Weighted average discount rate</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Operating leases</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7170" name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" contextRef="AsOf2024-12-31" unitRef="Pure" decimals="INF" scale="-2">5</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6261" name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" contextRef="AsOf2023-12-31" unitRef="Pure" decimals="INF" scale="-2">5.45</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr></tbody></table></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Maturities of lease liabilities are as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_6854" name="us-gaap:ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Operating leases </strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Year ending December 31, </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">2025</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7171" name="us-gaap:OperatingLeasesFutureMinimumPaymentsDueCurrent" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">77</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">2026</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7172" name="us-gaap:OperatingLeasesFutureMinimumPaymentsDueInTwoYears" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">17</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total lease payments </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7173" name="us-gaap:OperatingLeasesFutureMinimumPaymentsDue" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">94</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Less: imputed interest </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_7174" name="us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">2</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7175" name="us-gaap:OperatingLeaseLiability" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">92</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:nonNumeric><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;The amortization expenses were US<ix:nonFraction id="fid_7543" name="us-gaap:AmortizationOfLeasedAsset" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="0">164,000</ix:nonFraction> and US$<ix:nonFraction id="fid_7544" name="us-gaap:AmortizationOfLeasedAsset" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="0">160,000</ix:nonFraction> for the years ended December 31, 2024, and 2023, respectively.</p></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-26</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#tocf">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>EURO TECH HOLDINGS COMPANY LIMITED</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>FOR THE YEARS ENDED DECEMBER 31, 2024, 2023 AND 2022</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3460" name="us-gaap:StockholdersEquityNoteDisclosureTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Note 13 : Ordinary share</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">During the year ended December 31, 2020, there was no movement with the Company&#8217;s issued ordinary shares and outstanding shares.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">On March 3, 2021, the Company had stock split in the form of bonus shares at the rate of two ordinary shares for every three ordinary shares held, creating <ix:nonFraction id="fid_5358" name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" contextRef="From2021-03-01to2021-03-03" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">2,061,900</ix:nonFraction> new shares of common stock.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">On January 24, 2022, the Company had stock split in the form of bonus shares at the rate of one ordinary shares for every two ordinary shares held, creating <ix:nonFraction id="fid_5359" name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" contextRef="From2022-01-01to2022-01-24" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">2,577,373</ix:nonFraction> new shares of common stock, as described in Note 24 to the consolidated financial statements.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Number of outstanding shares at year end of:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3574" name="us-gaap:ScheduleOfStockByClassTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Shares issued</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5352" name="us-gaap:CommonStockSharesIssued" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">7,899,832</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5353" name="us-gaap:CommonStockSharesIssued" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">7,899,832</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Less: shares under treasury stock</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5354" name="us-gaap:TreasuryStockCommonShares" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">183,533</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5355" name="us-gaap:TreasuryStockCommonShares" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">178,400</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5356" name="us-gaap:CommonStockSharesOutstanding" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">7,716,299</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5357" name="us-gaap:CommonStockSharesOutstanding" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">7,721,432</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:nonNumeric></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_5435" name="us-gaap:TreasuryStockTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Note 14 : Treasury stock</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Company approved a stock repurchase plan in April 2023 to repurchase up to <ix:nonFraction id="fid_5268" name="us-gaap:OtherInventoryPurchasedGoods" contextRef="AsOf2023-04-30_clwt_StockRepurchasePlanMember" format="ixt:numdotdecimal" unitRef="USD" decimals="0">230,000</ix:nonFraction> ordinary shares, for an aggregate purchase price of not more than US$<ix:nonFraction id="fid_5267" name="us-gaap:SharesOutstanding" contextRef="AsOf2023-04-30_clwt_StockRepurchasePlanMember" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">300,000</ix:nonFraction>, of the Company&#8217;s ordinary share could be purchased in the open market from time to time as market and business conditions warrant.&#160;&#160;The Company repurchased a total of&#160;&#160;<ix:nonFraction id="fid_7191" name="us-gaap:SharesOutstanding" contextRef="AsOf2024-12-31_clwt_StockRepurchasePlanMember" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">5,133</ix:nonFraction> and <ix:nonFraction id="fid_5265" name="us-gaap:SharesOutstanding" contextRef="AsOf2023-12-31_clwt_StockRepurchasePlanMember" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">10,700</ix:nonFraction> shares of ordinary share during 2024 and 2023 for considerations of approximately US$<ix:nonFraction id="fid_7192" name="us-gaap:OtherInventoryPurchasedGoods" contextRef="AsOf2024-12-31_clwt_StockRepurchasePlanMember" format="ixt:numdotdecimal" unitRef="USD" decimals="0">7,000</ix:nonFraction> and US$<ix:nonFraction id="fid_5266" name="us-gaap:OtherInventoryPurchasedGoods" contextRef="AsOf2023-12-31_clwt_StockRepurchasePlanMember" format="ixt:numdotdecimal" unitRef="USD" decimals="0">14,000</ix:nonFraction>, respectively. </p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3462" name="clwt:PrcStatutoryReservesTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true" continuedAt="cont_131f42"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Note 15 : PRC statutory reserves</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Under the relevant PRC laws and regulations, the PRC subsidiaries are required to appropriate a certain percentage of their respective net income to two statutory funds i.e. the statutory reserve fund and the statutory staff welfare fund. &#160;The PRC subsidiaries can also appropriate certain amount of its net income to the enterprise expansion fund.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">(i)</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Statutory reserve fund</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Pursuant to applicable PRC laws and regulations, the PRC subsidiaries are required to allocate at least <ix:nonFraction id="fid_7194" name="clwt:StatutoryAccountingPracticesStatutoryNetIncomePercentage" contextRef="From2024-01-01to2024-12-31_clwt_StatutoryReserveFundMember" unitRef="Pure" decimals="INF" scale="-2">10</ix:nonFraction>% of its net income to the statutory reserve fund until such fund reaches <ix:nonFraction id="fid_7193" name="us-gaap:PublicUtilitiesRequestedDebtCapitalStructurePercentage" contextRef="From2024-01-01to2024-12-31_clwt_StatutoryReserveFundMember" unitRef="Pure" decimals="INF" scale="-2">50</ix:nonFraction>% of its registered capital. The statutory reserve fund can be utilised upon the approval by the relevant authorities, to offset accumulated losses or to increase its registered capital, provided that such fund be maintained at a minimum of <ix:nonFraction id="fid_7195" name="clwt:MinimumRegisteredCapitalPercentage" contextRef="From2024-01-01to2024-12-31_clwt_StatutoryReserveFundMember" unitRef="Pure" decimals="INF" scale="-2">25</ix:nonFraction>% of its registered capital.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Under the PRC laws and regulations, the PRC subsidiaries are restricted in their ability to transfer certain of its net assets in the form of dividend payments, loans or advances.&#160; The amounts restricted include paid-in capital and statutory reserves, as determined pursuant to PRC generally accepted accounting principles, totaling US$<ix:nonFraction id="fid_5364" name="us-gaap:StatutoryAccountingPracticesStatutoryNetIncomeAmount" contextRef="From2024-01-01to2024-12-31_clwt_StatutoryReserveFundMember" format="ixt:numdotdecimal" unitRef="USD" decimals="0">2,150,000</ix:nonFraction> as at December 31, 2024 (2023: US$<ix:nonFraction id="fid_5363" name="us-gaap:StatutoryAccountingPracticesStatutoryNetIncomeAmount" contextRef="From2023-01-01to2023-12-31_clwt_StatutoryReserveFundMember" format="ixt:numdotdecimal" unitRef="USD" decimals="0">2,500,000</ix:nonFraction> and 2022: US$<ix:nonFraction id="fid_5362" name="us-gaap:StatutoryAccountingPracticesStatutoryNetIncomeAmount" contextRef="From2022-01-01to2022-12-31_clwt_StatutoryReserveFundMember" format="ixt:numdotdecimal" unitRef="USD" decimals="0">2,531,000</ix:nonFraction>).</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">(ii)</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Statutory staff welfare fund</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Pursuant to applicable PRC laws and regulations, the PRC subsidiaries are required to allocate a certain amount of its net income to the statutory staff welfare fund determined by it. The statutory staff welfare fund can only be used to provide staff welfare facilities and other collective benefits to its employees. This fund is non-distributable other than upon liquidation of the PRC subsidiaries. The balances as at December 31, 2024 and 2023 include in statutory reserves were US$<ix:nonFraction id="fid_7196" name="us-gaap:StatutoryAccountingPracticesStatutoryNetIncomeAmount" contextRef="From2024-01-01to2024-12-31_clwt_StatutoryStaffWelfareFundMember" format="ixt:numdotdecimal" unitRef="USD" decimals="0">9,000</ix:nonFraction> and US$<ix:nonFraction id="fid_5361" name="us-gaap:StatutoryAccountingPracticesStatutoryNetIncomeAmount" contextRef="From2023-01-01to2023-12-31_clwt_StatutoryStaffWelfareFundMember" format="ixt:numdotdecimal" unitRef="USD" decimals="0">12,000</ix:nonFraction> respectively.</p></ix:nonNumeric><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-27</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#tocf">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>EURO TECH HOLDINGS COMPANY LIMITED</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>FOR THE YEARS ENDED DECEMBER 31, 2024, 2023 AND 2022</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:continuation id="cont_131f42" continuedAt="cont_83b88c"><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">(iii)</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Enterprise expansion fund</p></td></tr></tbody></table></ix:continuation><ix:continuation id="cont_83b88c"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The enterprise expansion fund shall only be used to make up losses, expand the PRC subsidiaries&#8217; production operations, or increase the capital of the subsidiaries. The enterprise expansion fund can be utilised upon approval by relevant authorities, to convert into registered capital and issue bonus capital to existing investors, provided that such fund be maintained at a minimum of <ix:nonFraction id="fid_7198" name="clwt:MinimumRegisteredCapitalPercentage" contextRef="From2024-01-01to2024-12-31_clwt_EnterpriseExpansionFundMember" unitRef="Pure" decimals="INF" scale="-2">25</ix:nonFraction>% of its registered capital. The balances as at December 31, 2024 and 2023 include in statutory reserves were US$<ix:nonFraction id="fid_7197" name="us-gaap:StatutoryAccountingPracticesStatutoryNetIncomeAmount" contextRef="From2024-01-01to2024-12-31_clwt_EnterpriseExpansionFundMember" format="ixt:numdotdecimal" unitRef="USD" decimals="0">408,000</ix:nonFraction>.</p></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3463" name="clwt:OtherIncomeNetTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Note 16 : Other income, net</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3575" name="us-gaap:ScheduleOfOtherNonoperatingIncomeExpenseTableTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="10"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Exchange gain / (loss), net</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5372" name="clwt:ExchangeGainLossNet" contextRef="From2024-01-01to2024-12-31" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5373" name="clwt:ExchangeGainLossNet" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">66</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5371" name="clwt:ExchangeGainLossNet" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">93</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Rental income</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5375" name="us-gaap:RentalIncomeNonoperating" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">37</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5376" name="us-gaap:RentalIncomeNonoperating" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">46</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5374" name="us-gaap:RentalIncomeNonoperating" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">37</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Government subsidies &#8211; Employment Support Scheme *</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5378" name="clwt:GovernmentSubsidies" contextRef="From2024-01-01to2024-12-31" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5379" name="clwt:GovernmentSubsidies" contextRef="From2023-01-01to2023-12-31" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5377" name="clwt:GovernmentSubsidies" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">69</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5381" name="clwt:OtherNonoperatingIncomeNet" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">37</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5382" name="clwt:OtherNonoperatingIncomeNet" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">20</ix:nonFraction> </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5380" name="clwt:OtherNonoperatingIncomeNet" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">13</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 39.25pt; text-align:justify;">* The amount represents salaries and wage subsidies granted under Anti-Epidemic Fund by the Government of the Hong Kong Special Administrative Region for the use of paying wages of employees from May to June 2022.</p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3465" name="us-gaap:IncomeTaxDisclosureTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true" continuedAt="cont_4c1081"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Note 17 : Income taxes</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">No income tax arose in the United States of America by the Group for the years ended December 31, 2024, 2023 and 2022.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The Company and Pact Asia Pacific Limited are exempt from taxation in the British Virgin Islands (&#8220;BVI&#8221;).</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Far East provided for Hong Kong profits tax at a rate of <ix:nonFraction id="fid_4492" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" contextRef="From2023-01-01to2023-12-31_clwt_HKMember" unitRef="Pure" decimals="INF" scale="-2">8.25</ix:nonFraction>% on assessable profits up to US$<ix:nonFraction id="fid_4491" name="us-gaap:ProfitLoss" contextRef="From2024-01-01to2024-12-31_clwt_HKMember" format="ixt:numdotdecimal" unitRef="USD" decimals="0">256,000</ix:nonFraction>; and <ix:nonFraction id="fid_4490" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" contextRef="From2024-01-01to2024-12-31_clwt_HKMember" unitRef="Pure" decimals="INF" scale="-2">16.5</ix:nonFraction>% on any part of assessable profits over US$<ix:nonFraction id="fid_4509" name="us-gaap:ProfitLoss" contextRef="From2023-01-01to2023-12-31_clwt_HKMember" format="ixt:numdotdecimal" unitRef="USD" decimals="0">256,000</ix:nonFraction> in year 2024 and 2023 (2022: <ix:nonFraction id="fid_4507" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" contextRef="From2022-01-01to2022-12-31_clwt_HKMember" unitRef="Pure" decimals="INF" scale="-2">16.5</ix:nonFraction>%) on the basis of their income for financial reporting purposes, adjusting for income and expense items which are not assessable or deductible for profits tax purposes.&#160; </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Euro Tech Trading (Shanghai) Limited (&#8220;ETTS&#8221;), a subsidiary of Far East, provides for PRC Enterprise Income Tax (&#8220;EIT&#8221;) at a rate of <ix:nonFraction id="fid_4510" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" contextRef="From2024-01-01to2024-12-31_clwt_EuroTechTradingShanghaiLimitedMember" unitRef="Pure" decimals="INF" scale="-2">25</ix:nonFraction>% (2023 and 2022: <ix:nonFraction id="fid_4493" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" contextRef="From2023-01-01to2023-12-31_clwt_EuroTechTradingShanghaiLimitedMember" unitRef="Pure" decimals="INF" scale="-2">25</ix:nonFraction>%), after offsetting losses brought forward, if any, on the basis of its income for financial reporting purposes, adjusting for income and expense items which are not assessable or deductible for PRC Enterprise Income Tax purposes. As of December 31, 2024, ETTS had an assessable loss carried forward of US$<ix:nonFraction id="fid_4494" name="us-gaap:ProfitLoss" contextRef="From2024-01-01to2024-12-31_clwt_EuroTechTradingShanghaiLimitedMember" format="ixt:numdotdecimal" unitRef="USD" decimals="0" sign="-">19,000</ix:nonFraction> as agreed by the local tax authority to offset its profit for the forth coming years (2023: US$<ix:nonFraction id="fid_4495" name="us-gaap:ProfitLoss" contextRef="From2023-01-01to2023-12-31_clwt_EuroTechTradingShanghaiLimitedMember" format="ixt:numdotdecimal" unitRef="USD" decimals="0" sign="-">51,000</ix:nonFraction> and 2022: US$<ix:nonFraction id="fid_4512" name="us-gaap:ProfitLoss" contextRef="From2022-01-01to2022-12-31_clwt_EuroTechTradingShanghaiLimitedMember" format="ixt:numdotdecimal" unitRef="USD" decimals="0" sign="-">103,000</ix:nonFraction>). Such loss will expire in 5 years.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Shanghai Euro Tech Limited (&#8220;SET&#8221;), a subsidiary of Far East, provides for PRC Enterprise Income Tax at a rate of <ix:nonFraction id="fid_4513" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" contextRef="From2024-01-01to2024-12-31_clwt_ShanghaiEuroTechLimitedMember" unitRef="Pure" decimals="INF" scale="-2">25</ix:nonFraction>% (2023 and 2022: <ix:nonFraction id="fid_4496" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" contextRef="From2023-01-01to2023-12-31_clwt_ShanghaiEuroTechLimitedMember" unitRef="Pure" decimals="INF" scale="-2">25</ix:nonFraction>%), after offsetting losses brought forward, if any, on the basis of its income for financial reporting purposes, adjusting for income and expense items which are not assessable or deductible for PRC Enterprise Income Tax purposes. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Yixing Pact Environmental Technology Co. Ltd. (&#8220;Yixing&#8221;), a subsidiary of Far East, provides for PRC Enterprise Income Tax at a rate of <ix:nonFraction id="fid_4520" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" contextRef="From2024-01-01to2024-12-31_clwt_YixingPactEnvironmentalTechnologyCoLtdMember" unitRef="Pure" decimals="INF" scale="-2">25</ix:nonFraction>% (2023 and 2022: <ix:nonFraction id="fid_4501" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" contextRef="From2023-01-01to2023-12-31_clwt_YixingPactEnvironmentalTechnologyCoLtdMember" unitRef="Pure" decimals="INF" scale="-2">25</ix:nonFraction>%), after offsetting losses brought forward, if any, on the basis of its income for financial reporting purposes, adjusting for income and expense items which are not assessable or deductible for PRC Enterprise Income Tax purposes. As of December 31, 2024, Yixing had an assessable loss carried forward of US$<ix:nonFraction id="fid_4502" name="us-gaap:ProfitLoss" contextRef="From2024-01-01to2024-12-31_clwt_YixingPactEnvironmentalTechnologyCoLtdMember" format="ixt:numdotdecimal" unitRef="USD" decimals="0">1,235,000</ix:nonFraction> as agreed by the local tax authority to offset its profit for the forth coming years (2023: US$<ix:nonFraction id="fid_4503" name="us-gaap:ProfitLoss" contextRef="From2023-01-01to2023-12-31_clwt_YixingPactEnvironmentalTechnologyCoLtdMember" format="ixt:numdotdecimal" unitRef="USD" decimals="0">1,330,000</ix:nonFraction> and 2022: US$<ix:nonFraction id="fid_4522" name="us-gaap:ProfitLoss" contextRef="From2022-01-01to2022-12-31_clwt_YixingPactEnvironmentalTechnologyCoLtdMember" format="ixt:numdotdecimal" unitRef="USD" decimals="0">1,509,000</ix:nonFraction>). Such loss will expire in 5 years.</p></ix:nonNumeric><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-28</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#tocf">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>EURO TECH HOLDINGS COMPANY LIMITED</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>FOR THE YEARS ENDED DECEMBER 31, 2024, 2023 AND 2022</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:continuation id="cont_4c1081"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Under the New Enterprise Income Tax Law and the implementation rules, profits of the PRC subsidiaries earned on or after January 1, 2008 and distributed by the PRC subsidiaries to foreign holding company are subject to a withholding tax at a rate of <ix:nonFraction id="fid_7516" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" contextRef="From2024-01-01to2024-12-31" unitRef="Pure" decimals="INF" scale="-2">10</ix:nonFraction>% unless reduced by tax treaty. Aggregate undistributed earnings of Far East&#8217;s subsidiaries located in the PRC that are available for distribution to Far East of approximately US$<ix:nonFraction id="fid_4504" name="us-gaap:UndistributedEarningsDiluted" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-5" scale="6">0.6</ix:nonFraction> million at December 31, 2024 (2023: US$<ix:nonFraction id="fid_4505" name="us-gaap:UndistributedEarningsDiluted" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-5" scale="6">0.6</ix:nonFraction> million and 2022: US$<ix:nonFraction id="fid_4524" name="us-gaap:UndistributedEarningsDiluted" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-5" scale="6">0.6</ix:nonFraction> million) are intended to be reinvested, and accordingly, no deferred taxation has been made for the PRC dividend withholding taxes that would be payable upon the distribution of those amounts to Far East. Distributions made out of pre January 1, 2008 retained earnings will not be subject to the withholding tax.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">The Company and its subsidiaries are based in Hong Kong and PRC and file Hong Kong profits tax return and PRC EIT return, respectively. The components of the (provision) / credit for income taxes (expense) / credit were as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3577" name="us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="10"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Current taxes (expense )</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Hong Kong profits tax and the PRC EIT</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6535" name="clwt:CurrentTaxExpensesPrcAndHongKong" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">33</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6534" name="clwt:CurrentTaxExpensesPrcAndHongKong" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">45</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6536" name="clwt:CurrentTaxExpensesPrcAndHongKong" contextRef="From2022-01-01to2022-12-31" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Income tax expense</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6538" name="us-gaap:CurrentIncomeTaxExpenseBenefit" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">33</ix:nonFraction> </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6537" name="us-gaap:CurrentIncomeTaxExpenseBenefit" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">45</ix:nonFraction> </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6546" name="us-gaap:CurrentIncomeTaxExpenseBenefit" contextRef="From2022-01-01to2022-12-31" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Deferred tax (expenses) / credit</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Hong Kong and the PRC </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6540" name="clwt:DeferredTaxBenefitPrcAndHongKong" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">39</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6539" name="clwt:DeferredTaxBenefitPrcAndHongKong" contextRef="From2023-01-01to2023-12-31" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6541" name="clwt:DeferredTaxBenefitPrcAndHongKong" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">24</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total deferred tax (expenses) / credit</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6543" name="us-gaap:DeferredIncomeTaxExpenseBenefit" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">39</ix:nonFraction> </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6542" name="us-gaap:DeferredIncomeTaxExpenseBenefit" contextRef="From2023-01-01to2023-12-31" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6547" name="us-gaap:DeferredIncomeTaxExpenseBenefit" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">24</ix:nonFraction> </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total (expense) / credit</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6545" name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">72</ix:nonFraction> </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6544" name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">45</ix:nonFraction> </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6548" name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">24</ix:nonFraction> </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr></tbody></table></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">The items comprising the difference between income taxes computed at the Hong Kong profits tax and PRC EIT statutory tax rates in effect for 2024, 2023 and 2022 and our effective tax rates were as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3579" name="us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="10"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Income before income taxes</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6565" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="From2024-01-01to2024-12-31_clwt_HongKongProfitTaxMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">519</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6564" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="From2023-01-01to2023-12-31_clwt_HongKongProfitTaxMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,695</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6577" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="From2022-01-01to2022-12-31_clwt_HongKongProfitTaxMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">563</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Computed tax using respective companies&#8217; statutory tax rates</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6567" name="us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" contextRef="From2024-01-01to2024-12-31_clwt_HongKongProfitTaxMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">100</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6566" name="us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" contextRef="From2023-01-01to2023-12-31_clwt_HongKongProfitTaxMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">78</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6578" name="us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" contextRef="From2022-01-01to2022-12-31_clwt_HongKongProfitTaxMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">131</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Change in valuation allowances</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6569" name="us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" contextRef="From2024-01-01to2024-12-31_clwt_HongKongProfitTaxMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">62</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6568" name="us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" contextRef="From2023-01-01to2023-12-31_clwt_HongKongProfitTaxMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">79</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6570" name="us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" contextRef="From2022-01-01to2022-12-31_clwt_HongKongProfitTaxMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">58</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Non-deductible expenses</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6574" name="us-gaap:IncomeTaxReconciliationNondeductibleExpense" contextRef="From2024-01-01to2024-12-31_clwt_HongKongProfitTaxMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">34</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6573" name="us-gaap:IncomeTaxReconciliationNondeductibleExpense" contextRef="From2023-01-01to2023-12-31_clwt_HongKongProfitTaxMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">44</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6580" name="us-gaap:IncomeTaxReconciliationNondeductibleExpense" contextRef="From2022-01-01to2022-12-31_clwt_HongKongProfitTaxMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">213</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Income tax (expense) / credit at effective tax rate</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6576" name="clwt:IncomeTaxesCreditExpenseAtEffectiveTaxRate" contextRef="From2024-01-01to2024-12-31_clwt_HongKongProfitTaxMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">72</ix:nonFraction> </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6575" name="clwt:IncomeTaxesCreditExpenseAtEffectiveTaxRate" contextRef="From2023-01-01to2023-12-31_clwt_HongKongProfitTaxMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">45</ix:nonFraction> </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6581" name="clwt:IncomeTaxesCreditExpenseAtEffectiveTaxRate" contextRef="From2022-01-01to2022-12-31_clwt_HongKongProfitTaxMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">24</ix:nonFraction> </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr></tbody></table></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The components of deferred tax assets / (liabilities) are as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3581" name="us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Tax losses </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7199" name="clwt:DeferredTaxAssetTaxLosses" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">313</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6607" name="clwt:DeferredTaxAssetTaxLosses" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">572</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Less: Valuation allowances</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_7201" name="us-gaap:DeferredTaxAssetsValuationAllowance" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">251</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6611" name="us-gaap:DeferredTaxAssetsValuationAllowance" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">469</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Net deferred tax assets </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7202" name="clwt:NetDeferredTaxAssetsLiabilities" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">62</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6613" name="clwt:NetDeferredTaxAssetsLiabilities" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">103</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Uncertain tax positions</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">As a result of the Group&#8217;s analysis, management has determined that the Group does not have any material uncertain tax positions. </p></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-29</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#tocf">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>EURO TECH HOLDINGS COMPANY LIMITED</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>FOR THE YEARS ENDED DECEMBER 31, 2024, 2023 AND 2022</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3467" name="us-gaap:EarningsPerShareTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Note 18 : Net income per ordinary share</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The calculation of the basic and diluted net income per ordinary share is based on the following data:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3583" name="us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="10"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="10"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Number of shares</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Weighted average number of ordinary shares for the purposes of basic and diluted net income per share </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5384" name="clwt:WeightedAverageNumberOfOrdinarySharesForThePurposesOfBasicAndDilutedNetIncomePerShare" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">7,716,993</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5385" name="clwt:WeightedAverageNumberOfOrdinarySharesForThePurposesOfBasicAndDilutedNetIncomePerShare" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">7,726,118</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5383" name="clwt:WeightedAverageNumberOfOrdinarySharesForThePurposesOfBasicAndDilutedNetIncomePerShare" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">7,732,132</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:nonNumeric></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3468" name="us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true" continuedAt="cont_f17903"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Note 19 : Stock options</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.45pt; text-align:justify;"><strong>2019 Stock Option and Incentive Plan</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">In April 2019, the Board of Directors approved the adoption of the 2019 Stock Option and Incentive Plan (the &#8220;Plan&#8221;). The Plan was also subsequently approved under a resolution of the Company's shareholders. The Plan provides for the granting of up to <ix:nonFraction id="fid_5432" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" contextRef="From2019-04-01to2019-04-30_clwt_TwoThousandTwentyNineStockOptionAndIncentivePlanMember" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">300,000</ix:nonFraction> (<ix:nonFraction id="fid_5426" name="us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment" contextRef="From2019-04-01to2019-04-30_clwt_TwoThousandTwentyNineStockOptionAndIncentivePlanMember" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">500,000</ix:nonFraction> after bonus shares adjustment) Ordinary Shares (the &#8220;Share Limit&#8221;), in the form of options to Officers, Directors and Key Employees who perform services which contribute to the successful performance of the Company and its subsidiaries. In addition, the Plan provides that, on the first day of each fiscal year commencing on January 1, 2020, the Share Limit shall automatically be increased by that number of shares equal to <ix:nonFraction id="fid_5433" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum" contextRef="From2019-04-01to2019-04-30_clwt_TwoThousandTwentyNineStockOptionAndIncentivePlanMember" unitRef="Pure" decimals="INF" scale="-2">5</ix:nonFraction>% of the number of Ordinary Shares outstanding as of such date. The Board of Directors or a committee (the &#8220;Committee&#8221;) appointed by the Board of Directors administers the Plan.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Appropriate adjustment in the maximum number of Ordinary Shares issuable pursuant to this Plan, the maximum number of Ordinary Shares with respect to which options may be granted within any 12-month period to any participant during the duration of this Plan, the number of shares subject to options granted under this Plan, and the exercise price with respect to options, shall be made to give effect to any increase or decrease in the number of issued Ordinary Shares resulting from a subdivision or consolidation of shares whether through reorganization, recapitalization, division of shares, reverse share split, spin-off, split-off, spin-out, or other distribution of assets to shareholders, issue of bonus shares or combination of shares, assumption and conversion of outstanding options due to an acquisition by the Company of the shares, stock or assets of any other company or corporation, other increase or decrease in the number of such shares outstanding effected, without receipt of consideration by the Company, or any other occurrence for which the Committee determines an adjustment is appropriate.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The purchase price per share of the Ordinary Shares to be paid upon the exercise of the option must be at least <ix:nonFraction id="fid_5425" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsDiscountForPostvestingRestrictions" contextRef="From2019-04-01to2019-04-30_clwt_TwoThousandTwentyNineStockOptionAndIncentivePlanMember" unitRef="Pure" decimals="INF" scale="-2">100</ix:nonFraction>% of the fair market value of an Ordinary Shares on the date on which the option was granted. Under the Plan, if the Ordinary Shares are principally traded on a national securities exchange or the Nasdaq Global Market or Capital Market at the time of grant, the Company is required to use, at fair market value, the average of the closing prices of the Ordinary Shares for the ten consecutive trading days immediately before the date of grant. If the Ordinary Shares are traded on a national securities exchange or the Nasdaq Stock Global Market or Capital Market, but no closing prices are reported for such ten-day period, or if the Ordinary Shares are principally traded in the over-the-counter market, the Company is required to use, as fair market value, the average of the mean between the bid and asked prices reported for the Company&#8217;s Ordinary Shares at the close of trading during such ten-day period before the date of grant. If the Ordinary Shares are traded neither on a national securities exchange, one of the Nasdaq&#8217;s Markets nor in the over-the-counter market or if bid and asked prices are otherwise not available, the fair market value of the Ordinary Shares on the date of grant will be determined in good faith by the Committee or the Board of Directors, as the case may be.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The Board of Directors or the Committee, as the case may be, determines, at the time of grant, when each option granted under the Plan will become exercisable. Notwithstanding the foregoing, all options held by a key employee of the Company or its subsidiaries become immediately exercisable, whether or not exercisable at the time, upon the death or disability, and shall be exercisable within twelve (12) months after the date of death or disability, but in no event later than the expiration date of such Options.</p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-30</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#tocf">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>EURO TECH HOLDINGS COMPANY LIMITED</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>FOR THE YEARS ENDED DECEMBER 31, 2024, 2023 AND 2022</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:continuation id="cont_f17903" continuedAt="cont_261a9b"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">No option is to be exercisable more than ten years from the date the option is granted.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Payment of Exercise Price for Options. Under the Plans, payment for shares purchased upon exercise of an option may be made by any of the following methods, subject to certain requirements: (i) in cash, (ii) in Ordinary Shares which have been held by the participant for not less than six months prior to the exercise of the option, valued at its Fair Market Value (as defined) on the date of exercise, (iii) in cash by a broker-dealer to whom the holder of the option has submitted an exercise notice consisting of a fully endorsed option, or (iv) by such other medium of payment as the Board or the Committee, as applicable, in its sole discretion, shall authorize, or by any combination of (i), (ii), or (iii), at the sole discretion of the Board or the Committee, as applicable, or in any manner provided in the option agreement, except by directing the Company to withhold Ordinary Shares otherwise issuable upon the exercise of the Option in payment of the exercise price.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Transfer of Options. Under the Plans, an option may not be sold, assigned or otherwise transferred except to:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">the spouse or lineal descendant of a plan participant;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">the trustee of a trust for the primary benefit of a plan participant&#8217;s spouse or lineal descendant;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">a partnership of which a plan participant and lineal descendants are the only partners; or</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">a tax exempt organization.</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">These assignments are only permitted if the assigning option holder does not receive any compensation in connection with the assignment and the assignment is expressly approved by the Board or Committee, as the case may be.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The Company indemnifies the members of any Committee and its delegates and the Chief Executive Officer against (a) the reasonable expenses (as such expenses are incurred), including attorneys&#8217; fees actually and necessarily incurred in connection with the defense of any action, suit or proceeding (or in connection with any appeal therein), to which they or any of them may be a party by reason of any action taken or failure to act under or in connection with the Plan, or any option granted under the Plan; and (b) all amounts paid by them in settlement thereof (provided such settlement is approved by independent legal counsel selected by the Company) or paid by them in satisfaction of a judgment in any such action, suit or proceeding, except in relation to matters as to which it shall be adjudged in such action, suit or proceeding that such Committee member or delegatee, as applicable, is liable for gross negligence or gross misconduct in the performance of his or her duties; provided that within 60 days after institution of any such action, suit or proceeding a Committee member or delegatee shall in writing offer the Company the opportunity, at its own expense, to handle and defend the same.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The Board may terminate, suspend, or amend the Plan at any time without the authorization of shareholders to the extent allowed by law or the rules of any market on which the Company&#8217;s shares are then listed or quoted.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">During the year ended December 31, 2022, the Company granted such options to its officers, directors and employees, which allow them to purchase up to <ix:nonFraction id="fid_5427" name="us-gaap:StockRepurchasedDuringPeriodShares" contextRef="From2022-01-01to2022-12-31_clwt_TwoThousandTwentyNineStockOptionAndIncentivePlanMember" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">80,000</ix:nonFraction> ordinary shares. The exercise price of all options granted is US$<ix:nonFraction id="fid_5434" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" contextRef="From2022-01-01to2022-12-31_clwt_TwoThousandTwentyNineStockOptionAndIncentivePlanMember" format="ixt:numdotdecimal" unitRef="USDPShares" decimals="INF">2.80</ix:nonFraction> per share. The stock options granted are exercisable on April 1, 2024 and terminate on April 18, 2029.&#160; The Company has estimated the fair value of the options granted under the Binomial pricing model at US$<ix:nonFraction id="fid_5428" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" contextRef="From2022-01-01to2022-12-31_clwt_TwoThousandTwentyNineStockOptionAndIncentivePlanMember" format="ixt:numdotdecimal" unitRef="USDPShares" decimals="INF">1.30</ix:nonFraction>55 per share. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">During the year ended December 31, 2022, <ix:nonFraction id="fid_5424" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" contextRef="From2022-01-01to2022-12-31_clwt_TwoThousandTwentyNineStockOptionAndIncentivePlanMember" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">41,250</ix:nonFraction> options were cancelled that became non-exercisable when those related employees left from the Company. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">During the year ended December 31, 2023 and 2024, the Company did not grant any options to its officers, directors and employees.</p></ix:continuation><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-31</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#tocf">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>EURO TECH HOLDINGS COMPANY LIMITED</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>FOR THE YEARS ENDED DECEMBER 31, 2024, 2023 AND 2022</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p><ix:continuation id="cont_261a9b"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Changes in outstanding options under various plans mentioned above were as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3584" name="us-gaap:ScheduleOfShareBasedCompensationStockOptionsAndStockAppreciationRightsAwardActivityTableTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="22"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2022</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Number</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>of</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>options</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Weighted</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>average</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>exercise</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>price</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Number</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>of</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>options</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Weighted</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>average</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>exercise</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>price</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Number</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>of</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>options</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Weighted</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>average</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>exercise</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>price</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Outstanding, beginning of year</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5387" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="AsOf2023-12-31_us-gaap_StockOptionMember" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">206,250</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5398" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" contextRef="AsOf2023-12-31_us-gaap_StockOptionMember" format="ixt:numdotdecimal" unitRef="USDPShares" decimals="INF">1.52</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5388" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="AsOf2022-12-31_us-gaap_StockOptionMember" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">206,250</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5397" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" contextRef="AsOf2022-12-31_us-gaap_StockOptionMember" format="ixt:numdotdecimal" unitRef="USDPShares" decimals="INF">1.52</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5389" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="AsOf2021-12-31_us-gaap_StockOptionMember" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">85,000</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5399" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" contextRef="AsOf2021-12-31_us-gaap_StockOptionMember" format="ixt:numdotdecimal" unitRef="USDPShares" decimals="INF">1.56</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Granted</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5401" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" contextRef="From2024-01-01to2024-12-31_us-gaap_StockOptionMember" format="ixt:zerodash" unitRef="USDPShares" decimals="INF">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5402" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" contextRef="From2023-01-01to2023-12-31_us-gaap_StockOptionMember" format="ixt:zerodash" unitRef="USDPShares" decimals="INF">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5390" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" contextRef="From2022-01-01to2022-12-31_us-gaap_StockOptionMember" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">80,000</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5400" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" contextRef="From2022-01-01to2022-12-31_us-gaap_StockOptionMember" format="ixt:numdotdecimal" unitRef="USDPShares" decimals="INF">2.80</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Cancelled</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5404" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" contextRef="From2024-01-01to2024-12-31_us-gaap_StockOptionMember" format="ixt:zerodash" unitRef="USDPShares" decimals="INF">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5405" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" contextRef="From2023-01-01to2023-12-31_us-gaap_StockOptionMember" format="ixt:zerodash" unitRef="USDPShares" decimals="INF">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5391" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" contextRef="From2022-01-01to2022-12-31_us-gaap_StockOptionMember" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">41,250</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5403" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" contextRef="From2022-01-01to2022-12-31_us-gaap_StockOptionMember" format="ixt:numdotdecimal" unitRef="USDPShares" decimals="INF">1.04</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Bonus shares adjustment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5407" name="us-gaap:BasicEarningsPerShareAdjustmentProForma" contextRef="From2024-01-01to2024-12-31_us-gaap_StockOptionMember" format="ixt:zerodash" unitRef="USDPShares" decimals="INF">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5408" name="us-gaap:BasicEarningsPerShareAdjustmentProForma" contextRef="From2023-01-01to2023-12-31_us-gaap_StockOptionMember" format="ixt:zerodash" unitRef="USDPShares" decimals="INF">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5392" name="us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment" contextRef="From2022-01-01to2022-12-31_us-gaap_StockOptionMember" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">82,500</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_5406" name="us-gaap:BasicEarningsPerShareAdjustmentProForma" contextRef="From2022-01-01to2022-12-31_us-gaap_StockOptionMember" format="ixt:numdotdecimal" unitRef="USDPShares" decimals="INF" sign="-">0.72</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Outstanding, end of year</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5394" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="AsOf2024-12-31_us-gaap_StockOptionMember" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">206,250</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5409" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" contextRef="AsOf2024-12-31_us-gaap_StockOptionMember" format="ixt:numdotdecimal" unitRef="USDPShares" decimals="INF">1.52</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5395" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="AsOf2023-12-31_us-gaap_StockOptionMember" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">206,250</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5410" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" contextRef="AsOf2023-12-31_us-gaap_StockOptionMember" format="ixt:numdotdecimal" unitRef="USDPShares" decimals="INF">1.52</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5418" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="AsOf2022-12-31_us-gaap_StockOptionMember" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">206,250</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5423" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" contextRef="AsOf2022-12-31_us-gaap_StockOptionMember" format="ixt:numdotdecimal" unitRef="USDPShares" decimals="INF">1.52</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Exercisable, end of year</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5421" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" contextRef="AsOf2024-12-31_us-gaap_StockOptionMember" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">206,250</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5411" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" contextRef="AsOf2024-12-31_us-gaap_StockOptionMember" format="ixt:numdotdecimal" unitRef="USDPShares" decimals="INF">1.52</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5419" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" contextRef="AsOf2023-12-31_us-gaap_StockOptionMember" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">86,250</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5412" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" contextRef="AsOf2023-12-31_us-gaap_StockOptionMember" format="ixt:numdotdecimal" unitRef="USDPShares" decimals="INF">1.04</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5420" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" contextRef="AsOf2022-12-31_us-gaap_StockOptionMember" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">86,250</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5422" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" contextRef="AsOf2022-12-31_us-gaap_StockOptionMember" format="ixt:numdotdecimal" unitRef="USDPShares" decimals="INF">1.04</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">As of December 31, 2024 and 2023, there was no unrecognized stock-based compensation expense related to unvested stock options. The compensation expense for the year is approximately US$<ix:nonFraction id="fid_7228" name="us-gaap:ShareBasedCompensation" contextRef="From2024-01-01to2024-12-31_clwt_TwoThousandTwentyNineStockOptionAndIncentivePlanMember" format="ixt:numdotdecimal" unitRef="USD" decimals="0">12,000</ix:nonFraction> (2023: US$<ix:nonFraction id="fid_5431" name="us-gaap:ShareBasedCompensation" contextRef="From2023-01-01to2023-12-31_clwt_TwoThousandTwentyNineStockOptionAndIncentivePlanMember" format="ixt:numdotdecimal" unitRef="USD" decimals="0">47,000</ix:nonFraction> and 2022: US$<ix:nonFraction id="fid_5429" name="us-gaap:ShareBasedCompensation" contextRef="From2022-01-01to2022-12-31_clwt_TwoThousandTwentyNineStockOptionAndIncentivePlanMember" format="ixt:numdotdecimal" unitRef="USD" decimals="0">45,000</ix:nonFraction>).</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The Group applies the provisions of ASC 718-10, which requires to recognise expense related to the fair value of stock-based compensation awards, including employee stock options.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The Binomial option-pricing model is used to estimate the fair value of the options granted. This requires the input of subjective assumptions, including the expected volatility of stock price, expected option term, expected risk-free rate over the expected option term and expected dividend yield rate over the expected option term. Because changes in subjective input assumptions can materially affect the fair value estimate, in directors&#8217; opinion, the existing model may not necessarily provide a realisable measure of the fair value of the stock options. Expected volatility is based on historical volatility in the 180 days prior to the issue of the options. Expected option term and dividend yield rate are based on historical trends. Expected risk-free rate is based on US Treasury securities with similar maturities as the expected terms of the options at the date of grant.</p></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3469" name="us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true" continuedAt="cont_c3e7b2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Note 20 : Pension plan</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Prior to December 1, 2000, Far East had only one defined contribution pension plan for all its Hong Kong employees. Under this plan, <ix:nonNumeric id="fid_7204" name="clwt:EmployeesPensionPlanDescription" contextRef="From2024-01-01to2024-12-31">all employees were entitled to pension benefits equal to their own contributions plus 50% to 100% of individual fund account balances contributed by Far East, depending on their years of service with Far East. Far East was required to make specific contributions at approximately 10% of the basic salaries of the employees to an independent fund management company</ix:nonNumeric>.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">With the introduction of the Mandatory Provident Fund Scheme (&#8220;MPF scheme&#8221;), a defined contribution scheme managed by an independent trustee on December 1, 2000, Far East and its employees who joined Far East subsequently make monthly contributions to the scheme at 5% of the employee&#8217;s cash income as defined under the Mandatory Provident Fund Schemes Ordinance.&#160; Under the MPF scheme, the employer and its employees are each required to make contributions to the plan at 5% of the employees' relevant income, subject to a cap of monthly relevant income of HK$30,000. Contributions to the plan vest immediately.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">During the years ended December 31, 2024, 2023 and 2022, the aggregate contributions of the Group to the aforementioned pension plans and retirement benefit schemes were approximately US$<ix:nonFraction id="fid_6326" name="us-gaap:PensionContributions" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="0">191,000</ix:nonFraction>, US$<ix:nonFraction id="fid_6324" name="us-gaap:PensionContributions" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="0">192,000</ix:nonFraction> and US$<ix:nonFraction id="fid_6325" name="us-gaap:PensionContributions" contextRef="From2022-01-01to2022-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="0">302,000</ix:nonFraction>, respectively.</p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-32</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#tocf">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;<strong>EURO TECH HOLDINGS COMPANY LIMITED</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>FOR THE YEARS ENDED DECEMBER 31, 2024, 2023 AND 2022</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:continuation id="cont_c3e7b2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">As stipulated by the rules and regulations in the PRC, the PRC&#8217;s subsidiaries contributes to state-sponsored retirement plans for its employees in Mainland China. PRC&#8217;s subsidiaries&#8217; contribution approximately <ix:nonFraction id="fid_7205" name="clwt:PensionSchemeBasicSalaryPercentage" contextRef="From2024-01-01to2024-12-31" unitRef="Pure" decimals="INF" scale="-2">16</ix:nonFraction>% of the basic salaries of its employees, and have no further obligations for the actual payment of pension or post-retirement benefits beyond the annual contributions. The state-sponsored retirement plans are responsible for the entire pension obligations payable to retired employees.</p></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3471" name="us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Note 21 : Risk factors</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Financial risk factors</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The Group&#8217;s activities expose it to a variety of financial risks: credit risk and foreign exchange rate risk.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">(i)</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Credit risk</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The Group has no significant concentration of credit risk, cash in banks in Hong Kong and PRC is insured with limit of approximately US$<ix:nonFraction id="fid_7206" name="us-gaap:ConcentrationRiskCreditRiskFinancialInstrumentMaximumExposure" contextRef="From2024-01-01to2024-12-31_clwt_HongKongAndPRCMember" format="ixt:numdotdecimal" unitRef="USD" decimals="0">102,000</ix:nonFraction> and US$<ix:nonFraction id="fid_6827" name="us-gaap:ConcentrationRiskCreditRiskFinancialInstrumentMaximumExposure" contextRef="From2023-01-01to2023-12-31_clwt_HongKongAndPRCMember" format="ixt:numdotdecimal" unitRef="USD" decimals="0">70,000</ix:nonFraction>, respectively per bank per each depositor. Uninsured cash in banks and restricted cash balances in Hong Kong and PRC are of approximately US$5,<ix:nonFraction id="fid_7207" name="us-gaap:RestrictedCash" contextRef="AsOf2024-12-31_clwt_HongKongAndPRCMember" format="ixt:numdotdecimal" unitRef="USD" decimals="0">251,000</ix:nonFraction> (2023: US$<ix:nonFraction id="fid_6828" name="us-gaap:RestrictedCash" contextRef="AsOf2023-12-31_clwt_HongKongAndPRCMember" format="ixt:numdotdecimal" unitRef="USD" decimals="0">6,039,000</ix:nonFraction>). Cash transactions are limited to high credit quality banks.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">(ii)</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Foreign exchange rate risk</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The Group operates in Hong Kong, the PRC and trades with both local and overseas customers and suppliers, and is exposed to foreign exchange rate risk arising from various currency exposures, primarily with respect to purchases in Hong Kong dollars, Renminbi and Euros. Foreign exchange risk arises from committed and unmatched future commercial transactions, such as confirmed import purchase orders and sales orders, recognized assets and liabilities, and net investment in the PRC operations.</p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3473" name="us-gaap:UnusualRisksAndUncertaintiesTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Note 22 : Risk and uncertainty</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;">(i)&#160;Property title in the PRC&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.2pt; text-align:justify;">The Group, through its subsidiary, Far East received total rental income of US$<ix:nonFraction id="fid_7518" name="clwt:RentalIncome" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="0">31,000</ix:nonFraction> in 2024 on a property in Beijing, China pursuant to relevant lease agreement from 2022 to 2024.The latest lease agreement relating to such property has expired in November 2024. The Group made payment for the purchase of such property, but has not successfully obtained Certificate of Real Estate Ownership or title of such property from the PRC authority. The property&#8217;s book value as at December 31, 2024 was approximately US$<ix:nonFraction id="fid_7208" name="us-gaap:PropertyPlantAndEquipmentFairValueDisclosure" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="0">76,000</ix:nonFraction>. Far East has made an effort to request the developer of the property to assist with obtaining the title, but those efforts have failed. Far East is still investigating various ways to obtain the title but has not formulated a specific plan as of the date of this Annual Report.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.2pt; text-align:justify;">In connection with the above, if the property is to be disposed, it is likely that Far East&#8217;s title to the property will be challenged, and in such case the Group will need to incur additional costs and expenses to confirm and defend its title to the property and the rental income it has collected. There is no assurance that Far East will succeed in its efforts to obtain the title to the property and the rental income it has collected. Far East&#8217;s failure in this regard could have material adverse effect on the Group&#8217;s financial position, results of operations, and cash flow.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;">(ii)&#160;Non-controlling interest Put Option&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.2pt; text-align:justify;">The Group granted the non-controlling interest of Yixing Pact Environmental Technology Co., Ltd. and Pact Asia Pacific Limited a put option, which is effective from 2009, requiring the Group to acquire part or all remaining shares of these two companies at a purchase price per share calculated by 5.2 times of their average net income for the three prior fiscal years divided by total number of shares outstanding at the time of exercise of such option. Such put option did not have an expiry date.&#160; The management of the Group has conducted an assessment of the fair value of the put option and determined it to be immaterial. The fair value assessment of the put option involves significant judgment and estimation, the management's reliance on internal expertise for the fair value assessment may introduce inherent uncertainties and potential for subjectivity.</p></ix:nonNumeric><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-33</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#tocf">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>EURO TECH HOLDINGS COMPANY LIMITED</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>FOR THE YEARS ENDED DECEMBER 31, 2024, 2023 AND 2022</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3474" name="us-gaap:RelatedPartyTransactionsDisclosureTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Note 23 : Related party transactions</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;">Other than compensation to directors and stock options available to the directors, there were no transactions with other related parties in the years 2024, 2023 and 2022.</p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3476" name="us-gaap:CommitmentsAndContingenciesDisclosureTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true" continuedAt="cont_1b7c1f"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;<strong>Note 24 : Commitments and contingencies </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;">(i)&#160;Banking facilities&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;">As at December 31, 2024 and 2023, the Group had various banking facilities available for overdraft and import and export credits from which the Group can draw up to approximately US$<ix:nonFraction id="fid_5285" name="us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="0">897,000</ix:nonFraction> and US$<ix:nonFraction id="fid_5279" name="us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="0">897,000</ix:nonFraction> respectively, of which approximately US$<ix:nonFraction id="fid_5284" name="clwt:UtilisedForIssuanceOfBankGuarantees" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="0">183,000</ix:nonFraction> and US$<ix:nonFraction id="fid_5281" name="clwt:UtilisedForIssuanceOfBankGuarantees" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="0">355,000</ix:nonFraction> were utilised for issuance of bank guarantees as security for the performance of various contracts with customers and import loans. The various banking facilities are secured by a bank deposit of approximately US$<ix:nonFraction id="fid_5286" name="us-gaap:SecurityDeposit" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="0">897,000</ix:nonFraction> and various blanket counter indemnities and counter indemnities. The Group undertakes to maintain its tangible net worth not at any time less than approximately US$<ix:nonFraction id="fid_7226" name="clwt:TangibleNetWorth" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="0">3,846,000</ix:nonFraction> and was in compliance with the covenant. The weighted average interest rate for import loans as at December 31, 2024 was <ix:nonFraction id="fid_5287" name="us-gaap:DebtWeightedAverageInterestRate" contextRef="AsOf2024-12-31" unitRef="Pure" decimals="INF" scale="-2">7.12</ix:nonFraction>% per annum (2023: <ix:nonFraction id="fid_5280" name="us-gaap:DebtWeightedAverageInterestRate" contextRef="AsOf2023-12-31" unitRef="Pure" decimals="INF" scale="-2">7.02</ix:nonFraction>% per annum). For the years ended December 31, 2024 and 2023, the average dollar amount of the bank borrowings was approximately US$<ix:nonFraction id="fid_5288" name="us-gaap:LoansAssumed1" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="0">154,000</ix:nonFraction> and US$<ix:nonFraction id="fid_5283" name="us-gaap:LoansAssumed1" contextRef="From2023-01-01to2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="0">293,000</ix:nonFraction>, respectively and average interest rates were approximately <ix:nonFraction id="fid_5289" name="us-gaap:ShortTermDebtInterestRateIncrease" contextRef="From2024-01-01to2024-12-31" unitRef="Pure" decimals="INF" scale="-2">7.12</ix:nonFraction>% and <ix:nonFraction id="fid_5290" name="us-gaap:ShortTermDebtInterestRateIncrease" contextRef="From2023-01-01to2023-12-31" unitRef="Pure" decimals="INF" scale="-2">7.02</ix:nonFraction>% per annum respectively for the years ended December 31, 2024 and 2023.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;">(ii)&#160;Non-controlling interest put option&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;">The Group granted the non-controlling interest of Yixing Pact Environmental Technology Co., Ltd. and Pact Asia Pacific Limited a put option, which is effective from 2009, requiring the Group to acquire part or all remaining shares of these two companies at a purchase price per share calculated by 5.2 times of their average net income for the three prior fiscal years divided by total number of shares outstanding at the time of exercise of such option. Such put option did not have an expiry date. &#160;Based on the analysis under ASC 820 &#8220; Fair Value Measurement&#8221; , Level 3 inputs: unobservable inputs that are supported by little or no market ability, management of the Group has conducted an assessment of the fair value of the put option, refer below. The fair value assessment of the put option involves significant judgment and estimation, the management's reliance on internal expertise for the fair value assessment may introduce inherent uncertainties and potential for subjectivity.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;">The valuation technique used to determine the fair value of the put option was the Options Pricing Model (OPM).</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;">The following inputs and assumptions were used in determining the fair value of the put options:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;">&#160;</p><table style="border-spacing:0;text-align:justify;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">-</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px"><ix:nonNumeric id="fid_7215" name="clwt:EarningsRatioMediumPriceDescription" contextRef="From2024-01-01to2024-12-31">Median price to earnings ratio of similar companies of 23,965 (Range 4,7288 to 36,7237)</ix:nonNumeric></p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">-</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">Median discount for lack of marketability <ix:nonFraction id="fid_7214" name="clwt:MediumDiscountForLackOfMarketability" contextRef="From2024-01-01to2024-12-31" unitRef="Pure" decimals="INF" scale="-2">15.7</ix:nonFraction>% (Range 8.4% to 28.7%)</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">-</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">Mean Annualized volatility of return of the underlying share for similar companies of <ix:nonFraction id="fid_7216" name="clwt:VolatilityRateForCompanies" contextRef="From2024-01-01to2024-12-31" unitRef="Pure" decimals="INF" scale="-2">102.39</ix:nonFraction>% (Range 36.025 to 349.944)</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">-</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">The average life of a company is around <ix:nonNumeric id="fid_7217" name="clwt:AverageUsefulLifeOfACompany" contextRef="From2024-01-01to2024-12-31" format="ixt-sec:duryear">21</ix:nonNumeric> years according to research (<span style="text-decoration:underline">www.statista.com/statistics/1259275/average-company-lifespan</span>) thus an assumption on the life of the options was set as <ix:nonNumeric id="fid_7218" name="clwt:OptionsEstimatedUsefulLife" contextRef="From2024-01-01to2024-12-31" format="ixt-sec:duryear">20</ix:nonNumeric> years.</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">-</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">A dividend yield rate of <ix:nonFraction id="fid_7219" name="clwt:DividendYieldRate" contextRef="From2024-01-01to2024-12-31" unitRef="Pure" decimals="INF" scale="-2">0</ix:nonFraction>% was used</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">-</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">For Yixing Pact Environmental Technology Co. Ltd, the China risk-free rate of <ix:nonFraction id="fid_7225" name="clwt:RiskFreeRateForCompany" contextRef="AsOf2024-12-31" unitRef="Pure" decimals="INF" scale="-2">2.69</ix:nonFraction>8% was used based on a tenor of <ix:nonNumeric id="fid_7224" name="clwt:IntermediateLifePlantsUsefulLifes" contextRef="From2024-01-01to2024-12-31" format="ixt-sec:duryear">20</ix:nonNumeric> years (source- Bloomberg)</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">-</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">For Pact Asia Pacific Limited, the USD risk-free rate of <ix:nonFraction id="fid_7220" name="clwt:RiskFreeRateForCompany" contextRef="AsOf2024-12-31_clwt_PactAsiaPacificLimitedMember" unitRef="Pure" decimals="INF" scale="-2">3.95</ix:nonFraction>4% was used based on a tenor of <ix:nonNumeric id="fid_7221" name="clwt:IntermediateLifePlantsUsefulLifes" contextRef="From2024-01-01to2024-12-31_clwt_PactAsiaPacificLimitedMember" format="ixt-sec:duryear">20</ix:nonNumeric> years (source- Bloomberg)</p></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160; </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 36.15pt; text-align:justify;">The resultant strike price of the options was valued at $<ix:nonFraction id="fid_7222" name="clwt:OptionsStrikePrice" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="0">0</ix:nonFraction> per share and the fair value of the options was valued at $<ix:nonFraction id="fid_7223" name="clwt:FairValueOfOptions" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="0">0</ix:nonFraction> as at 31 December 2024.</p></ix:nonNumeric><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-34</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#tocf">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>EURO TECH HOLDINGS COMPANY LIMITED</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>FOR THE YEARS ENDED DECEMBER 31, 2024, 2023 AND 2022</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:continuation id="cont_1b7c1f"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 36.15pt; text-align:justify;">The following is a roll-forward of the redeemable non-controlling interest:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 36.15pt; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_7032" name="us-gaap:RedeemableNoncontrollingInterestTableTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Fair value of put options </strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Balance, December 31, 2023</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7019" name="clwt:FairValueOfPutOptions" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="0">0</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Net income (loss)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7018" name="clwt:NetIncomeLossToPutOptions" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="0">0</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Foreign currency translation</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7213" name="clwt:ForeignCurrencyTranslation" contextRef="From2024-01-01to2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="0">0</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Balance, December 31, 2024</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7043" name="clwt:FairValueOfPutOptions" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="0">0</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;">(iii)&#160;Insurance&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;">The Group carries insurance policies to cover various risks, primarily general liability, automobile liability, workers&#8217; compensation and employee medical expenses under which we are liable to reimburse the insurance company for a portion of each claim paid.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;">(iv)&#160;Purchase commitments&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;">To manage the risk of changes in material prices and subcontracting costs used in tendering bids for engineering contracts, most of the time, the Group obtains firm quotations from suppliers and subcontractors before submitting a bid. These quotations do not include any quantity guarantees. As soon as the Group is advised that its bid is successful, the Group enters into firm contracts with most of its materials suppliers and sub-contractors, thereby mitigating the risk of future price variations affecting the contract costs.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;">(v)&#160;Litigations&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;">The Group is now and may in the future be involved as a party to various legal proceedings that are incidental to the ordinary course of business. Management, after consultation with legal counsel, does not believe that the outcome of these actions will have a material impact on the consolidated financial statements of the Group. There are no significant unresolved legal issues as of December 31, 2024 and 2023.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;">(vi)&#160;Contingencies&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;">The Group accounts for loss contingencies in accordance with ASC 450 and other related guidelines. As of December 31, 2024 and 2023, the Group&#8217;s management is of the opinion that there are no commitments and contingencies to account for.</p></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_3479" name="us-gaap:SubsequentEventsTextBlock" contextRef="From2024-01-01to2024-12-31" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Note 25: Subsequent event </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">On February 20, 2025, the Company approved a share repurchase program to repurchase up to <ix:nonFraction id="fid_7238" name="us-gaap:StockRepurchasedDuringPeriodShares" contextRef="From2025-02-01to2025-02-20_us-gaap_SubsequentEventMember" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">350,000</ix:nonFraction> ordinary shares, for an aggregate purchase price of not more than US$<ix:nonFraction id="fid_7237" name="us-gaap:RepurchaseAgreementsInterestExpenseAmount" contextRef="From2025-02-01to2025-02-20_us-gaap_SubsequentEventMember" format="ixt:numdotdecimal" unitRef="USD" decimals="0">500,000</ix:nonFraction> over a period of one year. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">On March 3, 2025, Euro Tech Global Pte. Limited, a Singapore company was incorporated as a wholly-owned subsidiary of the Company.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">In accordance with ASC 855, &#8220;<em>Subsequent Events</em>&#8221;, which establishes general standards of accounting for and disclosure of events that occur after the balance sheet date but before consolidated financial statements are issued, the Company evaluated all events and transactions that occurred after December 31, 2024, up through the date the Company issued the audited consolidated financial statements. Other than the event disclosed above, there was no other subsequent events occurred that would require recognition or disclosure in the Company&#8217;s audited consolidated financial statements.</p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-35</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#tocf">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong><span class="atag" style="display: inline" id="toc2">ZHEJIANG TIANLAN ENVIRONMENTAL PROTECTION </span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>TECHNOLOGY COMPANY LIMITED</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>INDEX TO CONSOLIDATED FINANCIAL STATEMENTS</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Page</strong></p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="#re1">Report of Independent Registered Public Accounting Firm &#8211; J&amp;S PLT</a> (PCAOB ID: 6743)&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">F-37</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="#bs1">Consolidated Balance Sheets</a></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">F-39</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="#so1">Consolidated Statements of Operations &#160;</a></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">F-40</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="#cf1">Consolidated Statements of Cash Flows&#160; </a></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">F-41</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="#sc1">Consolidated Statements of Shareholders&#8217; Equity </a></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">F-42</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="#note1">Notes to the Consolidated Financial Statements</a></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 5.5pt; text-align:center;">F-43&#160;to F-65</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-36</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#toc2">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:15%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><img src="clwt_20fimg2.jpg" alt="clwt_20fimg2.jpg"/></p></td><td style="width:30%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>J&amp;S ASSOCIATE PLT </strong></p><p style="font-size:10pt;font-family:times new roman;margin:0px">202206000037 (LLP0033395-LCA) &amp; AF002380</p><p style="font-size:10pt;font-family:times new roman;margin:0px">(Registered with PCAOB and MIA)</p><p style="font-size:10pt;font-family:times new roman;margin:0px">B-11-14, Megan Avenue II</p><p style="font-size:10pt;font-family:times new roman;margin:0px">12, Jalan Yap Kwan Seng, </p><p style="font-size:10pt;font-family:times new roman;margin:0px">50450, Kuala Lumpur, Malaysia</p></td><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Tel: +603-4813 9469&#160;</p><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="font-size:10pt;font-family:times new roman;margin:0px">Email : info@jns-associate.com</p><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="font-size:10pt;font-family:times new roman;margin:0px">Website : jns-associate.com</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong><span class="atag" style="display: inline" id="re1">REPORT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM</span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">To: The Board of Directors and Shareholders of Zhejiang Tianlan Environmental Protection Technology Company Limited</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Opinion on the Financial Statements</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">We have audited the accompanying consolidated balance sheets of Euro Tech Holdings Company Limited (the &#8220;Company&#8221;) and its subsidiaries (the &#8220;Group&#8221;) as of December 31, 2024 and 2023, and the related consolidated statements of operations and comprehensive income, consolidated statement of changes in shareholders&#8217; equity, and consolidated statements of cash flows for each of the three years in the period ended December 31, 2024, and the related notes to the consolidated financial statements and schedule (collectively referred to as the &#8220;financial statements&#8221;). In our opinion, the consolidated financial statements present fairly, in all material respects, the financial position of the Group as of December 31, 2024 and 2023, and the results of its operations and its cash flows for each of the three years in the period ended December 31, 2024, in conformity with accounting principles generally accepted in the United States of America.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Basis for Opinion</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">These financial statements are the responsibility of the Group&#8217;s management. Our responsibility is to express an opinion on the Group&#8217;s financial statements based on our audits. We are a public accounting firm registered with the Public Company Accounting Oversight Board (United States) (&#8220;PCAOB&#8221;) and are required to be independent with respect to the Group in accordance with the U.S. federal securities laws and the applicable rules and regulations of the Securities and Exchange Commission and the PCAOB.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">We conducted our audits in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audit to obtain reasonable assurance about whether the financial statements are free of material misstatement, whether due to error or fraud. The Group is not required to have, nor were we engaged to perform, an audit of its internal control over financial reporting. As part of our audits, we are required to obtain an understanding of internal control over financial reporting but not for the purpose of expressing an opinion on the effectiveness of the Group&#8217;s internal control over financial reporting. Accordingly, we express no such opinion.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">Our audits included performing procedures to assess the risks of material misstatement of the financial statements, whether due to error or fraud, and performing procedures that respond to those risks. Such procedures included examining, on a test basis, evidence regarding the amounts and disclosures in the financial statements. Our audits also included evaluating the accounting principles used and significant estimates made by management, as well as evaluating the overall presentation of the financial statements. We believe that our audits provide a reasonable basis for our opinion.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Critical Audit Matters </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">Critical audit matters are matters arising from the current year audit of the financial statements that were communicated or are required to be communicated to the audit committee and that: (1) relate to accounts or disclosures that are material to the financial statements, and (2) involved especially challenging, subjective, or complex judgments.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">The communication of critical audit matters does not alter in any way our opinion on the consolidated financial statements, taken as a whole, and we are not, by communicating the critical audit matters below, providing separate opinions on the critical audit matters or on the accounts or disclosures to which they relate.<em> </em></p><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-37</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#toc2">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Revenue Recognition </em><em>&#8211; Contracts recognised over time</em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">As described in Note 2 to the consolidated financial statements, the Group adopted Accounting Standards Codification (ASC) Topic 606, Revenue from Contracts with Customers. Under this standard, the Group recognizes revenue over time, reflecting the continuous transfer of control of goods or services to the customer. Revenue is measured using the input method. The Group generally measures its progress to completion using an input measure of total costs incurred divided by total costs expected to be incurred.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">We identified revenue recognition using the input method as a critical audit matter due to the significant judgments involved in determining the timing and amount of revenue recognized. These judgments include assessing the accuracy of the budgeted cost. Budgeted cost can vary, sometimes substantially, from substantially, from previous estimates due to changes in a variety of factors, including unforeseen or changed circumstances not included in management&#8217;s cost estimates. The complexity and subjectivity associated with these assessments required extensive audit effort and a high degree of auditor judgment.</p><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:45px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">Our key consideration is our evaluation of revenue recognition involves assessing the appropriateness of the Group&#8217;s application of ASC 606, including the identification and measurement of performance obligations, the determination of the stages of works certified by customers, and the classification of contract assets and liabilities. Our audit procedures to assess the above include:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;text-align:justify;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">1.</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">Understand and evaluate the Group&#8217;s revenue recognition policies and procedures including the adoption and application of ASC 606;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:30px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">2.</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">Evaluate the identification and measurement of performance obligations, including the Group&#8217;s determination of whether they are distinct or combined;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:30px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">3.</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">Assess the methodology used to measure progress towards complete satisfaction of performance obligations over time, including the use of the input method;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:30px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">4.</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">Verify and review the classification and accuracy of contract assets and liabilities;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:30px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">5.</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">Test samples of cost to invoices to verify the actual cost incurred during the financial year;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:30px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">6.</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">Validate invoices billed to customers subsequent to financial year end for revenue earned as at financial year end and validate receipt of payments for these invoices.</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:30px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">7.</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">Reperformed the calculation of the revenue based on the percentage of completion method and where applicable, considered the implications of any changes in estimates.;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:30px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">8.</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">Assess the adequacy of the Group&#8217;s disclosures related to revenue recognition under ASC 606.</p></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160; </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">/s/ J&amp;S Associate PLT</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Certified Public Accountants</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Firm ID: 6743</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">We have served as the Company&#8217;s auditor since 2023.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Kuala Lumpur, Malaysia</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">April 30, 2025</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-38</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#toc2">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><span class="atag" style="display: inline" id="bs1">ZHEJIANG TIANLAN ENVIRONMENTAL PROTECTION TECHNOLOGY COMPANY LIMITED</span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>CONSOLIDATED BALANCE SHEETS</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Assets</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Current assets:</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Cash</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5938" name="us-gaap:Cash" contextRef="AsOf2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">73,731</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5937" name="us-gaap:Cash" contextRef="AsOf2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">135,988</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Accounts receivable, net</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5940" name="us-gaap:AccountsReceivableNet" contextRef="AsOf2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">135,056</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5939" name="us-gaap:AccountsReceivableNet" contextRef="AsOf2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">128,235</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Prepayments and other current assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5942" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" contextRef="AsOf2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">30,788</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5941" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" contextRef="AsOf2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">23,741</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Contract assets, net</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5944" name="us-gaap:ContractWithCustomerAssetNet" contextRef="AsOf2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">66,644</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5943" name="us-gaap:ContractWithCustomerAssetNet" contextRef="AsOf2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">72,880</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Inventories</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5946" name="us-gaap:Investments" contextRef="AsOf2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">4,708</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5945" name="us-gaap:Investments" contextRef="AsOf2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">4,469</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Short-term investments</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5948" name="us-gaap:ShortTermInvestments" contextRef="AsOf2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">53,292</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5947" name="us-gaap:ShortTermInvestments" contextRef="AsOf2023-12-31_srt_SubsidiariesMember" format="ixt:zerodash" unitRef="CNY" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total current assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5950" name="us-gaap:AssetsCurrent" contextRef="AsOf2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">364,219</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5949" name="us-gaap:AssetsCurrent" contextRef="AsOf2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">365,313</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Property, plant and equipment, net</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5952" name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">57,738</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5951" name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">63,505</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Intangible assets, net</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5954" name="us-gaap:OtherIntangibleAssetsNet" contextRef="AsOf2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">1,528</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5953" name="us-gaap:OtherIntangibleAssetsNet" contextRef="AsOf2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">1,763</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Land use right, net</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5956" name="clwt:LandLeaseRightOfUseAsset" contextRef="AsOf2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">4,550</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5955" name="clwt:LandLeaseRightOfUseAsset" contextRef="AsOf2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">4,699</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Operating lease right-of-use Assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7044" name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="AsOf2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">2,389</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7048" name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="AsOf2023-12-31_srt_SubsidiariesMember" format="ixt:zerodash" unitRef="CNY" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Deferred tax assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5958" name="clwt:DeferredTaxAssets" contextRef="AsOf2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">8,848</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5957" name="clwt:DeferredTaxAssets" contextRef="AsOf2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">5,939</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Long-term investments</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5960" name="us-gaap:LongTermInvestments" contextRef="AsOf2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">1,200</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5959" name="us-gaap:LongTermInvestments" contextRef="AsOf2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">1,200</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total non-current assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5962" name="us-gaap:AssetsNoncurrent" contextRef="AsOf2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">76,253</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5961" name="us-gaap:AssetsNoncurrent" contextRef="AsOf2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">77,106</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Total assets</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5964" name="us-gaap:Assets" contextRef="AsOf2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">440,472</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5963" name="us-gaap:Assets" contextRef="AsOf2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">442,419</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Liabilities and shareholders&#8217; equity</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Current liabilities:</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Bank borrowings</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5966" name="us-gaap:OtherBorrowings" contextRef="AsOf2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">6,006</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5965" name="us-gaap:OtherBorrowings" contextRef="AsOf2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">6,509</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Accounts payable</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5968" name="us-gaap:AccountsPayableCurrent" contextRef="AsOf2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">106,785</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5967" name="us-gaap:AccountsPayableCurrent" contextRef="AsOf2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">107,211</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Other payables and accrued expenses</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5970" name="us-gaap:OtherAccountsPayableAndAccruedLiabilities" contextRef="AsOf2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">22,371</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5969" name="us-gaap:OtherAccountsPayableAndAccruedLiabilities" contextRef="AsOf2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">23,720</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Contract liabilities</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5972" name="clwt:ContractLiabilitiesCurrent" contextRef="AsOf2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">35,367</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5971" name="clwt:ContractLiabilitiesCurrent" contextRef="AsOf2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">43,452</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Operating lease liabilities, current</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7045" name="us-gaap:OperatingLeaseLiabilityCurrent" contextRef="AsOf2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">563</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Other taxes payable</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5974" name="clwt:OtherTaxesPayableCurrentLiabilities" contextRef="AsOf2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">4,994</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5973" name="clwt:OtherTaxesPayableCurrentLiabilities" contextRef="AsOf2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">4,119</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total current liabilities</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5976" name="us-gaap:LiabilitiesCurrent" contextRef="AsOf2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">176,086</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5975" name="us-gaap:LiabilitiesCurrent" contextRef="AsOf2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">185,011</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Deferred government grant</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5978" name="clwt:DeferredGovernmentGrant" contextRef="AsOf2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">4,202</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5977" name="clwt:DeferredGovernmentGrant" contextRef="AsOf2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">1,413</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Operating lease liabilities, non-current</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7046" name="us-gaap:OperatingLeaseLiabilityNoncurrent" contextRef="AsOf2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">1,542</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7047" name="us-gaap:OperatingLeaseLiabilityNoncurrent" contextRef="AsOf2023-12-31_srt_SubsidiariesMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total non-current liabilities</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5980" name="us-gaap:LiabilitiesNoncurrent" contextRef="AsOf2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">5,744</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5979" name="us-gaap:LiabilitiesNoncurrent" contextRef="AsOf2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">1,413</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Total liabilities</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5982" name="us-gaap:Liabilities" contextRef="AsOf2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">181,830</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5981" name="us-gaap:Liabilities" contextRef="AsOf2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">186,424</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Commitments and contingencies (Note 21)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Shareholders&#8217; equity:</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Share capital&#160;<ix:nonFraction id="fid_6000" name="us-gaap:CommonStockSharesAuthorized" contextRef="AsOf2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">82,572,000</ix:nonFraction> no par value shares authorized, issued and outstanding, as of December 31, 2023 and 2022, respectively</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5984" name="clwt:ShareCapital" contextRef="AsOf2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">82,572</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5983" name="clwt:ShareCapital" contextRef="AsOf2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">82,572</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Capital reserve</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5986" name="clwt:CapitalReserve" contextRef="AsOf2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">35,761</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5985" name="clwt:CapitalReserve" contextRef="AsOf2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">35,761</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">PRC statutory reserve</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5988" name="us-gaap:StatutoryAccountingPracticesStatutoryCapitalAndSurplusBalance" contextRef="AsOf2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">27,097</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5987" name="us-gaap:StatutoryAccountingPracticesStatutoryCapitalAndSurplusBalance" contextRef="AsOf2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">25,411</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Retained earnings</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5990" name="us-gaap:RetainedEarningsAccumulatedDeficit" contextRef="AsOf2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">106,049</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5989" name="us-gaap:RetainedEarningsAccumulatedDeficit" contextRef="AsOf2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">105,766</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total shareholders&#8217; equity attributable to Zhejiang Tianlan Environmental Protection Technology Company Limited</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5992" name="us-gaap:StockholdersEquity" contextRef="AsOf2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">251,479</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5991" name="us-gaap:StockholdersEquity" contextRef="AsOf2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">249,510</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Non-controlling interests</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5994" name="us-gaap:MinorityInterest" contextRef="AsOf2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">7,163</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5993" name="us-gaap:MinorityInterest" contextRef="AsOf2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">6,485</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Total shareholders&#8217; equity</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5996" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">258,642</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5995" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">255,995</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Total liabilities and shareholders&#8217; equity</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5998" name="us-gaap:LiabilitiesAndStockholdersEquity" contextRef="AsOf2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">440,472</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5997" name="us-gaap:LiabilitiesAndStockholdersEquity" contextRef="AsOf2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">442,419</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The accompanying notes form an integral part of these consolidated financial statements.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-39</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#toc2">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><span class="atag" style="display: inline" id="so1">ZHEJIANG TIANLAN ENVIRONMENTAL PROTECTION TECHNOLOGY COMPANY LIMITED</span> </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>CONSOLIDATED STATEMENTS OF OPERATIONS </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="10"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>2</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Revenues</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6003" name="us-gaap:Revenues" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">348,465</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6001" name="us-gaap:Revenues" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">325,176</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6002" name="us-gaap:Revenues" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">403,118</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Cost of revenues</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6006" name="us-gaap:CostOfRevenue" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">270,659</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6004" name="us-gaap:CostOfRevenue" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">215,400</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6005" name="us-gaap:CostOfRevenue" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">335,978</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Gross profit</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6009" name="us-gaap:GrossProfit" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">77,806</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6007" name="us-gaap:GrossProfit" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">109,766</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6008" name="us-gaap:GrossProfit" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">67,140</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Selling and administrative expenses</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6012" name="us-gaap:SellingGeneralAndAdministrativeExpense" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">63,932</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6010" name="us-gaap:SellingGeneralAndAdministrativeExpense" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">56,880</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6011" name="us-gaap:SellingGeneralAndAdministrativeExpense" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">59,247</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Operating income</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6015" name="us-gaap:OperatingIncomeLoss" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">13,874</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6013" name="us-gaap:OperatingIncomeLoss" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">52,896</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6014" name="us-gaap:OperatingIncomeLoss" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">7,893</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Interest income</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6018" name="us-gaap:InterestIncomeOther" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">813</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6016" name="us-gaap:InterestIncomeOther" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">1,217</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6017" name="us-gaap:InterestIncomeOther" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">105</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Interest expense</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6021" name="us-gaap:InterestExpense" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">252</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6019" name="us-gaap:InterestExpense" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">253</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6020" name="us-gaap:InterestExpense" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">634</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Other income</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6024" name="us-gaap:OtherIncome" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">396</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6022" name="us-gaap:OtherIncome" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">32,746</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6023" name="us-gaap:OtherIncome" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">11,789</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Other losses </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6027" name="clwt:OtherNonoperatingExpenses" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" format="ixt:zerodash" unitRef="CNY" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6025" name="clwt:OtherNonoperatingExpenses" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" format="ixt:zerodash" unitRef="CNY" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6026" name="clwt:OtherNonoperatingExpenses" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">3,755</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Net income before income tax</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6031" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">14,831</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6028" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">86,606</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6030" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">15,398</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Income tax (expense) / credit</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6033" name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">365</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6029" name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">16,069</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6032" name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">368</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Net income</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6036" name="us-gaap:ProfitLoss" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">14,466</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6034" name="us-gaap:ProfitLoss" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">70,537</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6035" name="us-gaap:ProfitLoss" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">15,766</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Net loss attributable to non-controlling interests</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6039" name="us-gaap:NetIncomeLossAttributableToNoncontrollingInterest" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">302</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6037" name="us-gaap:NetIncomeLossAttributableToNoncontrollingInterest" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">366</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6038" name="us-gaap:NetIncomeLossAttributableToNoncontrollingInterest" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">1,458</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Net income attributable to Zhejiang Tianlan Environmental Protection Technology Company Limited&#8217;s shareholders </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6042" name="us-gaap:NetIncomeLoss" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">14,768</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6040" name="us-gaap:NetIncomeLoss" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">70,171</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6041" name="us-gaap:NetIncomeLoss" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">14,308</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Net income per ordinary share attributable to Zhejiang Tianlan Environmental Protection Technology Company Limited&#8217;s shareholders</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">RMB <ix:nonFraction id="fid_6045" name="us-gaap:EarningsPerShareDiluted" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNYPShares" decimals="INF">0.18</ix:nonFraction></p></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">RMB <ix:nonFraction id="fid_6043" name="us-gaap:EarningsPerShareDiluted" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNYPShares" decimals="INF">0.85</ix:nonFraction></p></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">RMB <ix:nonFraction id="fid_6044" name="us-gaap:EarningsPerShareDiluted" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNYPShares" decimals="INF">0.17</ix:nonFraction></p></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Weighted average ordinary shares outstanding </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6048" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">82,572,000</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6046" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">82,572,000</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6047" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">82,572,000</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The accompanying notes form an integral part of these consolidated financial statements.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-40</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#toc2">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span class="atag" style="display: inline" id="cf1"><strong>ZHEJIANG TIANLAN ENVIRONMENTAL PROTECTION TECHNOLOGY COMPANY LIMITED</strong>&#160;</span></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>CONSOLIDATED STATEMENTS OF CASH FLOWS</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="10"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>2</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Cash flows from operating activities:</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Net income </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6051" name="us-gaap:ProfitLoss" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">14,466</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6049" name="us-gaap:ProfitLoss" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">70,537</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6050" name="us-gaap:ProfitLoss" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">15,766</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Adjustments to reconcile net income to net cash provided by operating activities:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Amortization of intangible assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6054" name="us-gaap:AmortizationOfIntangibleAssets" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">235</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6052" name="us-gaap:AmortizationOfIntangibleAssets" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">246</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6053" name="us-gaap:AmortizationOfIntangibleAssets" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">257</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Amortization of land use right</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6057" name="clwt:AmortizationOfLandUseRight" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">149</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6055" name="clwt:AmortizationOfLandUseRight" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">180</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6056" name="clwt:AmortizationOfLandUseRight" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">150</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Depreciation </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6060" name="us-gaap:Depreciation" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">6,175</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6058" name="us-gaap:Depreciation" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">5,964</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6059" name="us-gaap:Depreciation" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">6,580</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Amortization of right-of-use Assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6063" name="us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">141</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6061" name="us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" format="ixt:zerodash" unitRef="CNY" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td/><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><ix:nonFraction id="fid_6062" name="us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:zerodash" unitRef="CNY" decimals="-3" scale="3">-</ix:nonFraction></p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">)</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Impairment loss on contract assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6066" name="us-gaap:CapitalizedContractCostImpairmentLoss" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">723</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6064" name="us-gaap:CapitalizedContractCostImpairmentLoss" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">2,158</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6065" name="us-gaap:CapitalizedContractCostImpairmentLoss" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">3,560</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Impairment loss on short-term investments</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6067" name="clwt:ImpairmentLossOnShortTermInvestments" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" format="ixt:zerodash" unitRef="CNY" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6068" name="clwt:ImpairmentLossOnShortTermInvestments" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">195</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Fair value gain on short term investment </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6177" name="us-gaap:GainOnSaleOfInvestments" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">248</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6071" name="us-gaap:GainOnSaleOfInvestments" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:zerodash" unitRef="CNY" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Proceeds from deferred government grant</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6072" name="clwt:ProceedsFromDeferredGovernmentGrant" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" format="ixt:zerodash" unitRef="CNY" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6073" name="clwt:ProceedsFromDeferredGovernmentGrant" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">700</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Property, plant and equipment written off </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6075" name="clwt:PropertyPlantAndEquipmentWrittenOff" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">36,241</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6076" name="clwt:PropertyPlantAndEquipmentWrittenOff" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">218</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Reversal of allowance for doubtful accounts</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6078" name="clwt:ReversalOfAllowanceForDoubtfulAccounts" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">677</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6079" name="clwt:ReversalOfAllowanceForDoubtfulAccounts" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">983</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Change in non-current assets and liabilities: </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Deferred government grant&#160; </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6083" name="clwt:IncreaseDecreaseInDeferredGovernmentGrant" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">2,789</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6081" name="clwt:IncreaseDecreaseInDeferredGovernmentGrant" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">386</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6082" name="clwt:IncreaseDecreaseInDeferredGovernmentGrant" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">3,562</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Deferred tax assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6086" name="us-gaap:IncreaseDecreaseInDeferredIncomeTaxes" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">2,909</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6084" name="us-gaap:IncreaseDecreaseInDeferredIncomeTaxes" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">8,727</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6085" name="us-gaap:IncreaseDecreaseInDeferredIncomeTaxes" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">361</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Operating lease right-of-use Assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_7235" name="clwt:IncreaseDecreaseInOperatingLeaseRightOfUseAssets" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">2,389</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Operating lease liabilities, non-current</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_7236" name="us-gaap:IncreaseDecreaseInOperatingLeaseLiability" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">1,542</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">(Increase)/decrease in current assets:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Accounts receivable, net</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6090" name="us-gaap:IncreaseDecreaseInAccountsReceivable" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">6,821</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6088" name="us-gaap:IncreaseDecreaseInAccountsReceivable" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">7,538</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6089" name="us-gaap:IncreaseDecreaseInAccountsReceivable" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">28,768</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">)&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Prepayments and other current assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6093" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">7,047</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6091" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">2,590</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6092" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">12,347</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Contract assets, net &#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6096" name="us-gaap:IncreaseDecreaseInContractWithCustomerAsset" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">6,236</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6094" name="us-gaap:IncreaseDecreaseInContractWithCustomerAsset" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">4,112</ix:nonFraction> </td><td style="width:1%;white-space: nowrap;"/><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6095" name="us-gaap:IncreaseDecreaseInContractWithCustomerAsset" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">8,241</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">)&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Inventories</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6099" name="us-gaap:IncreaseDecreaseInInventories" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">239</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6097" name="us-gaap:IncreaseDecreaseInInventories" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">70</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6098" name="us-gaap:IncreaseDecreaseInInventories" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">1,014</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Short-term investments</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6102" name="clwt:IncreaseDecreaseInShortTermInvestments" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">53,292</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6100" name="clwt:IncreaseDecreaseInShortTermInvestments" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">14,805</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6101" name="clwt:IncreaseDecreaseInShortTermInvestments" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:zerodash" unitRef="CNY" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Increase/(decrease) in current liabilities:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Accounts payable</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6106" name="us-gaap:IncreaseDecreaseInAccountsPayable" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">426</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6104" name="us-gaap:IncreaseDecreaseInAccountsPayable" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">21,502</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6105" name="us-gaap:IncreaseDecreaseInAccountsPayable" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">34,751</ix:nonFraction> </td><td style="width:1%;white-space: nowrap;"/></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Other payables and accrued expenses</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6109" name="us-gaap:IncreaseDecreaseInOtherAccountsPayableAndAccruedLiabilities" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">1,349</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6107" name="us-gaap:IncreaseDecreaseInOtherAccountsPayableAndAccruedLiabilities" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">64,781</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6108" name="us-gaap:IncreaseDecreaseInOtherAccountsPayableAndAccruedLiabilities" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">70,063</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Contract liabilities </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6112" name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">8,085</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6110" name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">8,949</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6111" name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">2,978</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Other taxes payable</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6115" name="us-gaap:IncreaseDecreaseInPropertyAndOtherTaxesPayable" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">875</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6113" name="us-gaap:IncreaseDecreaseInPropertyAndOtherTaxesPayable" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">4,074</ix:nonFraction>)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6114" name="us-gaap:IncreaseDecreaseInPropertyAndOtherTaxesPayable" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">1,469</ix:nonFraction> </td><td style="width:1%;white-space: nowrap;"/></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Operating lease liabilities, current</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6178" name="clwt:IncreaseDecreaseInOperatingLeaseLiabilitiesCurrent" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">563</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6179" name="clwt:IncreaseDecreaseInOperatingLeaseLiabilitiesCurrent" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:zerodash" unitRef="CNY" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Net cash (used in) /provided by operating activities</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6122" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">40,233</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6120" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">10,649</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6121" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">100,149</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Cash flows from investing activities:</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">(Capital injection)/proceed from investment </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6125" name="clwt:CapitalInjectionProceedFromInvestment" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">8,318</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6123" name="clwt:CapitalInjectionProceedFromInvestment" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" format="ixt:zerodash" unitRef="CNY" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6124" name="clwt:CapitalInjectionProceedFromInvestment" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:zerodash" unitRef="CNY" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Proceeds from sale of property, plant and equipment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6129" name="us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">39,374</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6130" name="us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:zerodash" unitRef="CNY" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Purchase of intangible assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td/><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6132" name="us-gaap:PaymentsToAcquireIntangibleAssets" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">200</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6133" name="us-gaap:PaymentsToAcquireIntangibleAssets" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">200</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">)&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Purchase of property, plant and equipment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6140" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">408</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6138" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">1,708</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6139" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">1,143</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Purchase of short-term investments</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td/><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><ix:nonFraction id="fid_6141" name="us-gaap:PaymentsToAcquireShortTermInvestments" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" format="ixt:zerodash" unitRef="CNY" decimals="-3" scale="3">-</ix:nonFraction></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6142" name="us-gaap:PaymentsToAcquireShortTermInvestments" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">15,000</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">)&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Net cash provided by/(used in) investing activities</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6146" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">8,726</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6144" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">37,466</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6145" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">16,343</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Cash flows from financing activities:</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Repayments of bank borrowings</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6149" name="us-gaap:RepaymentsOfBankDebt" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">6500</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6147" name="us-gaap:RepaymentsOfBankDebt" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">5,500</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6148" name="us-gaap:RepaymentsOfBankDebt" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">14,000</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Proceeds from bank borrowings</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6152" name="us-gaap:ProceedsFromBankDebt" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">6,000</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6150" name="us-gaap:ProceedsFromBankDebt" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">6,500</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6151" name="us-gaap:ProceedsFromBankDebt" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">6,000</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Dividend paid to shareholders and interest paid </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6155" name="us-gaap:DividendsAndInterestPaid" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">12,798</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6153" name="us-gaap:DividendsAndInterestPaid" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">13,211</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6154" name="us-gaap:DividendsAndInterestPaid" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">9,400</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Net cash used in financing activities</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6158" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">13,298</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6156" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">12,211</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6157" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">17,400</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Net increase in cash and cash equivalents</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6161" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">62,257</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6159" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">14,606</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6160" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">66,406</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Cash and cash equivalents at beginning of year</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6164" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" contextRef="AsOf2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">135,988</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6162" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" contextRef="AsOf2022-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">121,382</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6163" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" contextRef="AsOf2021-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">54,976</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Cash and cash equivalents at end of year</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6167" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" contextRef="AsOf2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">73,731</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6165" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" contextRef="AsOf2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">135,988</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6166" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" contextRef="AsOf2022-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">121,382</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><strong>RMB&#8217;000</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><strong>RMB&#8217;000</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><strong>RMB&#8217;000</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Supplemental disclosure of consolidated cash flow information:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Cash paid during the year for income tax</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6170" name="us-gaap:IncomeTaxesPaidNet" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" format="ixt:zerodash" unitRef="CNY" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6168" name="us-gaap:IncomeTaxesPaidNet" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" format="ixt:zerodash" unitRef="CNY" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6169" name="us-gaap:IncomeTaxesPaidNet" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:zerodash" unitRef="CNY" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Cash paid during the year for interest</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6173" name="us-gaap:InterestPaidNet" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">252</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6171" name="us-gaap:InterestPaidNet" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">253</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6172" name="us-gaap:InterestPaidNet" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">626</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Finance leases (disclosed in accompanying Note 3)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6176" name="clwt:NonCashFinanceLeases" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" format="ixt:zerodash" unitRef="CNY" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6174" name="clwt:NonCashFinanceLeases" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" format="ixt:zerodash" unitRef="CNY" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6175" name="clwt:NonCashFinanceLeases" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:zerodash" unitRef="CNY" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The accompanying notes form an integral part of these consolidated financial statements.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-41</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#toc2">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><span class="atag" style="display: inline" id="sc1">ZHEJIANG TIANLAN ENVIRONMENTAL PROTECTION TECHNOLOGY COMPANY LIMITED</span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>CONSOLIDATED STATEMENTS OF SHAREHOLDERS&#8217; EQUITY</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="14"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>ZHEJIANG TIANLAN ENVIRONMENTAL PROTECTION TECHNOLOGY COMPANY LIMITED&#8217;S SHAREHOLDERS</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Share</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>capital</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.75pt; text-align:center;"><strong>Capital reserve</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>PRC statutory reserve</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Retained</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>earnings</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Non-controlling interests</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Total</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Balance at December 31, 2021</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7437" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2021-12-31_clwt_ZhejiangTianlanShareCapitalMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">82,572</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7438" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2021-12-31_clwt_ZhejiangTianlanCapitalReserveMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">35,761</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7439" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2021-12-31_clwt_ZhejiangTianlanPrcStatutoryReserveMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">16,582</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7440" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2021-12-31_clwt_ZhejiangTianlanRetainedEarningsMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">55,409</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7441" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2021-12-31_clwt_ZhejiangTianlanNonControllingInterestsMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">5,296</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7442" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2021-12-31_clwt_SubsidiaryMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">192,620</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Net income / (loss)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6895" name="us-gaap:NetIncomeLoss" contextRef="From2022-01-01to2022-12-31_clwt_ZhejiangTianlanShareCapitalMember" format="ixt:zerodash" unitRef="CNY" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6896" name="us-gaap:NetIncomeLoss" contextRef="From2022-01-01to2022-12-31_clwt_ZhejiangTianlanCapitalReserveMember" format="ixt:zerodash" unitRef="CNY" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6897" name="us-gaap:NetIncomeLoss" contextRef="From2022-01-01to2022-12-31_clwt_ZhejiangTianlanPrcStatutoryReserveMember" format="ixt:zerodash" unitRef="CNY" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6898" name="us-gaap:NetIncomeLoss" contextRef="From2022-01-01to2022-12-31_clwt_ZhejiangTianlanRetainedEarningsMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">14,308</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6899" name="us-gaap:NetIncomeLoss" contextRef="From2022-01-01to2022-12-31_clwt_ZhejiangTianlanNonControllingInterestsMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">1,458</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6900" name="us-gaap:NetIncomeLoss" contextRef="From2022-01-01to2022-12-31_clwt_SubsidiaryMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">15,766</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Dividend paid</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7444" name="clwt:DividendPaidAmount" contextRef="From2022-01-01to2022-12-31_clwt_ZhejiangTianlanShareCapitalMember" format="ixt:zerodash" unitRef="CNY" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7445" name="clwt:DividendPaidAmount" contextRef="From2022-01-01to2022-12-31_clwt_ZhejiangTianlanCapitalReserveMember" format="ixt:zerodash" unitRef="CNY" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7446" name="clwt:DividendPaidAmount" contextRef="From2022-01-01to2022-12-31_clwt_ZhejiangTianlanPrcStatutoryReserveMember" format="ixt:zerodash" unitRef="CNY" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_7447" name="clwt:DividendPaidAmount" contextRef="From2022-01-01to2022-12-31_clwt_ZhejiangTianlanRetainedEarningsMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">9,082</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_7448" name="clwt:DividendPaidAmount" contextRef="From2022-01-01to2022-12-31_clwt_ZhejiangTianlanNonControllingInterestsMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">318</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_7443" name="clwt:DividendPaidAmount" contextRef="From2022-01-01to2022-12-31_clwt_SubsidiaryMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">9,400</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Appropriation of reserves</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7450" name="clwt:AppropriationOfReserves" contextRef="From2022-01-01to2022-12-31_clwt_ZhejiangTianlanShareCapitalMember" format="ixt:zerodash" unitRef="CNY" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7451" name="clwt:AppropriationOfReserves" contextRef="From2022-01-01to2022-12-31_clwt_ZhejiangTianlanCapitalReserveMember" format="ixt:zerodash" unitRef="CNY" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7452" name="clwt:AppropriationOfReserves" contextRef="From2022-01-01to2022-12-31_clwt_ZhejiangTianlanPrcStatutoryReserveMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">1,442</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_7453" name="clwt:AppropriationOfReserves" contextRef="From2022-01-01to2022-12-31_clwt_ZhejiangTianlanRetainedEarningsMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">1,442</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7454" name="clwt:AppropriationOfReserves" contextRef="From2022-01-01to2022-12-31_clwt_ZhejiangTianlanNonControllingInterestsMember" format="ixt:zerodash" unitRef="CNY" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7449" name="clwt:AppropriationOfReserves" contextRef="From2022-01-01to2022-12-31_clwt_SubsidiaryMember" format="ixt:zerodash" unitRef="CNY" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Balance at December 31, 2022</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7492" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-12-31_clwt_ZhejiangTianlanShareCapitalMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">82,572</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7494" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-12-31_clwt_ZhejiangTianlanCapitalReserveMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">35,761</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7496" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-12-31_clwt_ZhejiangTianlanPrcStatutoryReserveMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">18,024</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7498" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-12-31_clwt_ZhejiangTianlanRetainedEarningsMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">56,193</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7500" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-12-31_clwt_ZhejiangTianlanNonControllingInterestsMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">6,436</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7490" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2022-12-31_clwt_SubsidiaryMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">198,986</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Net income</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6923" name="us-gaap:NetIncomeLoss" contextRef="From2023-01-01to2023-12-31_clwt_ZhejiangTianlanShareCapitalMember" format="ixt:zerodash" unitRef="CNY" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6924" name="us-gaap:NetIncomeLoss" contextRef="From2023-01-01to2023-12-31_clwt_ZhejiangTianlanCapitalReserveMember" format="ixt:zerodash" unitRef="CNY" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6925" name="us-gaap:NetIncomeLoss" contextRef="From2023-01-01to2023-12-31_clwt_ZhejiangTianlanPrcStatutoryReserveMember" format="ixt:zerodash" unitRef="CNY" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6926" name="us-gaap:NetIncomeLoss" contextRef="From2023-01-01to2023-12-31_clwt_ZhejiangTianlanRetainedEarningsMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">70,171</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6927" name="us-gaap:NetIncomeLoss" contextRef="From2023-01-01to2023-12-31_clwt_ZhejiangTianlanNonControllingInterestsMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">366</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6928" name="us-gaap:NetIncomeLoss" contextRef="From2023-01-01to2023-12-31_clwt_SubsidiaryMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">70,537</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Dividend paid</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7456" name="clwt:DividendPaid" contextRef="From2023-01-01to2023-12-31_clwt_ZhejiangTianlanShareCapitalMember" format="ixt:zerodash" unitRef="CNY" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7457" name="clwt:DividendPaid" contextRef="From2023-01-01to2023-12-31_clwt_ZhejiangTianlanCapitalReserveMember" format="ixt:zerodash" unitRef="CNY" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7458" name="clwt:DividendPaid" contextRef="From2023-01-01to2023-12-31_clwt_ZhejiangTianlanPrcStatutoryReserveMember" format="ixt:zerodash" unitRef="CNY" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_7459" name="clwt:DividendPaid" contextRef="From2023-01-01to2023-12-31_clwt_ZhejiangTianlanRetainedEarningsMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">13,211</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_7460" name="clwt:DividendPaid" contextRef="From2023-01-01to2023-12-31_clwt_ZhejiangTianlanNonControllingInterestsMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">618</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_7455" name="clwt:DividendPaid" contextRef="From2023-01-01to2023-12-31_clwt_SubsidiaryMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">13,829</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Appropriation of reserves</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7462" name="clwt:AppropriationOfReserves" contextRef="From2023-01-01to2023-12-31_clwt_ZhejiangTianlanShareCapitalMember" format="ixt:zerodash" unitRef="CNY" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7463" name="clwt:AppropriationOfReserves" contextRef="From2023-01-01to2023-12-31_clwt_ZhejiangTianlanCapitalReserveMember" format="ixt:zerodash" unitRef="CNY" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7464" name="clwt:AppropriationOfReserves" contextRef="From2023-01-01to2023-12-31_clwt_ZhejiangTianlanPrcStatutoryReserveMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">7,387</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_7465" name="clwt:AppropriationOfReserves" contextRef="From2023-01-01to2023-12-31_clwt_ZhejiangTianlanRetainedEarningsMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">7,387</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7466" name="clwt:AppropriationOfReserves" contextRef="From2023-01-01to2023-12-31_clwt_ZhejiangTianlanNonControllingInterestsMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">301</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7461" name="clwt:AppropriationOfReserves" contextRef="From2023-01-01to2023-12-31_clwt_SubsidiaryMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">301</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Balance at December 31, 2023</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7470" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31_clwt_ZhejiangTianlanShareCapitalMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">82,572</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7472" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31_clwt_ZhejiangTianlanCapitalReserveMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">35,761</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7474" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31_clwt_ZhejiangTianlanPrcStatutoryReserveMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">25,411</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7476" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31_clwt_ZhejiangTianlanRetainedEarningsMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">105,766</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7270" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31_clwt_ZhejiangTianlanNonControllingInterestsMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">6,485</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7468" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2023-12-31_clwt_SubsidiaryMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">255,995</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Net income</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7301" name="us-gaap:NetIncomeLoss" contextRef="From2024-01-01to2024-12-31_clwt_ZhejiangTianlanRetainedEarningsMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">14,767</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_7306" name="us-gaap:NetIncomeLoss" contextRef="From2024-01-01to2024-12-31_clwt_ZhejiangTianlanNonControllingInterestsMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">302</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7508" name="us-gaap:NetIncomeLoss" contextRef="From2024-01-01to2024-12-31_clwt_SubsidiaryMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">14,465</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Dividend paid</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_7477" name="clwt:DividendPaidAmount" contextRef="From2024-01-01to2024-12-31_clwt_ZhejiangTianlanRetainedEarningsMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">12,798</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_7480" name="clwt:DividendPaidAmount" contextRef="From2024-01-01to2024-12-31_clwt_SubsidiaryMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">12,798</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Appropriation of reserves</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7482" name="clwt:AppropriationOfReserves" contextRef="From2024-01-01to2024-12-31_clwt_ZhejiangTianlanPrcStatutoryReserveMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">1,686</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_7478" name="clwt:AppropriationOfReserves" contextRef="From2024-01-01to2024-12-31_clwt_ZhejiangTianlanRetainedEarningsMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">1,686</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7479" name="clwt:AppropriationOfReserves" contextRef="From2024-01-01to2024-12-31_clwt_ZhejiangTianlanNonControllingInterestsMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">980</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7481" name="clwt:AppropriationOfReserves" contextRef="From2024-01-01to2024-12-31_clwt_SubsidiaryMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">980</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Balance at December 31, 2024</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7288" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2024-12-31_clwt_ZhejiangTianlanShareCapitalMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">82,572</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7293" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2024-12-31_clwt_ZhejiangTianlanCapitalReserveMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">35,761</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7298" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2024-12-31_clwt_ZhejiangTianlanPrcStatutoryReserveMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">27,097</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7303" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2024-12-31_clwt_ZhejiangTianlanRetainedEarningsMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">106,049</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7308" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2024-12-31_clwt_ZhejiangTianlanNonControllingInterestsMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">7,163</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7502" name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="AsOf2024-12-31_clwt_SubsidiaryMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">258,642</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The accompanying notes form an integral part of these consolidated financial statements.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-42</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#toc2">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><span class="atag" style="display: inline" id="note1">ZHEJIANG TIANLAN ENVIRONMENTAL PROTECTION TECHNOLOGY COMPANY LIMITED</span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>NOTES TO THE CONSOLIDATED FINANCIAL STATEMENTS </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_6181" name="us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true" continuedAt="cont_a40263"><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>1. </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Organization and business</strong></p></td></tr></tbody></table></ix:nonNumeric><ix:continuation id="cont_a40263"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Zhejiang Tianlan Environmental Protection Technology Company Limited&#160;(the &#8220;Company&#8221;) was incorporated in&#160;Hangzhou City, Zhejiang Province, the People&#8217;s Republic of China (&#8220;PRC&#8221;) on May 18, 2000. The Company is a limited liability company limited by shares with an operating period up to long term.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">The Company provides a comprehensive service for design, general contract, equipment manufacturing, installation, testing and operation management of the treatment of waste gases emitted from various boilers and industrial furnaces of power plants, steel works and chemical plants since 2000.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">The Company has listed its shares on the New Third Board in the PRC since November 17, 2015 and suspended trading from August 15, 2017 and resumed trading on February 2, 2018 and suspended trading from November 24, 2020 and resumed trading on January 6, 2021.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">The Group&#8217;s principal subsidiaries at December 31, 2024 and 2023 are set out below.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_6988" name="clwt:ScheduleOfSignificantSubsidiariesTableTextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true"><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Name of entity </strong></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Ownership interest held by the Group </strong></p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Place of incorporation and principal place of operation </strong></p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Principal activities</strong></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td/><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td/><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:0.1pt">Zhejiang Tianlan Environmental Protection Engineering Company Limited&#160; </p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><ix:nonFraction id="fid_7069" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" contextRef="From2024-01-01to2024-12-31_clwt_ZhejiangTianlanEnvironmentalProtectionEngineeringsMember_clwt_ZhejiangTianlanMember" unitRef="Pure" decimals="INF" scale="-2">100</ix:nonFraction></p></td><td style="width:3%;vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">%*</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><ix:nonFraction id="fid_7070" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" contextRef="From2023-01-01to2023-12-31_clwt_ZhejiangTianlanEnvironmentalProtectionEngineeringsMember_clwt_ZhejiangTianlanMember" unitRef="Pure" decimals="INF" scale="-2">100</ix:nonFraction></p></td><td style="width:3%;vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">%*</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><ix:nonNumeric id="fid_7071" name="clwt:PlaceOfIncorporation" contextRef="From2024-01-01to2024-12-31_clwt_ZhejiangTianlanEnvironmentalProtectionEngineeringsMember_clwt_ZhejiangTianlanMember">PRC</ix:nonNumeric></p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:35%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><ix:nonNumeric id="fid_7072" name="us-gaap:EquityMethodInvestmentDescriptionOfPrincipalActivities" contextRef="From2024-01-01to2024-12-31_clwt_ZhejiangTianlanEnvironmentalProtectionEngineeringsMember_clwt_ZhejiangTianlanMember">Design, general contract, installation and operating management of environmental protection projects</ix:nonNumeric>&#160; </p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:0.1pt">Hangzhou Tianlan Environmental Protection Equipment Company Limited</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><ix:nonFraction id="fid_7073" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" contextRef="From2024-01-01to2024-12-31_clwt_HangzhouTianlanEnvironmenstalProtectionEquipmentCompanyLimitedMember_clwt_ZhejiangTianlanMember" unitRef="Pure" decimals="INF" scale="-2">51</ix:nonFraction></p></td><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">%</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><ix:nonFraction id="fid_7074" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" contextRef="From2023-01-01to2023-12-31_clwt_HangzhouTianlanEnvironmenstalProtectionEquipmentCompanyLimitedMember_clwt_ZhejiangTianlanMember" unitRef="Pure" decimals="INF" scale="-2">51</ix:nonFraction></p></td><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">%</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><ix:nonNumeric id="fid_7075" name="clwt:PlaceOfIncorporation" contextRef="From2024-01-01to2024-12-31_clwt_HangzhouTianlanEnvironmenstalProtectionEquipmentCompanyLimitedMember_clwt_ZhejiangTianlanMember">PRC</ix:nonNumeric></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px"><ix:nonNumeric id="fid_7076" name="us-gaap:EquityMethodInvestmentDescriptionOfPrincipalActivities" contextRef="From2024-01-01to2024-12-31_clwt_HangzhouTianlanEnvironmenstalProtectionEquipmentCompanyLimitedMember_clwt_ZhejiangTianlanMember">Manufacturing and installation services of environmental protection equipment</ix:nonNumeric></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:0.1pt">Hangzhou Tianlan Pure Environmental Protection Technology Company Limited </p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><ix:nonFraction id="fid_7077" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" contextRef="From2024-01-01to2024-12-31_clwt_HangzhouTianlanPureEnvironmentalProtectionTechnologyCompanysLimitedMember_clwt_ZhejiangTianlanMember" unitRef="Pure" decimals="INF" scale="-2">38.25</ix:nonFraction></p></td><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">%</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><ix:nonFraction id="fid_7078" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" contextRef="From2023-01-01to2023-12-31_clwt_HangzhouTianlanPureEnvironmentalProtectionTechnologyCompanysLimitedMember_clwt_ZhejiangTianlanMember" unitRef="Pure" decimals="INF" scale="-2">38.25</ix:nonFraction></p></td><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">%</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><ix:nonNumeric id="fid_7079" name="clwt:PlaceOfIncorporation" contextRef="From2024-01-01to2024-12-31_clwt_HangzhouTianlanPureEnvironmentalProtectionTechnologyCompanysLimitedMember_clwt_ZhejiangTianlanMember">PRC</ix:nonNumeric></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px"><ix:nonNumeric id="fid_7080" name="us-gaap:EquityMethodInvestmentDescriptionOfPrincipalActivities" contextRef="From2024-01-01to2024-12-31_clwt_HangzhouTianlanPureEnvironmentalProtectionTechnologyCompanysLimitedMember_clwt_ZhejiangTianlanMember">Manufacturing of environmental protection equipment</ix:nonNumeric></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:0.1pt">Hangzhou Tiancan Environmental Technology Company Limited </p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><ix:nonFraction id="fid_7081" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" contextRef="From2024-01-01to2024-12-31_clwt_HangzhouTiancanEnvironmentalTechnologyCompanysLimitedMember_clwt_ZhejiangTianlanMember" unitRef="Pure" decimals="INF" scale="-2">80</ix:nonFraction></p></td><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">%</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><ix:nonFraction id="fid_7082" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" contextRef="From2023-01-01to2023-12-31_clwt_HangzhouTiancanEnvironmentalTechnologyCompanysLimitedMember_clwt_ZhejiangTianlanMember" unitRef="Pure" decimals="INF" scale="-2">80</ix:nonFraction></p></td><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">%</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><ix:nonNumeric id="fid_7083" name="clwt:PlaceOfIncorporation" contextRef="From2024-01-01to2024-12-31_clwt_HangzhouTiancanEnvironmentalTechnologyCompanysLimitedMember_clwt_ZhejiangTianlanMember">PRC</ix:nonNumeric></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px"><ix:nonNumeric id="fid_7084" name="us-gaap:EquityMethodInvestmentDescriptionOfPrincipalActivities" contextRef="From2024-01-01to2024-12-31_clwt_HangzhouTiancanEnvironmentalTechnologyCompanysLimitedMember_clwt_ZhejiangTianlanMember">Manufacturing of environmental protection equipment</ix:nonNumeric></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:0.1pt">Hangzhou Zhongyi Ecological and Environmental Consulting Company Limited</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><ix:nonFraction id="fid_7085" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" contextRef="From2024-01-01to2024-12-31_clwt_ZhejiangTianlanMember_clwt_HangzhouZhongyiEcologicalAndEnvironmentalConsultingCompanyLimitedMember" unitRef="Pure" decimals="INF" scale="-2">40.1</ix:nonFraction></p></td><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;%**</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><ix:nonFraction id="fid_7096" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" contextRef="From2023-01-01to2023-12-31_clwt_ZhejiangTianlanMember_clwt_HangzhouZhongyiEcologicalAndEnvironmentalConsultingCompanyLimitedMember" unitRef="Pure" decimals="INF" scale="-2">40.1</ix:nonFraction></p></td><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;%**</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><ix:nonNumeric id="fid_7086" name="clwt:PlaceOfIncorporation" contextRef="From2024-01-01to2024-12-31_clwt_ZhejiangTianlanMember_clwt_HangzhouZhongyiEcologicalAndEnvironmentalConsultingCompanyLimitedMember">PRC</ix:nonNumeric></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px"><ix:nonNumeric id="fid_7087" name="us-gaap:EquityMethodInvestmentDescriptionOfPrincipalActivities" contextRef="From2024-01-01to2024-12-31_clwt_ZhejiangTianlanMember_clwt_HangzhouZhongyiEcologicalAndEnvironmentalConsultingCompanyLimitedMember">Consultation services of environmental protection projects</ix:nonNumeric></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:0.1pt">Xuancheng Lanjing Environmental Protection Equipment Co., Ltd</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;<ix:nonFraction id="fid_7099" name="us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" contextRef="From2024-01-01to2024-12-31_clwt_ZhejiangTianlanMember_clwt_XuanchengLanjingEnvironmentalProtectionEquipmentCoLtdMember" unitRef="Pure" decimals="INF" scale="-2">19.51</ix:nonFraction> </p></td><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">%</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">-</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><ix:nonNumeric id="fid_7098" name="clwt:PlaceOfIncorporation" contextRef="From2024-01-01to2024-12-31_clwt_ZhejiangTianlanMember_clwt_XuanchengLanjingEnvironmentalProtectionEquipmentCoLtdMember">PRC</ix:nonNumeric></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px"><ix:nonNumeric id="fid_7097" name="us-gaap:EquityMethodInvestmentDescriptionOfPrincipalActivities" contextRef="From2024-01-01to2024-12-31_clwt_ZhejiangTianlanMember_clwt_XuanchengLanjingEnvironmentalProtectionEquipmentCoLtdMember">Manufacturing and installation services of environmental protection equipment</ix:nonNumeric></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:nonNumeric><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">* This company was acquired in August 2020. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">** This company was acquired in April 2022.</p></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-43</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#toc2">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>ZHEJIANG TIANLAN ENVIRONMENTAL PROTECTION TECHNOLOGY COMPANY LIMITED</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>NOTES TO THE CONSOLIDATED FINANCIAL STATEMENTS (CONT&#8217;D)</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_6182" name="us-gaap:SignificantAccountingPoliciesTextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true" continuedAt="cont_dd3f38"><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>2. </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Summary of significant accounting policies </strong></p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>(a) </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Basis of presentation</strong></p></td></tr></tbody></table></ix:nonNumeric><ix:continuation id="cont_dd3f38" continuedAt="cont_2ade06"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_6837" name="us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">The accompanying consolidated financial statements are presented in accordance with accounting principles generally accepted in the United States of America (&#8220;GAAP&#8221;).</p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>(b) </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Basis of consolidation</strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_6207" name="us-gaap:ConsolidationPolicyTextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">The accompanying consolidated financial statements include the results of operations of the Company and its subsidiaries. Significant intercompany transactions and balances have been eliminated.</p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>(c) </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Subsidiaries</strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_6208" name="us-gaap:ConsolidationSubsidiariesOrOtherInvestmentsConsolidatedEntitiesPolicy" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Subsidiaries are all entities over which the Group has control; has the power to appoint or remove the majority of the members of the board of directors; has the right to cast a majority of votes at the meeting of the board of directors or to govern the financial and operating policies of the investee under a statute or agreement among the shareholders or equity holders.</p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>(d) </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Revenue recognition</strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_6209" name="us-gaap:RevenueRecognitionPolicyTextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true" continuedAt="cont_0ff634"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Our revenue is derived from long-term contracts for customers, as well as short-term contracts for customers. Accounting treatment for these contracts in accordance with Accounting Standards Update (&#8220;ASU&#8221;) 2014-09 (Accounting Standards Codification (&#8220;ASC&#8221;) Topic 606, Revenue from Contracts with Customers), is as follows:</p></ix:nonNumeric></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-44</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#toc2">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>ZHEJIANG TIANLAN ENVIRONMENTAL PROTECTION TECHNOLOGY COMPANY LIMITED</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>NOTES TO THE CONSOLIDATED FINANCIAL STATEMENTS (CONT&#8217;D)</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>2. </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Summary of significant accounting policies (Cont&#8217;d)</strong></p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>(d) </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Revenue recognition (Cont&#8217;d)</strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:continuation id="cont_0ff634" continuedAt="cont_dd4c60"><ix:continuation id="cont_2ade06" continuedAt="cont_85f11e"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"><span style="text-decoration:underline">Performance obligations satisfied over time (Design, installation and operation management services)</span></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Recognition of performance obligations</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">A performance obligation is a promise in a contract to transfer a distinct good or service to the customer, and is the unit of account in the new revenue standard. The contract transaction price is allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied. Engineering projects typically span between 12 to 36 months. The majority of our contracts have a single performance obligation as the promise to transfer the individual goods or services is not separately identifiable from other promises in the contracts and, therefore, not distinct. Some contracts have multiple performance obligations, most commonly due to the contract covering multiple phases of the project life cycle (design, installation and operation management services).</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Revenues are recognized as our obligations are satisfied over time, using the ratio of project costs incurred to estimated total costs for each contract because of the continuous transfer of control to the customer as all of the work is performed at the customer&#8217;s site and, therefore, the customer controls the asset as it is being installed. This continuous transfer of control to the customer is further supported by clauses in the contract that allow the customer to unilaterally terminate the contract for convenience, pay the Group for costs incurred plus a reasonable profit and take control of any work in process. This cost-to-cost measure is used because management considers it to be the best available measure of progress on these contracts. Contract costs include all direct material, labor, subcontract and other costs.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Items excluded from cost-to-cost</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Pre-contract costs are generally not material and are charged to expense as incurred, but in certain cases pre-contract recognition may be deferred if specific probability criteria are met.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Variable consideration</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Contract modifications through change orders, claims and incentives are routine in the performance of the Group&#8217;s contracts to account for changes in the contract specifications or requirements. In most instances, contract modifications are not distinct from the existing contract due to the significant integration of services provided in the contract and are accounted for as a modification of the existing contract and performance obligation. Either the Group or its customers may initiate change orders, which may include changes in specifications or designs, manner of performance, facilities, equipment, materials, sites and period of completion of the work. Change orders that are unapproved as to both price and scope are evaluated as claims. The Group considers claims to be amounts in excess of approved contract prices that the Group seeks to collect from its customers or others for customer-caused delays, errors in specifications and designs, contract terminations, change orders that are either in dispute or are unapproved as to both scope and price, or other causes of unanticipated additional contract costs.</p></ix:continuation></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-45</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#toc2">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>ZHEJIANG TIANLAN ENVIRONMENTAL PROTECTION TECHNOLOGY COMPANY LIMITED</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>NOTES TO THE CONSOLIDATED FINANCIAL STATEMENTS (CONT&#8217;D)</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>2. </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Summary of significant accounting policies (Cont&#8217;d) </strong></p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>(d) </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Revenue recognition (Cont&#8217;d)</strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:continuation id="cont_85f11e" continuedAt="cont_62debb"><ix:continuation id="cont_dd4c60"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The Group estimates variable consideration for a performance obligation at the most likely amount to which the Group expects to be entitled (or the most likely amount the Group expects to incur in the case of liquidated damages), utilizing estimation methods that best predict the amount of consideration to which the Group will be entitled (or will incur in the case of liquidated damages). The Group includes variable consideration in the estimated transaction price to the extent it is probable that a significant reversal of cumulative revenue recognized will not occur or when the uncertainty associated with the variable consideration is resolved. The Group&#8217;s estimates of variable consideration and determination of whether to include estimated amounts in transaction price are based largely on an assessment of its anticipated performance and all information (historical, current and forecasted) that is reasonably available to the Group.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The effect of variable consideration on the transaction price of a performance obligation is recognized as an adjustment to revenue on a cumulative catch-up basis. To the extent unapproved change orders and claims reflected in transaction price (or excluded from transaction price in the case of liquidated damages) are not resolved in the Group&#8217;s favor, or to the extent incentives reflected in transaction price are not earned, there could be reductions in, or reversals of, previously recognized revenue.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>(e) </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Research and development costs</strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_6210" name="us-gaap:ResearchAndDevelopmentExpensePolicy" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Research and development costs (&#8220;R&amp;D&#8221; costs) are expensed as incurred. The R&amp;D costs amounted to approximately RMB<ix:nonFraction id="fid_7134" name="us-gaap:ResearchAndDevelopmentExpense" contextRef="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="0">27,371,000</ix:nonFraction>, RMB<ix:nonFraction id="fid_7132" name="us-gaap:ResearchAndDevelopmentExpense" contextRef="From2023-01-01to2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="0">20,452,000</ix:nonFraction> and RMB<ix:nonFraction id="fid_7133" name="us-gaap:ResearchAndDevelopmentExpense" contextRef="From2022-01-01to2022-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="0">29,115,000</ix:nonFraction> for the years ended December 31, 2024, 2023 and 2022 respectively and were included in &#8220;Selling and administrative expenses&#8221; in the Group&#8217;s consolidated statements of operations.</p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>(f) </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Income tax </strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_6211" name="us-gaap:IncomeTaxPolicyTextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">The Group follows the liability method of accounting for income tax. Under this method, deferred tax assets and liabilities are recorded for future tax consequences of temporary differences between the financial reporting and tax bases of assets and liabilities, and are measured using the enacted tax rates and laws that are expected to be in effect when the underlying assets or liabilities are recovered or settled. The Group also evaluates whether the recorded deferred tax assets and valuation allowances can be realized and, when necessary, reduces the amounts to what is expected to be realized.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">The accounting guidance on accounting for uncertainty in income taxes also addresses derecognition, classification, interest and penalties on income taxes, and accounting in interim periods. The Group does not believe it has any uncertain tax positions through the periods ended December 31, 2023, 2022 and 2021 respectively which would have a material impact on the Group&#8217;s consolidated financial statements.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The Group files tax returns in the PRC. The tax returns for 2023, 2022 and 2021 are subject to examination by the PRC taxing authorities, commencing with the first year filed.</p></ix:nonNumeric></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-46</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#toc2">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>ZHEJIANG TIANLAN ENVIRONMENTAL PROTECTION TECHNOLOGY COMPANY LIMITED</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>NOTES TO THE CONSOLIDATED FINANCIAL STATEMENTS (CONT&#8217;D)</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>2. </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Summary of significant accounting policies (Cont&#8217;d) </strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:continuation id="cont_62debb" continuedAt="cont_40ff6a"><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>(g) </strong></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Cash and cash equivalents</strong></p></td></tr></tbody></table></ix:continuation><ix:continuation id="cont_40ff6a" continuedAt="cont_5ebe2b"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_6212" name="us-gaap:CashAndCashEquivalentsPolicyTextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Cash and cash equivalents consist of bank deposits with original maturities of three months or less, all of which are unrestricted as to withdrawal and uninsured. There were no cash equivalents as of December 31, 2024 and 2023.</p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>(h) </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Accounts receivable and allowance for doubtful accounts </strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_6213" name="us-gaap:ReceivablesPolicyTextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The Group does not charge interest to its customers and carries its customer receivables at their face amounts, less an allowance for doubtful accounts. As is common practice in the industry, the Group classifies all accounts receivable as current assets.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The Group grants trade credit, on a non-collateralized basis, to its customers and is subject to potential credit risk related to changes in business and overall economic activity. The Group analyzes specific accounts receivable balances, historical bad debts, customer credit-worthiness, current economic trends and changes in customer payment terms when evaluating the adequacy of the allowance for doubtful accounts. In the event that a customer balance is deemed to be uncollectible, the account balance is written-off against the allowance for doubtful accounts.</p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>(i) </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Classification of contract assets, net and liabilities </strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_6838" name="clwt:ClassificationOfContractAssetsNetAndLiabilitiesPolicyTextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">For revenue recognized associated with its contracts with customers over time, for which the Group has an enforceable right to receive compensation. Many of our contracts contain specific provisions that determine when the Group can bill for its work performed under these contracts.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Any revenue earned on a contract that has not yet been billed to the customer is recorded as a contract asset on the Group&#8217;s consolidated balance sheets.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The Group&#8217;s consolidated balance sheets present contract liabilities that contain deferred revenue that represent any costs incurred on contracts in process for which revenue has not yet been recognized.</p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>(j) </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Inventories</strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_6215" name="us-gaap:InventoryPolicyTextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Inventories are measured using the weighted average method and are stated at the lower of cost or net realizable value. Cost of finished goods comprise direct material, direct production costs and an allocated portion of production overhead costs based on normal operating capacity.</p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>(k) </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Property, plant and equipment and land use right, net</strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_6839" name="us-gaap:PropertyPlantAndEquipmentPolicyTextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true" continuedAt="cont_f59004"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Property, plant and equipment is carried at cost. Major modifications or refurbishments which extend the useful life of the assets are capitalized and depreciated over the adjusted remaining useful life of the assets. Upon retirement or disposition of property, plant and equipment, the cost and related accumulated depreciation are removed and any resulting gain or loss is recognized in consolidated income from operations. The cost of maintenance and repairs is charged to expense as incurred. Property, plant and equipment is reviewed for impairment and tested for recoverability whenever events or changes in circumstances indicate that the carrying amount may not be recoverable. If the carrying value of property, plant and equipment exceeds its fair value, an impairment charge would be recorded in the consolidated statement of operations.</p></ix:nonNumeric></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-47</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#toc2">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>ZHEJIANG TIANLAN ENVIRONMENTAL PROTECTION TECHNOLOGY COMPANY LIMITED</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>NOTES TO THE CONSOLIDATED FINANCIAL STATEMENTS (CONT&#8217;D)</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>2. </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Summary of significant accounting policies (Cont&#8217;d) </strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>(k)</strong></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Property, plant and equipment and land use right, net (Cont&#8217;d)</strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:continuation id="cont_5ebe2b" continuedAt="cont_8a0551"><ix:continuation id="cont_f59004"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Land in the PRC is owned by the PRC government. The government in the PRC, according to PRC Law, may sell the right to use the land for a specific period of time. Thus, all of the Group&#8217;s land purchases in the PRC are considered to be leasehold land and are classified as land use right.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Depreciation of property, plant and equipment and amortization of land use right are computed using the straight-line method over the assets&#8217; estimated useful lives as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_7011" name="clwt:PropertyPlantAndEquipmentUsefulLifeTableTextblock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true"><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px;background-color:#ffffff"><td style="width:4%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:30%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Land use right</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><ix:nonNumeric id="fid_7110" name="clwt:PublicUtilitiesPropertyPlantAndEquipmentLeaseholdImprovementsFuelUsefulLife" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember_clwt_LandUseRightMember">Over terms of the leases</ix:nonNumeric></p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Buildings and leasehold improvements</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><ix:nonNumeric id="fid_7111" name="clwt:PublicUtilitiesPropertyPlantAndEquipmentLeaseholdImprovementsFuelUsefulLife" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember_us-gaap_BuildingAndBuildingImprovementsMember">11 to 50 years, with 5% residual value</ix:nonNumeric></p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Furniture, fixtures and office equipment</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><ix:nonNumeric id="fid_7112" name="clwt:PublicUtilitiesPropertyPlantAndEquipmentLeaseholdImprovementsFuelUsefulLife" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember_us-gaap_FurnitureAndFixturesMember">5 years, with 5% residual value</ix:nonNumeric></p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Motor vehicles</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><ix:nonNumeric id="fid_7113" name="clwt:PublicUtilitiesPropertyPlantAndEquipmentLeaseholdImprovementsFuelUsefulLife" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember_us-gaap_VehiclesMember">5 years, with 5% residual value</ix:nonNumeric></p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Plant and machineries</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><ix:nonNumeric id="fid_7114" name="clwt:PublicUtilitiesPropertyPlantAndEquipmentLeaseholdImprovementsFuelUsefulLife" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember_clwt_PlantAndMachineriesMember">5 to 10 years, with 5% residual value</ix:nonNumeric></p></td></tr></tbody></table></ix:nonNumeric></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>(l) </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Intangible assets, net</strong></p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><ix:nonNumeric id="fid_6846" name="us-gaap:IntangibleAssetsFiniteLivedPolicy" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Group is currently amortizing its acquired intangible assets, consisted of patents and others, with finite-lived over periods generally ranging between three to twenty years.</p></ix:nonNumeric></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>(m) </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Impairment of long lived assets</strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_6217" name="us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Long-lived assets such as property, plant and equipment and intangible assets with finite lives are evaluated for impairment whenever events or changes in circumstances indicate that the carrying value of an asset may not be fully recoverable or that the useful life is shorter than the Group had originally estimated. When these events occur, the Group evaluates the impairment for the long-lived assets by comparing the carrying value of the assets to an estimate of future undiscounted cash flows expected to be generated from the use of the assets and their eventual disposition. If the sum of the expected future undiscounted cash flows is less than the carrying value of the assets, the Group recognizes an impairment loss based on the excess of the carrying value of the assets over the fair value of the assets. The impairment of long-lived assets amounted to approximately RMB Nil, RMB Nil and RMB Nil for the years ended December 31, 2024, 2023 and 2022 respectively and were included in &#8220;Selling and administrative expenses&#8221; in the Group&#8217;s consolidated statements of operations.</p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>(n) </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Government grant income</strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_6840" name="clwt:GovernmentGrantIncomePolicyTextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Government grant income consists of receipt of funds to subsidize the investment cost of technical development in China. No present or future obligation arises from the receipt of such amount.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Government grants are recognized in the consolidated balance sheet initially when there is reasonable assurance that they will be received and that the Group will comply with the conditions attaching to them. Grants that compensate the Group for expenses incurred are recognized as income in the consolidated statement of operations on a systematic basis in the same periods in which the expenses are incurred. Grants that compensate the Group for the cost of an asset are deducted from the carrying amount of the asset and consequently are effectively recognized in the consolidated statements of operations over the useful life of the asset by way of reduced depreciation expenses.</p></ix:nonNumeric></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-48</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#toc2">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>ZHEJIANG TIANLAN ENVIRONMENTAL PROTECTION TECHNOLOGY COMPANY LIMITED</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>NOTES TO THE CONSOLIDATED FINANCIAL STATEMENTS (CONT&#8217;D)</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>2. </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Summary of significant accounting policies (Cont&#8217;d) </strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:continuation id="cont_8a0551" continuedAt="cont_cd2596"><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>(o) </strong></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Leases arrangements </strong></p></td></tr></tbody></table></ix:continuation><ix:continuation id="cont_cd2596" continuedAt="cont_27cd7a"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_6219" name="us-gaap:LesseeLeasesPolicyTextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 34.65pt; text-align:justify;">The Group adopted ASU No. 2016-02, Leases (Topic 842). The Group leases certain equipment under finance leases. The economic substance of the leases is a financing transaction for acquisition of the equipment. Accordingly, the right-of-use assets for these leases are included on the Group&#8217;s consolidated balance sheets in property, plant and equipment, net of accumulated depreciation, amortization and impairment losses, with a corresponding amount recorded in current portion of long-term finance lease obligations. The finance lease assets are amortized over the life of the lease or, if shorter, the life of the leased asset, on a straight-line basis and included in depreciation expense. The financing component associated with finance lease obligations is included in interest expense. Generally, for the Group&#8217;s finance leases an implicit rate to calculate present value is provided in the lease agreement, however if a rate in not provided the Group determines this rate by estimating the Group&#8217;s incremental borrowing rate, utilizing the borrowing rates associated with the Group&#8217;s various debt instruments.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 34.65pt; text-align:justify;">The Group determines if an arrangement is a lease at inception. Lease liabilities are the Group&#8217;s obligation to make lease payments arising from a lease and are measured on a discounted basis.</p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>(p) </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Share capital</strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_6841" name="clwt:ShareCapitalPolicyTextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 34.65pt; text-align:justify;">Paid in capital refers to the registered capital paid up by the shareholders of the Company.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 34.65pt; text-align:justify;">At December 31, 2024, there were <ix:nonFraction id="fid_7127" name="us-gaap:CommonStockSharesIssued" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">82,572,000</ix:nonFraction> shares (2023: <ix:nonFraction id="fid_7128" name="us-gaap:CommonStockSharesIssued" contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">82,572,000</ix:nonFraction> shares) issued.</p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>(q) </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Use of estimates</strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_6221" name="us-gaap:UseOfEstimates" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 34.65pt; text-align:justify;">The preparation of the accompanying consolidated financial statements in conformity with GAAP requires management to make estimates and judgments that affect the reported amounts of assets and liabilities, the disclosure of contingent assets and liabilities at the date of the consolidated financial statements and the reported amounts of revenues and expenses during the reporting period. Certain accounting estimates of the Group require a higher degree of judgment than others in their application. These include the recognition of revenue and earnings from contracts over time, contract assets, net and contract liabilities. Management continually evaluates all of its estimates and judgments based on available information and experience; however, actual results could differ from these estimates.</p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>(r) </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Related parties</strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_6222" name="clwt:RelatedPartiesPolicy" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 34.65pt; text-align:justify;">Entities are considered to be related to the Group if the parties, directly or indirectly, through one or more intermediaries, control, are controlled by, or are under common control with the Group. Related parties also include principal owners of the Group, its management, members of the immediate families of principal owners of the Group and its management and other parties with which the Group may deal if one party controls or can significantly influence the management or operating policies of the other to an extent that one of the transacting parties might be prevented from fully pursuing its own separate interests. A party which can significantly influence the management or operating policies of the transacting parties or if it has an ownership interest in one of the transacting parties and can significantly influence the other to an extent that one or more of the transacting parties might be prevented from fully pursuing its own separate interests is also a related party.</p></ix:nonNumeric></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-49</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#toc2">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>ZHEJIANG TIANLAN ENVIRONMENTAL PROTECTION TECHNOLOGY COMPANY LIMITED</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>NOTES TO THE CONSOLIDATED FINANCIAL STATEMENTS (CONT&#8217;D)</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>2. </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Summary of significant accounting policies (Cont&#8217;d) </strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:continuation id="cont_27cd7a" continuedAt="cont_2f362c"><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>(s) </strong></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Net income per ordinary share</strong></p></td></tr></tbody></table></ix:continuation><ix:continuation id="cont_2f362c" continuedAt="cont_4c0b9a"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_6842" name="clwt:NetIncomePerOrdinarySharePolicyTextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">The Group computes net income per ordinary share using the treasury stock method. Under the treasury stock method, basic earnings per share attributable to Zhejiang Tianlan Environmental Protection Technology Company Limited are computed by dividing net income attributable to Zhejiang Tianlan Environmental Protection Technology Company Limited by the weighted average number of ordinary shares outstanding during the period.</p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>(t) </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Warranties</strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_6224" name="us-gaap:ExtendedProductWarrantyPolicy" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">The suppliers of the Group offer a standard one-year warranty to end customer of the Group. The Group only provides labour service to repair or replace parts. The Group does not maintain a general warranty reserve because historically labour costs for such repair or replacement have been de minimis.</p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>(u) </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Shipping and handling costs</strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_6843" name="clwt:ShippingAndHandlingCostsPolicyTextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Amounts billed to customers related to shipping and handling are classified as revenues, and the Group&#8217;s shipping and handling costs are included in cost of revenues.</p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>(v) </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Finance costs</strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_6226" name="clwt:FinanceCostsPolicyTextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Interest relating to loans repaid is expensed in the period the repayment occurs.</p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>(w) </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Concentrations </strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_6227" name="us-gaap:ConcentrationRiskCreditRisk" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Financial instruments that potentially subject the Group to a concentration of credit risk consist principally of cash and cash equivalents and accounts receivable, net. The Group maintains substantially all of its cash and cash equivalent balances with large financial institutions which are believed to be high quality institutions.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">The Group is subject to a concentration of risk because it derives a significant portion of its revenues from a few customers. The Group&#8217;s top five customers accounted for approximately <ix:nonFraction id="fid_7138" name="clwt:ConcentrationPercentage" contextRef="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember_us-gaap_SalesRevenueNetMember" unitRef="Pure" decimals="INF" scale="-2">42</ix:nonFraction>%, <ix:nonFraction id="fid_7136" name="clwt:ConcentrationPercentage" contextRef="From2023-01-01to2023-12-31_srt_SubsidiaryIssuerMember_us-gaap_SalesRevenueNetMember" unitRef="Pure" decimals="INF" scale="-2">38</ix:nonFraction>%, and <ix:nonFraction id="fid_7137" name="clwt:ConcentrationPercentage" contextRef="From2022-01-01to2022-12-31_srt_SubsidiaryIssuerMember_us-gaap_SalesRevenueNetMember" unitRef="Pure" decimals="INF" scale="-2">35</ix:nonFraction>% of consolidated revenues for the years ended December 31, 2024, 2023 and 2022, respectively. For the years ended December 31, 2024, 2023 and 2022, one customer accounted for <ix:nonFraction id="fid_7141" name="clwt:ConcentrationPercentage" contextRef="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember_us-gaap_SalesRevenueNetMember_clwt_CustomerOneMember" unitRef="Pure" decimals="INF" scale="-2">16</ix:nonFraction>%, <ix:nonFraction id="fid_7139" name="clwt:ConcentrationPercentage" contextRef="From2023-01-01to2023-12-31_srt_SubsidiaryIssuerMember_us-gaap_SalesRevenueNetMember_clwt_CustomerOneMember" unitRef="Pure" decimals="INF" scale="-2">22</ix:nonFraction>% and <ix:nonFraction id="fid_7140" name="clwt:ConcentrationPercentage" contextRef="From2022-01-01to2022-12-31_srt_SubsidiaryIssuerMember_us-gaap_SalesRevenueNetMember_clwt_CustomerOneMember" unitRef="Pure" decimals="INF" scale="-2">14</ix:nonFraction>% of annual revenues, respectively.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">The Group grants trade credit under contractual payment terms, generally without collateral, to its customers, which include high credit quality electric utilities, general contractors, owners and managers of industrial properties.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Consequently, the Group is subject to potential credit risk related to changes in business and economic factors. At December 31, 2024 and 2023, none of the Group&#8217;s customers individually exceeded 10.0% of accounts receivable. The Group believes the terms and conditions in its contracts, billing and collection policies are adequate to minimize the potential credit risk.</p></ix:nonNumeric></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-50</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#toc2">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>ZHEJIANG TIANLAN ENVIRONMENTAL PROTECTION TECHNOLOGY COMPANY LIMITED</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>NOTES TO THE CONSOLIDATED FINANCIAL STATEMENTS (CONT&#8217;D)</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>2. </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Summary of significant accounting policies (Cont&#8217;d) </strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:continuation id="cont_4c0b9a" continuedAt="cont_cd21e2"><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>(x)</strong></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Statutory reserve</strong></p></td></tr></tbody></table></ix:continuation><ix:continuation id="cont_cd21e2" continuedAt="cont_d79271"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_6228" name="clwt:StatutoryReservesPolicyTextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">The Group is required to make appropriation to reserve, comprising the PRC statutory reserve, based on after-tax net income determined with generally accepted accounting principles of the PRC (&#8220;PRC GAAP&#8221;).</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Appropriations to the PRC statutory reserve are required to be at least 10% of the after tax net income determined in accordance with PRC GAAP until the reserve is equal to 50% of the entities&#8217; registered capital.</p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>(y) </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Fair value measurements </strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_6229" name="us-gaap:FairValueMeasurementPolicyPolicyTextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;">ASC 820 provides guidance on how to measure fair value for financial reporting purpose. The Group uses the three-tier hierarchy of fair value measurement, which prioritizes the inputs used in measuring fair value based upon their degree of availability in external active&#160;&#160;&#160; markets. These tiers include: Level 1 (the highest priority), defined as observable inputs, such as quoted prices in active markets; Level 2, defined as inputs other than quoted prices in active markets that are either directly or indirectly observable; and Level 3 (the lowest priority), defined as unobservable inputs in which little or no market data exists, therefore requiring an entity to develop its own assumptions.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;">As of December 31, 2024 and 2023, the Group determined that the carrying values of cash, and cash equivalents, accounts receivable, net, prepayments and other current assets, contract assets, bank borrowings, accounts payable, other payables and accrued expenses and contract liabilities approximate their fair values because of the short-term nature of these instruments.</p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>(z) </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Short-term and long-term investments </strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_6844" name="clwt:ShortTermAndLongTermInvestmentsPolicyTextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">The Group has elected to apply the measurement alternative to equity securities without readily determinable fair values. As such, the Group&#8217;s non-marketable equity securities are measured at cost, less any impairment, and are adjusted for changes in fair value resulting from observable transactions for identical or similar investments of the investee.</p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>(aa) </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Recent accounting pronouncements</strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_6231" name="us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true" continuedAt="cont_18db8e"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Changes to GAAP are typically established by the Financial Accounting Standards Board (&#8220;FASB&#8221;) in the form of accounting standards updates (&#8220;ASUs&#8221;) to the FASB&#8217;s ASC. The Group considers the applicability and impact of all ASUs. The Group, based on its assessment, determined that any recently issued or proposed ASUs not listed below are either not applicable to the Group or may have minimal impact on its consolidated financial statements.</p></ix:nonNumeric></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-51</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#toc2">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>ZHEJIANG TIANLAN ENVIRONMENTAL PROTECTION TECHNOLOGY COMPANY LIMITED</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>NOTES TO THE CONSOLIDATED FINANCIAL STATEMENTS (CONT&#8217;D)</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>2. </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Summary of significant accounting policies (Cont&#8217;d) </strong></p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>(aa) </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Recent accounting pronouncements (Cont&#8217;d) </strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:continuation id="cont_18db8e"><ix:continuation id="cont_d79271" continuedAt="cont_14d0c2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"><span style="text-decoration:underline">Recently adopted accounting pronouncements</span></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">In June 2016, the FASB issued ASU 2016-13, &#8220;Financial Instruments&#8212;Credit Losses (Topic 326), Measurement of Credit Losses on Financial Instruments&#8221;. The new standard requires the measurement and recognition of expected credit losses using the current expected credit loss model for financial assets held at amortized cost, which includes the Group&#8217;s accounts receivable, contract assets and non-current assets. It replaces the existing incurred loss impairment model with an expected loss methodology. The recorded credit losses are adjusted each period for changes in expected lifetime credit losses. The standard requires a cumulative effect adjustment to the consolidated balance sheet as of the beginning of the first reporting period in which the guidance is effective. ASC 326, Financial Instruments &#8212; Credit Losses is effective for public companies for annual reporting periods, and interim periods within those years beginning after December 15, 2019. For all other entities, it is effective for fiscal years beginning after December 15, 2022, including interim periods within those fiscal years. The standard is effective for the Group from January 1, 2023. The Group is in the process determining the impact of the adoption of this standard on its consolidated financial statements.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">In December 2019, the FASB issued ASU 2019-12, &#8220;Income Taxes (Topic 740): Simplifying the Accounting for Income Taxes&#8221;, which simplifies the accounting for income taxes. This guidance became effective for the first quarter of 2021 on a prospective basis. The implementation of ASU 2019-12 in the year ended December 31, 2021, did not have a material impact on the Group&#8217;s consolidated financial statements.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">In October 2021, the FASB issued ASU 2021-08, &#8220;Business Combinations (Topic 805)&#8221;. ASU 2021-08 creates an exception to the general recognition and measurement principle for contract assets and contract liabilities from contracts with customers acquired in a business combination. Under this exception, an acquirer applies ASC 606 to recognize and measure contract assets and contract liabilities on the acquisition date. ASC 805 generally requires the acquirer in a business combination to recognize and measure the assets it acquires and the liabilities it assumes at fair value on the acquisition date. The ASU 2021-08 will become effective for fiscal years beginning after December 15, 2022. The adoption of this ASU is not expected to have a material impact on the Group&#8217;s consolidated financial statements.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"><span style="text-decoration:underline">Recently issued accounting pronouncements not yet adopted</span></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">In December 2022, the FASB issued ASU 2022-06, &#8220;Reference Rate Reform (Topic 848): Deferral of the Sunset Date of Topic 848&#8221;. This ASU defers the sunset date of Topic 848, which provides relief to entities affected by reference rate reform. The ASU defers the sunset date of Topic 848 from December 31, 2022, to December 31, 2025. The standard is effective immediately and the Group adopted the standard in December 2022 with no financial impact. The Group is currently assessing the impact ASU 2020-04, for which this ASU 2022-06 relates, will have on its consolidated financial statements.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">The Group has reviewed all recently issued, but not yet effective, accounting pronouncements and does not believe the future adoption of any such pronouncements may be expected to cause a material impact on its financial condition or the results of its operations.</p></ix:continuation></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-52</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#toc2">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>ZHEJIANG TIANLAN ENVIRONMENTAL PROTECTION TECHNOLOGY COMPANY LIMITED</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>NOTES TO THE CONSOLIDATED FINANCIAL STATEMENTS (CONT&#8217;D)</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>2. </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Summary of significant accounting policies (Cont&#8217;d) </strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:continuation id="cont_14d0c2" continuedAt="cont_bed5c8"><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>(ab)</strong></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Non-controlling interests </strong></p></td></tr></tbody></table></ix:continuation><ix:continuation id="cont_bed5c8"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_6845" name="clwt:NonControllingInterestsPolicyTextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">For entities that are consolidated, but not 100% owned, a portion of the income or loss and equity is allocated to owners other than the Group. The aggregate of the income or loss and corresponding equity that is not owned by the Group is included within non-controlling interests in the consolidated financial statements.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Non-controlling interests is presented as a separate component of equity in the consolidated balance sheets. Net income includes the net income attributable to the holders of non-controlling interests in the consolidated statements of operations and comprehensive income / (loss). Profits and losses are allocated to non-controlling interests in proportion to their relative ownership interests regardless of their basis.</p></ix:nonNumeric></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_6183" name="us-gaap:LeasesOfLesseeDisclosureTextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true" continuedAt="cont_a161fb"><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>3. </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Lease obligations </strong></p></td></tr></tbody></table></ix:nonNumeric><ix:continuation id="cont_a161fb" continuedAt="cont_864088"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">The Group has operating leases primarily for office space. The Group&#8217;s lease have remaining lease terms of several months to 33 months.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">The components of lease expense are as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_6989" name="us-gaap:LeaseCostTableTextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Years ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Operating lease cost:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Amortization of right-of-use assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7545" name="us-gaap:FinanceLeaseInterestExpense" contextRef="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">141</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6240" name="us-gaap:FinanceLeaseRightOfUseAssetAmortization" contextRef="From2023-01-01to2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:zerodash" unitRef="CNY" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Interest on lease liabilities included under cost of revenue and selling and administrative expenses</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7546" name="us-gaap:FinanceLeaseRightOfUseAssetAmortization" contextRef="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">16</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6238" name="us-gaap:FinanceLeaseInterestExpense" contextRef="From2023-01-01to2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:zerodash" unitRef="CNY" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total operating lease cost</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7547" name="clwt:TotalOperatingLeaseCost" contextRef="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">157</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6242" name="clwt:TotalOperatingLeaseCost" contextRef="From2023-01-01to2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:zerodash" unitRef="CNY" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Supplemental consolidated cash flow information related to leases is as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_7507" name="clwt:ScheduleOfSupplementalConsolidatedCashFlowInformationRelatedToLeasesTableTextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Years ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Cash paid for amounts included in the measurement of lease liabilities:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Finance cash flows from operating leases</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7548" name="clwt:FinanceLeasePayments" contextRef="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">440</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6248" name="clwt:FinanceLeasePayments" contextRef="From2023-01-01to2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:zerodash" unitRef="CNY" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Right-of-use assets obtained in exchange for lease obligations (noncash):</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Operating leases</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7549" name="us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" contextRef="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6250" name="us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" contextRef="From2023-01-01to2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:zerodash" unitRef="CNY" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:nonNumeric></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-53</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#toc2">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>ZHEJIANG TIANLAN ENVIRONMENTAL PROTECTION TECHNOLOGY COMPANY LIMITED</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>NOTES TO THE CONSOLIDATED FINANCIAL STATEMENTS (CONT&#8217;D)</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>3. </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Lease obligations (Cont&#8217;d)</strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:continuation id="cont_864088"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Supplemental consolidated balance sheet information related to leases is as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_7506" name="clwt:ScheduleOfSupplementalConsolidatedBalanceSheetInformationRelatedToLeasesTableTextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Operating leases</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Right-of-use assets, at cost </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7550" name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember_clwt_LeaseObligationsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">2,529</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7183" name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember_clwt_LeaseObligationsMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Accumulated amortization </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_7551" name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember_clwt_LeaseObligationsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">141</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6266" name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember_clwt_LeaseObligationsMember" format="ixt:zerodash" unitRef="CNY" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Right-of-use assets, net </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7552" name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember_clwt_LeaseObligationsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">2,388</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6268" name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember_clwt_LeaseObligationsMember" format="ixt:zerodash" unitRef="CNY" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Current portion of operating lease </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7553" name="us-gaap:OperatingLeaseLiabilityCurrent" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember_clwt_LeaseObligationsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">563</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7181" name="us-gaap:OperatingLeaseLiabilityCurrent" contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember_clwt_LeaseObligationsMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Non-current portion of operating lease</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7554" name="us-gaap:OperatingLeaseLiabilityNoncurrent" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember_clwt_LeaseObligationsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,542</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total operating lease liabilities</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7555" name="us-gaap:OperatingLeaseLiability" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember_clwt_LeaseObligationsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">2,105</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7177" name="us-gaap:OperatingLeaseLiability" contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember_clwt_LeaseObligationsMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Weighted average remaining lease term</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">operating leases </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><ix:nonNumeric id="fid_7557" name="clwt:WeightedAverageRemainingLeaseTermOperatingLeases" contextRef="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember_clwt_LeaseObligationsMember" format="ixt-sec:durmonth">33</ix:nonNumeric> months</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Weighted average discount rate</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Operating leases</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7556" name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember_clwt_LeaseObligationsMember" unitRef="Pure" decimals="INF" scale="-2">3.6</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:nonNumeric></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_6184" name="us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true" continuedAt="cont_4db6a2"><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>4. </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Accounts receivable, net</strong></p></td></tr></tbody></table></ix:nonNumeric><ix:continuation id="cont_4db6a2" continuedAt="cont_a3136d"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Accounts receivable, net consisted of the following at December 31:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_7519" name="us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true"><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="width:1%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td><td style="width:1%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="width:1%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td><td style="vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong> </p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td><td style="vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">Contract receivables</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><ix:nonFraction id="fid_6405" name="us-gaap:AccountsReceivableGross" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">171,008</ix:nonFraction></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><ix:nonFraction id="fid_6404" name="us-gaap:AccountsReceivableGross" contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">157,879</ix:nonFraction></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td>Less: allowance for doubtful accounts</td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: #000000 1px solid;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">(<ix:nonFraction id="fid_6407" name="us-gaap:AllowanceForDoubtfulAccountsReceivable" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">35,952</ix:nonFraction></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">)</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: #000000 1px solid;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">(<ix:nonFraction id="fid_6406" name="us-gaap:AllowanceForDoubtfulAccountsReceivable" contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">29,644</ix:nonFraction></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">)</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: black 3px double;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><ix:nonFraction id="fid_6409" name="us-gaap:AccountsReceivableNet" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">135,056</ix:nonFraction></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: black 3px double;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><ix:nonFraction id="fid_6408" name="us-gaap:AccountsReceivableNet" contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">128,235</ix:nonFraction></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">The roll-forward of activity in the allowance for doubtful accounts was as follows for the years ended December 31:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_6992" name="us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Balance at beginning of year</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6415" name="us-gaap:AllowanceForDoubtfulAccountsReceivable" contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">29,644</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6424" name="us-gaap:AllowanceForDoubtfulAccountsReceivable" contextRef="AsOf2022-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">40,019</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Add: provision for allowances </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6419" name="us-gaap:AllowanceForDoubtfulAccountsReceivablePeriodIncreaseDecrease" contextRef="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">6,304</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6417" name="us-gaap:AllowanceForDoubtfulAccountsReceivablePeriodIncreaseDecrease" contextRef="From2023-01-01to2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">10,376</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Less: reversal of provision for doubtful accounts</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6420" name="clwt:ReversalOfProvisionForDoubtfulAccounts" contextRef="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:zerodash" unitRef="CNY" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6418" name="clwt:ReversalOfProvisionForDoubtfulAccounts" contextRef="From2023-01-01to2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">677</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Less: write-off of doubtful accounts</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6414" name="us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs" contextRef="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:zerodash" unitRef="CNY" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6421" name="us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs" contextRef="From2023-01-01to2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">20,074</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Balance at end of year</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6425" name="us-gaap:AllowanceForDoubtfulAccountsReceivable" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">35,952</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6416" name="us-gaap:AllowanceForDoubtfulAccountsReceivable" contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">29,644</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:nonNumeric></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-54</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#toc2">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>ZHEJIANG TIANLAN ENVIRONMENTAL PROTECTION TECHNOLOGY COMPANY LIMITED</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>NOTES TO THE CONSOLIDATED FINANCIAL STATEMENTS (CONT&#8217;D)</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>4. </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Accounts receivable, net (Cont&#8217;d)</strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:continuation id="cont_a3136d"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The following is an aging analysis of accounts receivable, net at December 31:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_6993" name="us-gaap:PastDueFinancingReceivablesTableTextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Within 1 year</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6441" name="us-gaap:AccountsReceivableNet" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember_clwt_WithinOneYearMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">100,254</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6440" name="us-gaap:AccountsReceivableNet" contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember_clwt_WithinOneYearMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">121,658</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">1 year -&#160; 2 years</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6443" name="us-gaap:AccountsReceivableNet" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember_clwt_OneYearToTwoYearMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">30,292</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6442" name="us-gaap:AccountsReceivableNet" contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember_clwt_OneYearToTwoYearMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">31,499</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">2 years - 3 years</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6445" name="us-gaap:AccountsReceivableNet" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember_clwt_TwoYearToThreeYearMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">10,701</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6444" name="us-gaap:AccountsReceivableNet" contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember_clwt_TwoYearToThreeYearMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">3,140</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">3 years - 4 years</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6447" name="us-gaap:AccountsReceivableNet" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember_clwt_ThreeYearsToFourYearMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">3,515</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6446" name="us-gaap:AccountsReceivableNet" contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember_clwt_ThreeYearsToFourYearMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">699</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">4 years - 5 years</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6449" name="us-gaap:AccountsReceivableNet" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember_clwt_FourYearsToFiveYearsMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">456</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6448" name="us-gaap:AccountsReceivableNet" contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember_clwt_FourYearsToFiveYearsMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">883</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Over 5 years</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7146" name="us-gaap:AccountsReceivableNet" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember_clwt_OverfiveYearsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">25,790</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Less: allowance for doubtful accounts</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_7147" name="clwt:AllowanceForDoubtfulAccountsReceivables" contextRef="AsOf2024-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">35,952</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;(<ix:nonFraction id="fid_7558" name="clwt:AllowanceForDoubtfulAccountsReceivables" contextRef="AsOf2023-12-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">29,644</ix:nonFraction></p></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">)&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6451" name="us-gaap:AccountsReceivableNet" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">135,056</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6450" name="us-gaap:AccountsReceivableNet" contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">128,235</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">At December 31, 2024, the accounts receivable, net pledged as security for the Company&#8217;s bank loans and third party loans amounted to RMB Nil (2023: RMB Nil).</p></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_6185" name="us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true" continuedAt="cont_10ab7b"><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>5. </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Prepayments and other current assets</strong></p></td></tr></tbody></table></ix:nonNumeric><ix:continuation id="cont_10ab7b"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Prepayments and other current assets mainly represent deposits paid for bidding projects, purchases, services and finance leases and prepaid expenses.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_6994" name="us-gaap:ScheduleOfOtherCurrentAssetsTableTextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Prepayments</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6712" name="us-gaap:PrepaidExpenseCurrentAndNoncurrent" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">21,462</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6711" name="us-gaap:PrepaidExpenseCurrentAndNoncurrent" contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">16,622</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Deposits paid for bidding projects and temporary payments</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6710" name="clwt:DepositsPaidForBiddingProjectsAndTemporaryPayments" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">7,610</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6709" name="clwt:DepositsPaidForBiddingProjectsAndTemporaryPayments" contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">6,257</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Other current assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6708" name="us-gaap:OtherAssetsCurrent" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">1,716</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6707" name="us-gaap:OtherAssetsCurrent" contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">862</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6706" name="us-gaap:PrepaidExpenseAndOtherAssets" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">30,788</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6705" name="us-gaap:PrepaidExpenseAndOtherAssets" contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">23,741</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:nonNumeric></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_6186" name="clwt:ContractWithCustomerAssetAndLiabilityDisclosureTextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true" continuedAt="cont_a79df2"><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>6. </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Contract assets, net and liabilities</strong></p></td></tr></tbody></table></ix:nonNumeric><ix:continuation id="cont_a79df2" continuedAt="cont_4838b6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Contracts with customers usually stipulate the timing of payment, which is defined by the terms found within the various contracts under which work was performed during the period. Therefore, contract assets and liabilities are created when the timing of costs incurred on work performed does not coincide with the billing terms.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The Group&#8217;s consolidated balance sheets present contract assets, net which contains earned unbilled revenue associated with contract work that has been completed but not paid by customers, that are generally due once the job is completed and approved.</p></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-55</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#toc2">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>ZHEJIANG TIANLAN ENVIRONMENTAL PROTECTION TECHNOLOGY COMPANY LIMITED</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>NOTES TO THE CONSOLIDATED FINANCIAL STATEMENTS (CONT&#8217;D)</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>6. </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Contract assets, net and liabilities (Cont&#8217;d)</strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:continuation id="cont_4838b6" continuedAt="cont_06941f"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Contract assets, net consisted of the following at December 31:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_6995" name="us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true" continuedAt="cont_f551da"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Unbilled revenue</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6716" name="us-gaap:ContractWithCustomerAssetNet" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember_us-gaap_UnbilledRevenuesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">66,644</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6715" name="us-gaap:ContractWithCustomerAssetNet" contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember_us-gaap_UnbilledRevenuesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">72,880</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The Group&#8217;s consolidated balance sheets present contract liabilities which contain deferred revenue (previously identified as billings in excess of costs and estimated earnings on uncompleted contracts).</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Contract liabilities consisted of the following at December 31:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:continuation id="cont_f551da" continuedAt="cont_6008e7"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 3.8pt">Deferred revenue</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6719" name="us-gaap:DeferredRevenue" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">35,367</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6720" name="us-gaap:DeferredRevenue" contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">43,452</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The following table provides information about contract assets, net and contract liabilities from contracts with customers at December 31:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:continuation id="cont_6008e7" continuedAt="cont_be9f52"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Contract assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6732" name="us-gaap:ContractWithCustomerAssetNet" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">66,644</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6731" name="us-gaap:ContractWithCustomerAssetNet" contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">72,880</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Contract liabilities</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6730" name="us-gaap:ContractWithCustomerLiability" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">35,367</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6729" name="us-gaap:ContractWithCustomerLiability" contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">43,452</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Net contract assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6728" name="clwt:ContractWithCustomerAssetLiabilityNet" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">31,277</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6727" name="clwt:ContractWithCustomerAssetLiabilityNet" contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">29,428</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The difference between the opening and closing balances of the Group&#8217;s contract assets, net and contract liabilities primarily results from the timing of the Group&#8217;s billings in relation to its performance of work.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The net asset position for contracts in process consisted of the following at December 31:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_6997" name="clwt:ContractWithCustomerNetAssetLiabilityPositionTableTextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Costs and estimated earnings on uncompleted contracts</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6748" name="clwt:CostsAndEstimatedEarningsOnUncompletedContracts" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">48,274</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6747" name="clwt:CostsAndEstimatedEarningsOnUncompletedContracts" contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">239,648</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Less: billings to date</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_7562" name="clwt:BillingsToDate" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">16,997</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_7563" name="clwt:BillingsToDate" contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">210,220</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6744" name="clwt:CostsAndEstimatedEarningsOnUncompletedContractsInExcessOfBillingsUnbilledRevenue" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">31,277</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6743" name="clwt:CostsAndEstimatedEarningsOnUncompletedContractsInExcessOfBillingsUnbilledRevenue" contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">29,428</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:nonNumeric></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-56</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#toc2">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>ZHEJIANG TIANLAN ENVIRONMENTAL PROTECTION TECHNOLOGY COMPANY LIMITED</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>NOTES TO THE CONSOLIDATED FINANCIAL STATEMENTS (CONT&#8217;D)</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>6. </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Contract assets, net and liabilities (Cont&#8217;d)</strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:continuation id="cont_06941f"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Contract assets, net consisted of the following at December 31:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:continuation id="cont_be9f52"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Gross contract assets </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6759" name="us-gaap:ContractWithCustomerAssetGross" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">77,657</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6760" name="us-gaap:ContractWithCustomerAssetGross" contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">83,170</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Less: allowance for doubtful accounts </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6757" name="us-gaap:ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">11,013</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6758" name="us-gaap:ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss" contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">10,290</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6755" name="us-gaap:ContractWithCustomerAssetNet" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">66,644</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6756" name="us-gaap:ContractWithCustomerAssetNet" contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">72,880</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:continuation></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_6187" name="us-gaap:InventoryDisclosureTextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true" continuedAt="cont_2d1f1b"><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>7. </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Inventories</strong></p></td></tr></tbody></table></ix:nonNumeric><ix:continuation id="cont_2d1f1b"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_6998" name="us-gaap:ScheduleOfInventoryCurrentTableTextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Raw materials</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6292" name="us-gaap:InventoryRawMaterialsNetOfReserves" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">676</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6291" name="us-gaap:InventoryRawMaterialsNetOfReserves" contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">54</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Finished goods</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6294" name="us-gaap:InventoryFinishedGoodsNetOfReserves" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">4,032</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6293" name="us-gaap:InventoryFinishedGoodsNetOfReserves" contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">4,415</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6296" name="us-gaap:InventoryNet" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">4,708</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6295" name="us-gaap:InventoryNet" contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">4,469</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:nonNumeric></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_6189" name="clwt:CashCashEquivalentsAndShortTermAndLongTermInvestmentsTextBlock" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" escape="true" continuedAt="cont_58badb"><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>8. </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Short-term and long-term investments</strong></p></td></tr></tbody></table></ix:nonNumeric><ix:continuation id="cont_58badb"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">The Group&#8217;s short-term investments consist of wealth management products and long-term investments consist of minority ownership interests in RMB<ix:nonFraction id="fid_6495" name="us-gaap:OtherOwnershipInterestsValue" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="0">53,292,000</ix:nonFraction> (2023: Nil) limited liability company, generally from private equity arrangements. These investments are carried under the equity method of accounting, with changes in the carrying value reported as realized gains or losses in the consolidated financial statements. </p></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-57</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#toc2">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>ZHEJIANG TIANLAN ENVIRONMENTAL PROTECTION TECHNOLOGY COMPANY LIMITED</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>NOTES TO THE CONSOLIDATED FINANCIAL STATEMENTS (CONT&#8217;D)</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_6190" name="us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true" continuedAt="cont_3b065c"><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>9. </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Property, plant and equipment</strong></p></td></tr></tbody></table></ix:nonNumeric><ix:continuation id="cont_3b065c"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_6999" name="us-gaap:PropertyPlantAndEquipmentTextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Building and leasehold improvements</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6482" name="us-gaap:BuildingsAndImprovementsGross" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">112,792</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6468" name="us-gaap:BuildingsAndImprovementsGross" contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">112,792</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Furniture, fixtures and office equipment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6470" name="us-gaap:FurnitureAndFixturesGross" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">4,272</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6469" name="us-gaap:FurnitureAndFixturesGross" contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">4,122</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Motor vehicles</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6472" name="us-gaap:MachineryAndEquipmentGross" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">4,503</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6471" name="us-gaap:MachineryAndEquipmentGross" contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">4,478</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Plant and machineries</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6483" name="clwt:PlantAndMachineries" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">10,852</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6473" name="clwt:PlantAndMachineries" contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">10,619</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6475" name="clwt:PropertyPlantsAndEquipmentGross" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">132,419</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6474" name="clwt:PropertyPlantsAndEquipmentGross" contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">132,011</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Less: Accumulated depreciation and amortization </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6477" name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">74,681</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6476" name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">68,506</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6485" name="clwt:Accumulated" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">74,681</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6479" name="clwt:Accumulated" contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">68,506</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Net </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6481" name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">57,738</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6480" name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">63,505</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year ended December 31,</strong></p></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="7" style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>2</strong></p></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Depreciation charge</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6491" name="us-gaap:DepreciationDepletionAndAmortization" contextRef="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">6,175</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6489" name="us-gaap:DepreciationDepletionAndAmortization" contextRef="From2023-01-01to2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">5,964</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6490" name="us-gaap:DepreciationDepletionAndAmortization" contextRef="From2022-01-01to2022-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">6,580</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">At December 31, 2024, the net book value of property, plant and equipment pledged as security for the Company&#8217;s bank loans and third party loans amounted to approximately RMB<ix:nonFraction id="fid_7151" name="srt:BankLoans" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="0">777,000</ix:nonFraction> (2023: RMB<ix:nonFraction id="fid_7150" name="srt:BankLoans" contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="0">1,026,000</ix:nonFraction>).</p></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-58</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#toc2">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>ZHEJIANG TIANLAN ENVIRONMENTAL PROTECTION TECHNOLOGY COMPANY LIMITED</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>NOTES TO THE CONSOLIDATED FINANCIAL STATEMENTS (CONT&#8217;D)</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_6192" name="us-gaap:IntangibleAssetsDisclosureTextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true" continuedAt="cont_453251"><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>10. </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Intangible assets, net</strong></p></td></tr></tbody></table></ix:nonNumeric><ix:continuation id="cont_453251"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_7000" name="clwt:IntangibleAssetsDisclosureTableTextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true" continuedAt="cont_dad945"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Amortizable intangible assets</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Gross carrying amount</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Patents</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6304" name="us-gaap:FiniteLivedPatentsGross" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">4,150</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6299" name="us-gaap:FiniteLivedPatentsGross" contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">4,150</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Others</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6305" name="us-gaap:OtherFiniteLivedIntangibleAssetsGross" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">165</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6300" name="us-gaap:OtherFiniteLivedIntangibleAssetsGross" contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">165</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6306" name="us-gaap:FiniteLivedIntangibleAssetsGross" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">4,315</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6301" name="us-gaap:FiniteLivedIntangibleAssetsGross" contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">4,315</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Less: Accumulated amortization</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6307" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">2,787</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6302" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">2,552</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Net carrying amount</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6308" name="us-gaap:FiniteLivedIntangibleAssetsNet" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">1,528</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6303" name="us-gaap:FiniteLivedIntangibleAssetsNet" contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">1,763</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:continuation id="cont_dad945"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="10"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>2</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Amortization expense</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6311" name="us-gaap:AmortizationOfIntangibleAssets" contextRef="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">235</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6309" name="us-gaap:AmortizationOfIntangibleAssets" contextRef="From2023-01-01to2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">246</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6310" name="us-gaap:AmortizationOfIntangibleAssets" contextRef="From2022-01-01to2022-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">257</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">At December 31, 2024, estimated future intangible assets amortization expense for each of the next five years and thereafter was as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_7001" name="clwt:EstimatedFutureIntangibleAssetsAmortizationExpenseTableTextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Future amortization expense </strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">2025</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6312" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">235</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">2026</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6313" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">235</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">2027</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6314" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">235</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">2028</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6315" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">235</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">2029</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6316" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">235</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Thereafter</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6317" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">353</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6318" name="clwt:FiniteLivedIntangibleAssetsAmortizationExpense" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">1,528</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:nonNumeric></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-59</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#toc2">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>ZHEJIANG TIANLAN ENVIRONMENTAL PROTECTION TECHNOLOGY COMPANY LIMITED</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>NOTES TO THE CONSOLIDATED FINANCIAL STATEMENTS (CONT&#8217;D)</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_6193" name="clwt:LandUseRightNetDisclosureTextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true" continuedAt="cont_e66045"><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>11. </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Land use right, net</strong></p></td></tr></tbody></table></ix:nonNumeric><ix:continuation id="cont_e66045"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_7002" name="clwt:LandUseRightNetTableTextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true" continuedAt="cont_b0bd7f"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Gross carrying amount</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Land use right</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6497" name="us-gaap:FiniteLivedContractualRightsGross" contextRef="AsOf2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">7,361</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6496" name="us-gaap:FiniteLivedContractualRightsGross" contextRef="AsOf2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">7,361</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Less: Accumulated amortization</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6499" name="clwt:LandUseRightAccumulatedAmortisation" contextRef="AsOf2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">2,811</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6498" name="clwt:LandUseRightAccumulatedAmortisation" contextRef="AsOf2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">2,662</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Net carrying amount</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6501" name="clwt:FiniteLivedIntangibleAssetContractualRightNetLandUseRight" contextRef="AsOf2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">4,550</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6500" name="clwt:FiniteLivedIntangibleAssetContractualRightNetLandUseRight" contextRef="AsOf2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">4,699</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:continuation id="cont_b0bd7f"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="10"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>2</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Amortization expense</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6504" name="us-gaap:AccretionExpense" contextRef="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="0">149</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6502" name="us-gaap:AccretionExpense" contextRef="From2023-01-01to2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="0">180</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6503" name="us-gaap:AccretionExpense" contextRef="From2022-01-01to2022-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="0">150</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">At December 31, 2024, the land use right pledged as security for the Company&#8217;s bank loans and third party&#8217;s loans amounted to approximately RMB<ix:nonFraction id="fid_6512" name="clwt:LandUseRightPledgedBankLoan" contextRef="AsOf2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="0">1,326,000</ix:nonFraction> (2023: RMB<ix:nonFraction id="fid_6513" name="clwt:LandUseRightPledgedBankLoan" contextRef="AsOf2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="0">1,371,000</ix:nonFraction>).</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">As December 31, 2024, estimated future land use right amortization expense for each of the next five years and thereafter was as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_7003" name="clwt:LandUseRightNetEstimatedFutureLandUseRightAmortizationExpenseTableTextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Future amortization expense</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">2025</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6505" name="clwt:LandUseRightAmortizationExpenseYearTwo" contextRef="AsOf2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">149</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">2026</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6506" name="clwt:LandUseRightAmortizationExpenseNextTwelveMonths" contextRef="AsOf2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">149</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">2027</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6507" name="clwt:LandUseRightAmortizationExpenseYearThree" contextRef="AsOf2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">149</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">2028</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6508" name="clwt:LandUseRightAmortizationExpenseYearFour" contextRef="AsOf2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">149</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">2029</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6509" name="clwt:LandUseRightAmortizationExpenseYearFive" contextRef="AsOf2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">149</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Thereafter</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6510" name="clwt:LandUseRightAmortizationExpenseThereafter" contextRef="AsOf2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">3,805</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6511" name="clwt:LandUseRightAmortizationExpense" contextRef="AsOf2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">4,550</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:nonNumeric></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-60</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#toc2">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160; &#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>ZHEJIANG TIANLAN ENVIRONMENTAL PROTECTION TECHNOLOGY COMPANY LIMITED</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>NOTES TO THE CONSOLIDATED FINANCIAL STATEMENTS (CONT&#8217;D)</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_6194" name="clwt:BankBorrowingsDisclosureTextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true" continuedAt="cont_9413c4"><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>12. </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Bank borrowings</strong></p></td></tr></tbody></table></ix:nonNumeric><ix:continuation id="cont_9413c4"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_7004" name="clwt:ScheduleOfBankBorrowingsTableTextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Bank loans borrowed by the Company (note i)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6774" name="srt:BankLoans" contextRef="AsOf2024-12-31_srt_SubsidiariesMember_clwt_BankLoanBorrowedByTheCompanysMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">1,001</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6775" name="srt:BankLoans" contextRef="AsOf2023-12-31_srt_SubsidiariesMember_clwt_BankLoanBorrowedByTheCompanysMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">1,502</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Bank loans borrowed by subsidiaries of the Company (note ii)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6776" name="srt:BankLoans" contextRef="AsOf2024-12-31_srt_SubsidiariesMember_clwt_BankLoanBorrowedBySubsidiariesOfTheCompanysMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">5,005</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6777" name="srt:BankLoans" contextRef="AsOf2023-12-31_srt_SubsidiariesMember_clwt_BankLoanBorrowedBySubsidiariesOfTheCompanysMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">5,007</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6778" name="srt:BankLoans" contextRef="AsOf2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">6,006</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6779" name="srt:BankLoans" contextRef="AsOf2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">6,509</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:8%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">(i)</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The bank loans are denominated in Renminbi and are repayable within 1 year. The bank loans borrowed by the Company as of December 31, 2024 bears interest at fixed rates of <ix:nonFraction id="fid_6780" name="us-gaap:SubordinatedBorrowingInterestRate" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember_clwt_BorrowedByTheCompanyMember" unitRef="Pure" decimals="INF" scale="-2">3.85</ix:nonFraction>% (2023: <ix:nonFraction id="fid_6788" name="us-gaap:SubordinatedBorrowingInterestRate" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember_clwt_BorrowedByTheCompanyMember" unitRef="Pure" decimals="INF" scale="-2">3.85</ix:nonFraction>%) per annum. Interest paid during the year ended December 31, 2024 was approximately RMB<ix:nonFraction id="fid_6782" name="us-gaap:InterestPaid" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember_clwt_BorrowedByTheCompanyMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="0">54,000</ix:nonFraction> (2023: RMB<ix:nonFraction id="fid_6784" name="us-gaap:InterestPaid" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember_clwt_BorrowedByTheCompanyMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="0">32,000</ix:nonFraction> and 2022: RMB<ix:nonFraction id="fid_7559" name="us-gaap:InterestPaid" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember_clwt_BorrowedByTheCompanyMember" format="ixt:numdotdecimal" unitRef="USD" decimals="0">408,000</ix:nonFraction>).</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">(ii)</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The bank loans are denominated in Renminbi and are repayable within 1 year. The bank loans borrowed by subsidiaries of the Company as of December 31, 2024, bears interest at a fixed rate of <ix:nonFraction id="fid_6781" name="us-gaap:SubordinatedBorrowingInterestRate" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember_clwt_BorrowedBySubsidiariesCompanyMember" unitRef="Pure" decimals="INF" scale="-2">4.85</ix:nonFraction> % (2023: a fixed rate of <ix:nonFraction id="fid_6789" name="us-gaap:SubordinatedBorrowingInterestRate" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember_clwt_BorrowedBySubsidiariesCompanyMember" unitRef="Pure" decimals="INF" scale="-2">4.85</ix:nonFraction> %) per annum and are secured by the subsidiary&#8217;s office premises and leasehold improvements and land use right. Interest paid during the year ended December 31, 2024 was approximately RMB<ix:nonFraction id="fid_6785" name="us-gaap:InterestPaid" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember_clwt_BorrowedBySubsidiariesCompanyMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="0">184,000</ix:nonFraction> (2023: RMB<ix:nonFraction id="fid_6787" name="us-gaap:InterestPaid" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember_clwt_BorrowedBySubsidiariesCompanyMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="0">221,000</ix:nonFraction> and 2022: RMB<ix:nonFraction id="fid_6786" name="us-gaap:InterestPaid" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember_clwt_BorrowedBySubsidiariesCompanyMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="0">218,000</ix:nonFraction>).</p></td></tr></tbody></table></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_6195" name="us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true" continuedAt="cont_5d39ad"><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>13. </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Other payables and accrued expenses</strong></p></td></tr></tbody></table></ix:nonNumeric><ix:continuation id="cont_5d39ad"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_7005" name="us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Accrued expenses</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6531" name="us-gaap:AccruedBonusesCurrent" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">11,089</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6526" name="us-gaap:AccruedBonusesCurrent" contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">11,274</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Output VAT </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6532" name="clwt:OutputValueAddedTax" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">6,587</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6527" name="clwt:OutputValueAddedTax" contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">6,348</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Deposits received and temporary receipts </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6533" name="clwt:DepositsReceivedAndTemporaryReceipts" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">4,695</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6528" name="clwt:DepositsReceivedAndTemporaryReceipts" contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">6,098</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6530" name="us-gaap:AccountsPayableAndAccruedLiabilitiesFairValueDisclosure" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">22,371</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6529" name="us-gaap:AccountsPayableAndAccruedLiabilitiesFairValueDisclosure" contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">23,720</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:nonNumeric></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_6197" name="clwt:OtherTaxesPayableDisclosureTextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true" continuedAt="cont_b74b9f"><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>14. </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Other taxes payable</strong></p></td></tr></tbody></table></ix:nonNumeric><ix:continuation id="cont_b74b9f"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Other taxes payable mainly comprise Valued-Added Tax (&#8220;VAT&#8221;). The Group is subject to output VAT levied at the rate of <ix:nonFraction id="fid_6319" name="clwt:ValuedAddedTaxInterestRate" contextRef="AsOf2024-12-31_srt_SubsidiariesMember_clwt_BottomsMember" unitRef="Pure" decimals="INF" scale="-2">3</ix:nonFraction>% to <ix:nonFraction id="fid_6320" name="clwt:ValuedAddedTaxInterestRate" contextRef="AsOf2024-12-31_srt_SubsidiariesMember_clwt_TopsMember" unitRef="Pure" decimals="INF" scale="-2">13</ix:nonFraction> % (2023: <ix:nonFraction id="fid_6321" name="clwt:ValuedAddedTaxInterestRate" contextRef="AsOf2023-12-31_srt_SubsidiariesMember_clwt_BottomsMember" unitRef="Pure" decimals="INF" scale="-2">3</ix:nonFraction>% to <ix:nonFraction id="fid_6322" name="clwt:ValuedAddedTaxInterestRate" contextRef="AsOf2023-12-31_srt_SubsidiariesMember_clwt_TopsMember" unitRef="Pure" decimals="INF" scale="-2">13</ix:nonFraction>%) of the revenue from sales of equipment.&#160; The input VAT paid on purchases of materials and other direct inputs can be used to offset the output VAT levied on operating revenue to determine the net VAT payable or recoverable. </p></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-61</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#toc2">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>ZHEJIANG TIANLAN ENVIRONMENTAL PROTECTION TECHNOLOGY COMPANY LIMITED</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>NOTES TO THE CONSOLIDATED FINANCIAL STATEMENTS (CONT&#8217;D)</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_6198" name="clwt:CapitalReserveDisclosureTextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true" continuedAt="cont_04461c"><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>15. </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Capital reserve</strong></p></td></tr></tbody></table></ix:nonNumeric><ix:continuation id="cont_04461c"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Capital reserve represents capital contributions from shareholders in excess of the paid-in capital amount and capitalization of gain on disposal of subsidiaries to the shareholders in previous years.</p></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_6199" name="clwt:OtherIncomeAndOtherLossesDisclosureTextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true" continuedAt="cont_146510"><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>16. </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Other income and other losses</strong></p></td></tr></tbody></table></ix:nonNumeric><ix:continuation id="cont_146510"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 35.45pt; text-align:justify;"><strong>Other income </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_7006" name="clwt:ScheduleOfOtherIncomeTabletextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="10"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>2</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Impairment gain on contract assets </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6813" name="clwt:ImpairmentGainOnContractAssets" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">722</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6811" name="clwt:ImpairmentGainOnContractAssets" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">2,158</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6812" name="clwt:ImpairmentGainOnContractAssets" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:zerodash" unitRef="CNY" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Investment income</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6797" name="us-gaap:InvestmentIncomeNet" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">8,504</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6798" name="us-gaap:InvestmentIncomeNet" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">2,863</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6796" name="us-gaap:InvestmentIncomeNet" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">824</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Fait value gain on short term investment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7203" name="clwt:FaitValueGainOnShortTermInvestment" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">248</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;<ix:nonFraction id="fid_7560" name="clwt:FaitValueGainOnShortTermInvestment" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;<ix:nonFraction id="fid_7561" name="clwt:FaitValueGainOnShortTermInvestment" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Compensation income</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6790" name="clwt:CompensationIncome" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">193</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6792" name="clwt:CompensationIncome" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">7,796</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6791" name="clwt:CompensationIncome" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:zerodash" unitRef="CNY" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Amounts waived by payees&#160; </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6800" name="clwt:AmountsWaivedByPayees" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">676</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6801" name="clwt:AmountsWaivedByPayees" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" format="ixt:zerodash" unitRef="CNY" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6799" name="clwt:AmountsWaivedByPayees" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">980</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Reversal of allowance for doubtful accounts</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6803" name="clwt:AllowanceForDoubtfulAccountsReversal" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">6,225</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6804" name="clwt:AllowanceForDoubtfulAccountsReversal" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">10,841</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6802" name="clwt:AllowanceForDoubtfulAccountsReversal" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">983</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Subsidy income from PRC government </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6806" name="clwt:SubsidyIncome" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">14,730</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6807" name="clwt:SubsidyIncome" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">9,088</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6805" name="clwt:SubsidyIncome" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">9,002</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6809" name="us-gaap:OtherIncome" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">396</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6810" name="us-gaap:OtherIncome" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">32,746</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6808" name="us-gaap:OtherIncome" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">11,789</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 35.45pt; text-align:justify;"><strong>Other losses </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_7007" name="clwt:ScheduleOfOtherLossesTabletextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="10"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>2</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Impairment loss on short term investments</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6815" name="clwt:ImpairmentLossOnShortTermInvestments" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" format="ixt:zerodash" unitRef="CNY" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6816" name="clwt:ImpairmentLossOnShortTermInvestments" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" format="ixt:zerodash" unitRef="CNY" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6814" name="clwt:ImpairmentLossOnShortTermInvestments" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">195</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Impairment loss on contract assets </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6818" name="clwt:ImpairmentLossOnContractAssets" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" format="ixt:zerodash" unitRef="CNY" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6819" name="clwt:ImpairmentLossOnContractAssets" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" format="ixt:zerodash" unitRef="CNY" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6817" name="clwt:ImpairmentLossOnContractAssets" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">3,560</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6824" name="us-gaap:OtherNonoperatingGainsLosses" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" format="ixt:zerodash" unitRef="CNY" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6825" name="us-gaap:OtherNonoperatingGainsLosses" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember" format="ixt:zerodash" unitRef="CNY" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6823" name="us-gaap:OtherNonoperatingGainsLosses" contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">3,755</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:nonNumeric></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_6200" name="us-gaap:IncomeTaxDisclosureTextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true" continuedAt="cont_36cca1"><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>17. </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Income tax (credit) / expense</strong></p></td></tr></tbody></table></ix:nonNumeric><ix:continuation id="cont_36cca1" continuedAt="cont_7c53e6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">According to relevant PRC tax laws and regulations, entities incorporated in the PRC are subject to Enterprise Income Tax (&#8220;EIT&#8221;) at a statutory rate of 25% or reduced national EIT rates of 15% for certain High and New Technology Enterprises (&#8220;HNTE&#8221;) on PRC taxable income. Zhejiang Tianlan Environmental Protection Technology Company Limited and Hangzhou Tianlan Environmental Protection Equipment Company Limited are classified as HNTE which enjoy a preferential tax rate of 15%.</p></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-62</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#toc2">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>ZHEJIANG TIANLAN ENVIRONMENTAL PROTECTION TECHNOLOGY COMPANY LIMITED</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>NOTES TO THE CONSOLIDATED FINANCIAL STATEMENTS (CONT&#8217;D)</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>17. </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Income tax (credit) / expense (Cont&#8217;d)</strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:continuation id="cont_7c53e6" continuedAt="cont_6f3388"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">During the years ended December 31, 2024 and 2023, the PRC tax laws and regulations have launched a tax reduction scheme for small enterprises, Hangzhou Tianlan Pure Environmental Protection Technology Company Limited, Hangzhou Tiancan Environmental Technology Company Limited, Hangzhou Zhongyi Ecological Environment Consulting Co., Limited, Zhejiang Tianlan Environmental Protection Engineering Company Limited, and Xuancheng Lanjing Environmental Protection Equipment Co., Limited<strong> </strong>are entitled to enjoy this tax benefit. As such, they are subjects to Enterprise Income Tax rate of 20% only. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">The Company and its subsidiaries are based in the PRC and file an EIT return. The components of the provision for income tax expense/(credit) were as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_7008" name="us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="10"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>2</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Current tax expense / (credit)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:11.25pt">PRC EIT</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6551" name="clwt:IncomeTaxExpensePrcEit" contextRef="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">3,275</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6549" name="clwt:IncomeTaxExpensePrcEit" contextRef="From2023-01-01to2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">7,340</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6550" name="clwt:IncomeTaxExpensePrcEit" contextRef="From2022-01-01to2022-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">7</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Income tax expense / (credit)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6554" name="us-gaap:CurrentIncomeTaxExpenseBenefit" contextRef="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">3,275</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6552" name="us-gaap:CurrentIncomeTaxExpenseBenefit" contextRef="From2023-01-01to2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">7,340</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6553" name="us-gaap:CurrentIncomeTaxExpenseBenefit" contextRef="From2022-01-01to2022-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">7</ix:nonFraction> </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Deferred tax expense / (credit)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6557" name="us-gaap:DeferredOtherTaxExpenseBenefit" contextRef="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">2,910</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6555" name="us-gaap:DeferredOtherTaxExpenseBenefit" contextRef="From2023-01-01to2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">8,729</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6556" name="us-gaap:DeferredOtherTaxExpenseBenefit" contextRef="From2022-01-01to2022-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">361</ix:nonFraction> </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total deferred tax expense / (credit)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6560" name="us-gaap:DeferredIncomeTaxExpenseBenefit" contextRef="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">2,910</ix:nonFraction> </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6558" name="us-gaap:DeferredIncomeTaxExpenseBenefit" contextRef="From2023-01-01to2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">8,729</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6559" name="us-gaap:DeferredIncomeTaxExpenseBenefit" contextRef="From2022-01-01to2022-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">361</ix:nonFraction> </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total expense / (credit)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6563" name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">365</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6561" name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2023-01-01to2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">16,069</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6562" name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2022-01-01to2022-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" sign="-" scale="3">368</ix:nonFraction> </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr></tbody></table></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">The items comprising the difference between income tax computed at the EIT statutory rates in effect for 2024, 2023 and 2022 and our effective tax rates were as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_7010" name="us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="10"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year ended&#160; December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>2</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Income before income tax</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6584" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="0">14,831</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6582" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="From2023-01-01to2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="0">86,606</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6583" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="From2022-01-01to2022-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="0">15,398</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Computed tax using respective companies&#8217; statutory tax rates</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6587" name="us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" contextRef="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="0">2,152</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6585" name="us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" contextRef="From2023-01-01to2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="0">12,991</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6586" name="us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" contextRef="From2022-01-01to2022-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="0">2,309</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">(Over)-provision for income tax in prior years</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6596" name="clwt:OverProvisionForIncomeTaxInPriorYears" contextRef="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="0" sign="-">5</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6588" name="clwt:OverProvisionForIncomeTaxInPriorYears" contextRef="From2023-01-01to2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="0">591</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6595" name="clwt:OverProvisionForIncomeTaxInPriorYears" contextRef="From2022-01-01to2022-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="0">69</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Temporary differences</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6598" name="clwt:TemporaryDifferences" contextRef="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="0">1,090</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6589" name="clwt:TemporaryDifferences" contextRef="From2023-01-01to2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="0">2,931</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6597" name="clwt:TemporaryDifferences" contextRef="From2022-01-01to2022-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="0">2,089</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Tax effect of revenue not subject to tax</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6599" name="clwt:TaxEffectOfRevenueNotSubjectToTax" contextRef="From2022-01-01to2022-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="0">3</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Tax effect of expenses not deductible for tax purposes</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6602" name="us-gaap:IncomeTaxReconciliationNondeductibleExpense" contextRef="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="0">699</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6590" name="us-gaap:IncomeTaxReconciliationNondeductibleExpense" contextRef="From2023-01-01to2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="0">4,472</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6601" name="us-gaap:IncomeTaxReconciliationNondeductibleExpense" contextRef="From2022-01-01to2022-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="0">500</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Tax effect of special deduction for research and development costs </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6604" name="us-gaap:IncomeTaxReconciliationNondeductibleExpenseResearchAndDevelopment" contextRef="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="0">4,081</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6591" name="us-gaap:IncomeTaxReconciliationNondeductibleExpenseResearchAndDevelopment" contextRef="From2023-01-01to2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="0">3,734</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6603" name="us-gaap:IncomeTaxReconciliationNondeductibleExpenseResearchAndDevelopment" contextRef="From2022-01-01to2022-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="0">5,257</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Others </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6606" name="us-gaap:IncomeTaxReconciliationOtherAdjustments" contextRef="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="0">510</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6605" name="us-gaap:IncomeTaxReconciliationOtherAdjustments" contextRef="From2022-01-01to2022-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="0">57</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Income taxes expense /(credit) at effective tax rate</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6594" name="clwt:IncomeTaxesCreditExpenseAtEffectiveTaxRate" contextRef="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="0">365</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6592" name="clwt:IncomeTaxesCreditExpenseAtEffectiveTaxRate" contextRef="From2023-01-01to2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="0">16,069</ix:nonFraction> </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_6593" name="clwt:IncomeTaxesCreditExpenseAtEffectiveTaxRate" contextRef="From2022-01-01to2022-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="0" sign="-">368</ix:nonFraction> </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr></tbody></table></ix:nonNumeric></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-63</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#toc2">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>ZHEJIANG TIANLAN ENVIRONMENTAL PROTECTION TECHNOLOGY COMPANY LIMITED</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>NOTES TO THE CONSOLIDATED FINANCIAL STATEMENTS (CONT&#8217;D)</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>17. </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Income tax (credit) / expense (Cont&#8217;d)</strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:continuation id="cont_6f3388"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">The components of deferred tax assets are as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_7009" name="us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Allowance for doubtful accounts</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7229" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="USD" decimals="0">5,058</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6615" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="0">4,218</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Deferred government grant&#160; </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7230" name="us-gaap:DeferredTaxAssetsDeferredIncome" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="USD" decimals="0">631</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6616" name="us-gaap:DeferredTaxAssetsDeferredIncome" contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="0">213</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Impairment losses on assets&#160;&#160; </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7231" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsImpairmentLosses" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="USD" decimals="0">1,771</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6617" name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsImpairmentLosses" contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="0">1,508</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Change in fair value</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_7234" name="clwt:DeferredtaxassetstaxdeferrechangeInFairValue" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="USD" decimals="0" sign="-">37</ix:nonFraction> </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Investment loss</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7232" name="clwt:InvestmentLoss" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="USD" decimals="0">1,425</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6618" name="clwt:InvestmentLoss" contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:zerodash" unitRef="CNY" decimals="0">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total deferred tax assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7233" name="us-gaap:DeferredTaxAssetsNet" contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="USD" decimals="0">8,848</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6619" name="us-gaap:DeferredTaxAssetsNet" contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="0">5,939</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Uncertain tax positions</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">As a result of the Group&#8217;s analysis, management has determined that the Group does not have any material uncertain tax positions.</p></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_6201" name="us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true" continuedAt="cont_25d679"><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>18. </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Pension plan</strong></p></td></tr></tbody></table></ix:nonNumeric><ix:continuation id="cont_25d679"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">As stipulated by the rules and regulations in the PRC, the Group contributes to state-sponsored retirement plans for its employees in Mainland China. The Group contributes approximately <ix:nonFraction id="fid_6331" name="clwt:PensionSchemeBasicSalaryPercentage" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember_clwt_BottomsMember" unitRef="Pure" decimals="INF" scale="-2">12</ix:nonFraction>% to <ix:nonFraction id="fid_6332" name="clwt:PensionSchemeBasicSalaryPercentage" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember_clwt_TopsMember" unitRef="Pure" decimals="INF" scale="-2">14</ix:nonFraction>% of the basic salaries of its employees, and has no further obligations for the actual payment of pension or post-retirement benefits beyond the annual contributions. The state-sponsored retirement plans are responsible for the entire pension obligations payable to retired employees.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">During the years ended December 31, 2024, 2023 and 2022, the aggregate contributions of the Group to the aforementioned pension plans and retirement benefit schemes were approximately RMB<ix:nonFraction id="fid_6330" name="us-gaap:PensionContributions" contextRef="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">3,710,000</ix:nonFraction>, RMB<ix:nonFraction id="fid_6328" name="us-gaap:PensionContributions" contextRef="From2023-01-01to2023-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">2,766,000</ix:nonFraction> and RMB<ix:nonFraction id="fid_6329" name="us-gaap:PensionContributions" contextRef="From2022-01-01to2022-12-31_srt_SubsidiaryIssuerMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="-3" scale="3">2,691,000</ix:nonFraction> respectively.</p></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_6202" name="us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true" continuedAt="cont_2d878f"><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>19. </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Risk factors</strong></p></td></tr></tbody></table></ix:nonNumeric><ix:continuation id="cont_2d878f"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Financial risk factors</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The Group&#8217;s activities expose it mainly to credit risk.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Credit risk</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The Group has no significant concentration of credit risk, cash in banks in PRC is insured with limit of approximately RMB<ix:nonFraction id="fid_6832" name="us-gaap:ConcentrationRiskCreditRiskFinancialInstrumentMaximumExposure" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember_clwt_CNMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="0">500,000</ix:nonFraction>, per bank per each depositor. Uninsured cash in banks and restricted cash balances in PRC are of approximately RMB<ix:nonFraction id="fid_7212" name="us-gaap:RestrictedCash" contextRef="AsOf2024-12-31_srt_SubsidiariesMember_clwt_CNMember" format="ixt:numdotdecimal" unitRef="USD" decimals="0">67,750,000</ix:nonFraction> (2023: RMB<ix:nonFraction id="fid_6831" name="us-gaap:RestrictedCash" contextRef="AsOf2023-12-31_srt_SubsidiariesMember_clwt_CNMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="0">128,000,000</ix:nonFraction>). Cash transactions are limited to high credit quality banks.</p></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-64</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#toc2">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>ZHEJIANG TIANLAN ENVIRONMENTAL PROTECTION TECHNOLOGY COMPANY LIMITED</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>NOTES TO THE CONSOLIDATED FINANCIAL STATEMENTS (CONT&#8217;D)</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_6203" name="us-gaap:RelatedPartyTransactionsDisclosureTextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true" continuedAt="cont_688faf"><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>20. </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Related party transaction</strong></p></td></tr></tbody></table></ix:nonNumeric><ix:continuation id="cont_688faf"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">There was no engineering service income from an investment in 2024&#160;(2023: Nil) and there was remuneration to key management personnel of approximately RMB<ix:nonFraction id="fid_7209" name="clwt:Remuneration" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember_clwt_EngineeringServiceMember" format="ixt:numdotdecimal" unitRef="USD" decimals="0">2,037,000</ix:nonFraction> (2023: RMB <ix:nonFraction id="fid_6835" name="clwt:Remuneration" contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember_clwt_EngineeringServiceMember" format="ixt:numdotdecimal" unitRef="CNY" decimals="0">1,878,000</ix:nonFraction>).</p></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_6204" name="us-gaap:CommitmentsAndContingenciesDisclosureTextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true" continuedAt="cont_1ed1a6"><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>21 </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Commitments and contingencies </strong></p></td></tr></tbody></table></ix:nonNumeric><ix:continuation id="cont_1ed1a6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">(i)</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Insurance</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 70.85pt; text-align:justify;">The Group carries insurance policies to cover various risks, primarily general liability, automobile liability, workers&#8217; compensation and employee medical expenses under which we are liable to reimburse the insurance company for a portion of each claim paid.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">(ii)</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Purchase commitments</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 70.85pt; text-align:justify;">To manage the risk of changes in material prices and subcontracting costs used in tendering bids for contracts, most of the time, the Group obtains firm quotations from suppliers and subcontractors before submitting a bid. These quotations do not include any quantity guarantees. As soon as the Group is advised that its bid is successful, the Group enters into firm contracts with most of its materials suppliers and sub-contractors, thereby mitigating the risk of future price variations affecting the contract costs.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">(iii)</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Litigation</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 70.85pt; text-align:justify;">The Group is now and may in the future be involved as a party to various legal proceedings that are incidental to the ordinary course of business. Management, after consultation with legal counsel, does not believe that the outcome of these actions will have a material impact on the consolidated financial statements of the Group. There are no significant unresolved legal issues as of December 31, 2024 and 2023.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">(v)</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Contingencies</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 70.85pt; text-align:justify;">The Group accounts for loss contingencies in accordance with ASC 450 and other related guidelines. As of December 31, 2024 and 2023, the Group&#8217;s management is of the opinion that there are no commitments and contingencies to account for.</p></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_6205" name="us-gaap:SubsequentEventsTextBlock" contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember" escape="true" continuedAt="cont_288e59"><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>22 </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Subsequent event</strong></p></td></tr></tbody></table></ix:nonNumeric><ix:continuation id="cont_288e59"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The Company evaluated all events and transactions that occurred after December 31, 2024, up through the date the Company issued the audited consolidated financial statements. Other than the event disclosed above, there was no other subsequent events occurred that would require recognition or disclosure in the Company&#8217;s audited consolidated financial statements.</p></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">F-65</td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></body></html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-8.1
<SEQUENCE>2
<FILENAME>clwt_ex81.htm
<DESCRIPTION>LIST OF SUBSIDIARIES
<TEXT>
<html><head><title>clwt_ex81.htm</title><!--Document created using EDGARMaster--></head><body style="TEXT-ALIGN: justify; FONT: 10pt times new roman"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp; </p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><strong>EXHIBIT 8.1</strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>LIST OF SUBSIDIARIES</strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Company presently wholly owns Euro Tech Global Pte. Limited, a Singapore corporation. </p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Euro Tech Global Pte. Limited wholly owns Euro Tech (Far East) Limited, a Hong Kong corporation, which, in turn, owns the following corporations:</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Wholly-Owned</strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Euro Tech Trading (Shanghai) Limited &#8212; a People&#8217;s Republic of China corporation</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Majority Owned</strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">PACT Environmental Technology Pte. Ltd. &#8212; a Singapore corporation </p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Yixing Pact Environmental Technology Co., Ltd. &#8212; a People&#8217;s Republic of China corporation</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Pact Asia Pacific Limited &#8212; a BVI corporation</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Other Entities</strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Zhejiang Tianlan Environmental Protection Technology Co., Ltd. &#8212; a People&#8217;s Republic of China corporation.*</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">* A 50 percent or less owned person accounted for by the equity method as defined by SEC rules and regulations.</p><body>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-12.1
<SEQUENCE>3
<FILENAME>clwt_ex121.htm
<DESCRIPTION>CERTIFICATION OF CHIEF EXECUTIVE OFFICER PURSUANT
<TEXT>
<html><head><title>clwt_ex121.htm</title><!--Document created using EDGARMaster--></head><body style="TEXT-ALIGN: justify; FONT: 10pt times new roman"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp; </p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><strong>EXHIBIT 12.1</strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>CERTIFICATIONS</strong><strong> </strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">I, David YL Leung, certify that:</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:4%;vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">1.</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">I have reviewed this annual report on Form 20-F of Euro Tech Holdings Company Limited (the &#8220;Company&#8221;);</p></td></tr> <tr style="height:15px"> <td></td> <td></td></tr> <tr style="height:15px"> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">2.</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;</p></td></tr> <tr style="height:15px"> <td></td> <td></td></tr> <tr style="height:15px"> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">3.</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">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 company as of, and for, the periods presented in the report;</p></td></tr> <tr style="height:15px"> <td></td> <td></td></tr> <tr style="height:15px"> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">4.</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Company&#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 Company and have:</p></td></tr></table> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:4%;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td style="width:4%;vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">(a)</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">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 Company, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;</p></td></tr> <tr style="height:15px"> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">(b)</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">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;</p></td></tr> <tr style="height:15px"> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">(c)</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Evaluated the effectiveness of the Company&#8217;s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and</p></td></tr> <tr style="height:15px"> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">(d)</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Disclosed in this report any change in the Company&#8217;s internal control over financial reporting that occurred during the period covered by the annual report that has materially affected, or is reasonably likely to materially affect, the Company&#8217;s internal control over financial reporting; and</p></td></tr></table> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:4%;vertical-align:top;"> <p style="font-size:10pt;font-family:times new roman;margin:0px">5.</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Company&#8217;s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the Company&#8217;s auditors and the audit committee of the Company&#8217;s board of directors (or persons performing the equivalent functions):</p></td></tr></table> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:4%;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td style="width:4%;vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">(a)</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">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 Company&#8217;s ability to record, process, summarize and report financial information; and</p></td></tr> <tr style="height:15px"> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">(b)</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Any fraud, whether or not material, that involves management or other employees who have a significant role in the Company&#8217;s internal control over financial reporting.</p></td></tr></table> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:35%;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">April 30, 2025</p></td> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td style="BORDER-BOTTOM: 1px solid;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">/s/ David YL Leung</p></td> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">David YL Leung</p></td> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Chief Executive Officer (Principal Executive Officer)</p></td> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td></tr></table> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p><body>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-12.2
<SEQUENCE>4
<FILENAME>clwt_ex122.htm
<DESCRIPTION>CERTIFICATION OF CHIEF EXECUTIVE OFFICER PURSUANT
<TEXT>
<html><head><title>clwt_ex122.htm</title><!--Document created using EDGARMaster--></head><body style="TEXT-ALIGN: justify; FONT: 10pt times new roman"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp; </p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><strong>EXHIBIT 12.2</strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>CERTIFICATIONS</strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">I, Jerry Wong, certify that:</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:4%;vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">1.</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">I have reviewed this annual report on Form 20-F of Euro Tech Holdings Company Limited (the &#8220;Company&#8221;);</p></td></tr> <tr style="height:15px"> <td></td> <td></td></tr> <tr style="height:15px"> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">2.</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;</p></td></tr> <tr style="height:15px"> <td></td> <td></td></tr> <tr style="height:15px"> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">3.</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">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 company as of, and for, the periods presented in the report;</p></td></tr> <tr style="height:15px"> <td></td> <td></td></tr> <tr style="height:15px"> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">4.</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Company&#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 Company and have:</p></td></tr></table> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:4%;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td style="width:4%;vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">(a)</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">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 Company, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;</p></td></tr> <tr style="height:15px"> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">(b)</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">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;</p></td></tr> <tr style="height:15px"> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">(c)</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Evaluated the effectiveness of the Company&#8217;s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and</p></td></tr> <tr style="height:15px"> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">(d)</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Disclosed in this report any change in the Company&#8217;s internal control over financial reporting that occurred during the period covered by the annual report that has materially affected, or is reasonably likely to materially affect, the Company&#8217;s internal control over financial reporting; and</p></td></tr></table> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:4%;vertical-align:top;"> <p style="font-size:10pt;font-family:times new roman;margin:0px">5.</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Company&#8217;s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the Company&#8217;s auditors and the audit committee of the Company&#8217;s board of directors (or persons performing the equivalent functions):</p></td></tr></table> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:4%;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td style="width:4%;vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">(a)</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">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 Company&#8217;s ability to record, process, summarize and report financial information; and</p></td></tr> <tr style="height:15px"> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">(b)</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Any fraud, whether or not material, that involves management or other employees who have a significant role in the Company&#8217;s internal control over financial reporting.</p></td></tr></table> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:35%;"> <p style="font-size:10pt;font-family:times new roman;margin:0px">April 30, 2025</p></td> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td style="BORDER-BOTTOM: 1px solid;"> <p style="font-size:10pt;font-family:times new roman;margin:0px">/s/ Jerry Wong</p></td> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">Jerry Wong</p></td> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">Chief Financial Officer (Principal Financial &amp; Accounting Officer)</p></td> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td></tr></table> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p><body>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-13.1
<SEQUENCE>5
<FILENAME>clwt_ex131.htm
<DESCRIPTION>CERTIFICATION OF CHIEF EXECUTIVE OFFICER PURSUANT
<TEXT>
<html><head><title>clwt_ex131.htm</title><!--Document created using EDGARMaster--></head><body style="TEXT-ALIGN: justify; FONT: 10pt times new roman"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp; </p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><strong>EXHIBIT 13.1</strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Certification of the Chief Executive Officer Pursuant to</strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>18 U.S. C. Section 1350, As Adopted Pursuant to</strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Section 906 of the Sarbanes-Oxley Act of 2002</strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">In connection with the Annual Report of Euro Tech Holdings Company Limited (the &#8220;Company&#8221;) on Form 20-F for the year ended December 31, 2024 as filed with the Securities and Exchange Commission on the date hereof (the &#8220;Report&#8221;), David YL Leung, as Chief Executive Officer of the Company, hereby certifies pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, to the best of his knowledge, that:</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:4%;"></td> <td style="width:4%;vertical-align:top;"> <p style="font-size:10pt;font-family:times new roman;margin:0px">(a)</p></td> <td style="vertical-align:top;"> <p style="font-size:10pt;font-family:times new roman;margin:0px">The Report fully complies with the requirements of Section 13(a) of the Securities Exchange Act of 1934; and</p></td></tr> <tr style="height:15px"> <td></td> <td></td> <td></td></tr> <tr style="height:15px"> <td></td> <td style="vertical-align:top;"> <p style="font-size:10pt;font-family:times new roman;margin:0px">(b)</p></td> <td style="vertical-align:top;"> <p style="font-size:10pt;font-family:times new roman;margin:0px">The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.</p></td></tr></table> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:35%;"> <p style="font-size:10pt;font-family:times new roman;margin:0px">April 30, 2025</p></td> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td style="BORDER-BOTTOM: 1px solid;"> <p style="font-size:10pt;font-family:times new roman;margin:0px">/s/ David YL Leung</p></td> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">David YL Leung</p></td> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">Chief Executive Officer</p></td> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">(Principal Executive Officer)</p></td> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td></tr></table> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The foregoing certification is being furnished solely pursuant to section 906 of the Sarbanes-Oxley Act of 2002 (subsections (a) and (b) of section 1350, chapter 63 of title 18, United States Code) and is not being filed as part of a separate disclosure document.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p><body>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-13.2
<SEQUENCE>6
<FILENAME>clwt_ex132.htm
<DESCRIPTION>CERTIFICATION OF CHIEF EXECUTIVE OFFICER PURSUANT
<TEXT>
<html><head><title>clwt_ex132.htm</title><!--Document created using EDGARMaster--></head><body style="TEXT-ALIGN: justify; FONT: 10pt times new roman"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp; </p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><strong>EXHIBIT 13.2</strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Certification of the Chief Financial Officer Pursuant to</strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>18 U.S. C. Section 1350, As Adopted Pursuant to</strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Section 906 of the Sarbanes-Oxley Act of 2002</strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">In connection with the Annual Report of Euro Tech Holdings Company Limited (the &#8220;Company&#8221;) on Form 20-F for the year ended December 31, 2024 as filed with the Securities and Exchange Commission on the date hereof (the &#8220;Report&#8221;), Jerry Wong, as Chief Financial Officer of the Company, hereby certifies pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, to the best of his knowledge, that:</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:4%;"></td> <td style="width:4%;vertical-align:top;"> <p style="font-size:10pt;font-family:times new roman;margin:0px">(a)</p></td> <td style="vertical-align:top;"> <p style="font-size:10pt;font-family:times new roman;margin:0px">The Report fully complies with the requirements of Section 13(a) of the Securities Exchange Act of 1934; and</p></td></tr> <tr style="height:15px"> <td></td> <td></td> <td></td></tr> <tr style="height:15px"> <td></td> <td style="vertical-align:top;"> <p style="font-size:10pt;font-family:times new roman;margin:0px">(b)</p></td> <td style="vertical-align:top;"> <p style="font-size:10pt;font-family:times new roman;margin:0px">The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.</p></td></tr></table> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:35%;"> <p style="font-size:10pt;font-family:times new roman;margin:0px">April 30, 2025</p></td> <td style="width:65%;"> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td style="BORDER-BOTTOM: 1px solid;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">/s/ Jerry Wong</p></td> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Jerry Wong</p></td> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Chief Financial Officer</p></td> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">(Principal Financial &amp; Accounting Officer)</p></td> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td></tr></table> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The foregoing certification is being furnished solely pursuant to section 906 of the Sarbanes-Oxley Act of 2002 (subsections (a) and (b) of section 1350, chapter 63 of title 18, United States Code) and is not being filed as part of a separate disclosure document.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p><body>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-16.1
<SEQUENCE>7
<FILENAME>clwt_ex161.htm
<DESCRIPTION>INSIDER TRADING POLICY
<TEXT>
<html><head><title>clwt_ex161.htm</title><!--Document created using EDGARMaster--></head><body style="TEXT-ALIGN: justify; FONT: 10pt times new roman"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><strong>EXHIBIT 16.1</strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong><u>INSIDER TRADING POLICY</u></strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>(Effective Date: April 11, 2025)</strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>INTRODUCTION &amp; REASONS FOR AN INSIDER TRADING POLICY</strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Board of Directors (the &#8220;<strong><em>Board</em></strong>&#8221;) of Euro Tech Holdings Company Limited (the &#8220;<strong><em>Company</em></strong>&#8221;) has adopted this insider trading policy (this &#8220;<strong><em>Policy</em></strong>&#8221;) to promote compliance by Insiders (as defined below) with laws that prohibit certain persons aware of material nonpublic information about a company from (i) trading in securities of that company, or (ii) providing material nonpublic information to other persons who may trade on the basis of such information. The Policy is designed both to satisfy the Company&#8217;s obligation to prevent insider trading and to help Company personnel avoid the severe consequences associated with violations of the insider trading laws. For purposes of this policy, the term &#8220;Company&#8221; includes of Euro Tech Holdings Company Limited and its subsidiaries.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Federal and state securities laws generally prohibit the purchase or sale of a company&#8217;s securities by persons aware of material nonpublic information about that company. These laws also prohibit persons aware of such material nonpublic information from disclosing such information to others who may trade on the basis of such information. Companies and their controlling persons are also subject to liability if they fail to take reasonable steps to prevent insider trading by their personnel.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">It is important that you understand the breadth of activities that constitute illegal insider trading and their potentially severe consequences. The U.S. Securities and Exchange Commission (the &#8220;<strong><em>SEC</em></strong>&#8221;) and the Financial Industry Regulatory Authority investigate and are very effective at detecting insider trading. The SEC pursues insider trading violations vigorously. Cases have been successfully prosecuted against trading by insiders through foreign accounts, trading by family members and friends, and trading involving only a small number of securities.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Ultimately, you are responsible for determining whether you are in possession of material nonpublic information and ensuring that you, and your family members, household members and controlled entities whose transactions are subject to this Policy, as discussed below, comply with this Policy and do not engage in illegal insider trading. Any action on the part of the Company, the Compliance Officer (as defined below) or any other officer, employee or director under this Policy (or otherwise) does not in any way constitute legal advice or insulate an individual from liability under securities laws.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>ADMINISTRATION OF THIS POLICY</strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Company&#8217;s Chief Executive Officer will serve as the &#8220;<strong><em>Compliance Officer</em></strong>&#8221; for this Policy and shall be responsible for the administration of this Policy. If the Chief Executive Officer is absent or is otherwise unavailable, or a matter under this Policy involves the Chief Executive Officer, then the Company&#8217;s Chief Financial Officer or another employee of the Company designated by the Board shall serve as the Compliance Officer for this Policy.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>APPLICABILITY OF POLICY</strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><em>Who is covered by this Policy?</em></strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">This Policy applies to (i) Board members, officers, and other employees of the Company and its subsidiaries, and (ii) any other persons, such as consultants, contractors and temporary staff, who have access to material nonpublic information and are designated by the Company as subject to this Policy (the persons described in clauses (i) and (ii) are collectively called &#8220;<strong><em>Insiders</em></strong>&#8221;). Consultants, contractors and temporary staff are not employees of the Company, and nothing in this Policy should be construed to the contrary.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">This Policy also applies to Family Members and Controlled Entities (as such terms are defined below) of Insiders. Insiders are responsible for ensuring that any transaction subject to this Policy engaged in by a Family Member or Controlled Entity complies with this Policy.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">For purposes of this Policy, with respect to any particular Insider, (i) a &#8220;<strong><em>Family Member</em></strong>&#8221; means (a) any family member (<em>e.g.</em>, spouse, parent, sibling or child) of such Insider who lives in the same household as such Insider and (b) any family member of such Insider who does not live in the same household as such Insider but whose transactions in Company Securities (as such term is defined below) are directed by such Insider or are subject to such Insider&#8217;s influence or control (<em>e.g.</em>, a family member who consults with the Insider before they trade in Company Securities); and (ii) a &#8220;<strong><em>Controlled Entity</em></strong>&#8221; means any entity that such Insider controls or whose transactions in securities are subject to such Insider&#8217;s influence or control.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"> <tr style="height:15px"> <td class="hpbhr">&nbsp;</td></tr> <tr style="height:15px"> <td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;"></td></tr> <tr style="height:15px"> <td><p style='page-break-after: always'></p></td></tr> <tr style="height:15px"> <td>&nbsp;</td></tr></table> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><em>What transactions are covered by this Policy?</em></strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Transactions in Company Securities.</em></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Except for Exempt Transactions (as defined below), this Policy applies to all transactions in Company Securities, as well as to derivative securities relating to the Company Securities, whether or not issued by the Company (<em>e.g.</em>, exchange-traded put and call options).</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">For purposes of this Policy, &#8220;<strong><em>Company Securities</em></strong>&#8221; means any securities issued by the Company, including, but not limited to, shares of common stock, shares of preferred stock, securities convertible into or exercisable or exchangeable for securities issued by the Company (<em>e.g.</em>, put and call options, convertible debentures, warrants), stock options and other equity-based awards, and debt securities (<em>e.g.</em>, debentures, bonds and notes).</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Transactions in Other Companies&#8217; Securities.</em></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">This Policy also generally applies to transactions in securities of any other publicly traded company when the Insider becomes aware of material nonpublic information about such other company in the course of employment with, or the performance of services on behalf of, the Company. All Insiders should treat material nonpublic information about other publicly traded companies with the same care required regarding information about the Company. Keep in mind that information that is not material to the Company may nevertheless be material to another publicly-traded company.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Transactions After Termination of Insider Status.</em></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">If you are aware of material nonpublic information at the time your status as an Insider terminates, notwithstanding the termination of Insider status, this Policy will continue to apply to your transactions in Company Securities until such information becomes public or no longer material.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><em>What transactions are&nbsp;<u>not</u>&nbsp;covered by this Policy?</em></strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Notwithstanding anything to the contrary in this Policy, this Policy&#8217;s trading restrictions do not apply to (collectively, &#8220;<strong><em>Exempt Transactions</em></strong>&#8221;):</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:4%;"> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td> <td style="width:4%;vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><font style="font-family:symbol">&#183;</font></p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">the purchase of Company Securities from the Company;</p></td></tr> <tr style="height:15px"> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><font style="font-family:symbol">&#183;</font></p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">the sale of Company Securities to the Company;</p></td></tr> <tr style="height:15px"> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><font style="font-family:symbol">&#183;</font></p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">the purchase and sale of mutual funds, similar professionally managed "commingled pools" or exchange-traded funds that invest in Company Securities in addition to securities of other companies;</p></td></tr> <tr style="height:15px"> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><font style="font-family:symbol">&#183;</font></p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">bona fide gifts of Company&#8217;s Securities to other Insiders or Family Members or Controlled Entities of an Insider;</p></td></tr> <tr style="height:15px"> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><font style="font-family:symbol">&#183;</font></p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">the exercise of a stock option awarded by the Company under one of its equity incentive plans; provided that no shares of the Company are sold in the market to fund the exercise price of such stock option or to satisfy any tax withholding obligation (the &#8220;cashless exercise&#8221; of a Company stock option through a broker involves the sale of shares of the Company in the market, and therefore would not qualify under this exception); provided, further, that, for the avoidance of doubt, this Policy does apply to transactions in the shares issued upon exercise of a stock option;</p></td></tr> <tr style="height:15px"> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><font style="font-family:symbol">&#183;</font></p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">the surrender of shares of the Company to satisfy any tax withholding obligation in a manner permitted by the applicable equity award agreement; provided that no shares of the Company are sold in the market in connection therewith;</p></td></tr> <tr style="height:15px"> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><font style="font-family:symbol">&#183;</font></p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">transactions executed under a Rule 10b5-1 trading program that (i) is entered into at a time when not in possession of material nonpublic information concerning the Company, (ii) complies with Rule 10b5-1 (&#8220;<strong><em>Rule 10b5-1</em></strong>&#8221;) promulgated under the Securities Exchange Act of 1934, as amended (the &#8220;<strong><em>Exchange Act</em></strong>&#8221;), or any successor rule, (iii) meets the Company&#8217;s Rule 10b5-1 trading program requirements (attached as Exhibit A), and (iv) has been approved in advance, in writing, by the Compliance Officer; or</p></td></tr> <tr style="height:15px"> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><font style="font-family:symbol">&#183;</font></p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">purchases of Company Securities in the Company&#8217;s 401(k) plan, if any, resulting from an Insider&#8217;s periodic contribution of money to the plan pursuant to the Insider&#8217;s payroll deduction election; provided, however, that this Policy&#8217;s trading restrictions do apply to elections an Insider may make under the 401(k) plan to: (i) increase or decrease the percentage of the Insider&#8217;s periodic contributions that will be allocated to the Company stock fund; (ii) make an intra-plan transfer of an existing account balance into or out of the Company stock fund; (iii) borrow money against the Insider&#8217;s 401(k) plan account if the loan will result in a liquidation of some or all of the Insider&#8217;s Company stock fund balance; and (iv) pre-pay a 401(k) plan loan if the pre-payment will result in allocation of loan proceeds to the Company stock fund.</p></td></tr></table> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp; </p> <table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"> <tr style="height:15px"> <td class="hpbhr">&nbsp;</td></tr> <tr style="height:15px"> <td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">2</td></tr> <tr style="height:15px"> <td><p style='page-break-after: always'></p></td></tr> <tr style="height:15px"> <td>&nbsp;</td></tr></table> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>STATEMENT OF POLICY</strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><em>What is the Company&#8217;s general policy on insider trading and disclosure of nonpublic information?</em></strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Company opposes the unauthorized disclosure of any nonpublic information by an Insider acquired in the course of employment with, or the performance of services on behalf of, the Company and the misuse of material nonpublic information acquired in the course of employment with, or the performance of services on behalf of, the Company in securities trading.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><em>What policies and procedures am I required to adhere to before trading in securities?</em></strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Trading on Material Nonpublic Information is Prohibited.</em></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Insiders may not engage in any transaction involving a purchase or sale of Company Securities, including any offer to purchase or offer to sell, directly or through family members or other persons or entities, if they are aware of material nonpublic information relating to the Company. Similarly, Insiders may not trade in the securities of any other publicly traded company if they become aware of material nonpublic information about that other company in the course of employment with, or the performance of services on behalf of, the Company.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Because the Company&#8217;s stockholders and the investing public should be afforded time to receive and absorb material nonpublic information, for purposes of this Policy, as a general rule, you may not engage in any transactions prohibited by this Policy until after two (2) full Trading Sessions (as defined below) following the widespread public release of the applicable information. Thus, for example, if material nonpublic information is publicly disseminated&nbsp;<em>before</em>&nbsp;9:30 a.m. Eastern Time on a Monday, you may not engage in any transactions prohibited by this Policy until after the Trading Session ends on Tuesday, assuming Trading Sessions took place on Monday and Tuesday. Likewise, if material nonpublic information is publicly disseminated&nbsp;<em>before</em>&nbsp;9:30 a.m. Eastern Time on a Friday, you may not engage in any transactions prohibited by this Policy until after the Trading Session ends on Monday, assuming Trading Sessions took place on Friday and Monday. As another example, if material nonpublic information is publicly disseminated&nbsp;<em>after</em>&nbsp;9:30 a.m. on a Monday, you may not engage in any transactions prohibited by this Policy until after the Trading Session ends on Wednesday, assuming Trading Sessions took place on Tuesday and Wednesday. However, if the applicable information is complex, such as a significant corporate transaction, it may be necessary to allow additional time for the information to be absorbed by the Company&#8217;s stockholders and investing public. In such circumstances, you will be notified by the Compliance Officer regarding a suitable additional waiting period before you may engage in any transactions prohibited by this Policy.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">For purposes of this Policy, a &#8220;<strong><em>Trading Session</em></strong>&#8221; means a regular trading session of the United States national securities exchange on which the Company&#8217;s common stock is primarily listed, typically 9:30 a.m. Eastern Time to 4:00 p.m. Eastern Time on business days. For the avoidance of doubt, a Trading Session includes a pre-scheduled abbreviated trading session, such as 9:30 a.m. Eastern Time to 1:00 p.m. Eastern Time on November 29, 2024 and December 24, 2024.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Black-Out Periods; Preclearance.</em></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">While it is never permissible to trade based on material nonpublic information, the following procedures have been adopted to help prevent inadvertent violations of this Policy and to avoid even the appearance of an improper transaction<em>.</em></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"> <tr style="height:15px"> <td class="hpbhr">&nbsp;</td></tr> <tr style="height:15px"> <td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">3</td></tr> <tr style="height:15px"> <td><p style='page-break-after: always'></p></td></tr> <tr style="height:15px"> <td>&nbsp;</td></tr></table> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">(1)&nbsp;<u>Regularly Scheduled Black-Out Periods</u>. Board members, Senior Management, Financial Team Members, Designated Employees (each as defined below) and Family Members and Controlled Entities of such individuals are prohibited from trading in the Company&#8217;s Securities during the following periods (a &#8220;<strong><em>regularly scheduled black-out period</em></strong>&#8221;):</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:4%;"> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td> <td style="width:4%;vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><font style="font-family:symbol">&#183;</font></p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">the period beginning at 12:01 a.m. Eastern Time on the date that is two (2) calendar days prior to the end of each fiscal quarter until after two (2) full Trading Sessions following the widespread public release of the Company&#8217;s financial results for the applicable quarter and, in the case of the fourth quarter, financial results for the year ended; and</p></td></tr> <tr style="height:15px"> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><font style="font-family:symbol">&#183;</font></p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">any other periods as determined by the Compliance Officer.</p></td></tr></table> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp; </p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">The individuals designated as &#8220;<strong><em>Senior Management,</em></strong>&#8221; &#8220;<strong><em>Financial Team Members</em></strong>&#8221; and &#8220;<strong><em>Designated Employees</em></strong>&#8221; are listed on Schedules A-1, A-2 and A-3, respectively. The Compliance Officer may, from time to time, update the list of individuals designated as, and/or designate additional individuals as, Senior Management, Financial Team Members or Designated Employees, in which case the Compliance Officer shall notify the affected individuals.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">(2)&nbsp;<u>Special Black-Out Periods</u>. Insiders and their Family Members and Controlled Entities are prohibited from trading in the Company&#8217;s Securities during the following periods (a &#8220;<strong><em>special blackout period</em></strong>&#8221;):</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:4%;"> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td> <td style="width:4%;vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><font style="font-family:symbol">&#183;</font></p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">from the time each such individual becomes aware of the material nonpublic information (the black-out start times often vary), until after two (2) full Trading Sessions following the widespread public announcement of the applicable information, unless the information released is complex, in which case it may be necessary to extend this period and the Compliance Officer will notify you of any such extension; and</p></td></tr> <tr style="height:15px"> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><font style="font-family:symbol">&#183;</font></p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">during other specified periods when significant developments or announcements are anticipated, as notified by the Compliance Officer.</p></td></tr></table> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp; </p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">You will be notified by e-mail when you may not trade in the Company&#8217;s Securities during a special blackout period, in which event you will also be notified when trading restrictions are lifted. The existence of a special blackout period may not be announced to all Company personnel and you should not communicate the existence of a special blackout period to any other person. Even if the Company has not designated you as a person to whom a special blackout period applies, you should not trade if you are aware of material nonpublic information because you are responsible at all times for not engaging in illegal insider trading.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">(3)&nbsp;<u>Preclearance Procedures</u>. In order to ensure compliance with this Policy and with any Section 16 reporting requirements, Board members, Senior Management, Financial Team Members, Designated Employees and their respective Family Members and Controlled Entities must obtain written preclearance from the Compliance Officer of any proposed transaction to which this Policy&#8217;s restrictions apply prior to commencing any transaction in Company Securities, or in derivative securities not issued by the Company but that relate to Company Securities. The Compliance Officer is under no obligation to approve a transaction submitted for preclearance and may determine not to permit the transaction. When making a request for preclearance, the requestor should carefully consider whether he or she may be aware of any material nonpublic information relating to the Company and must fully describe the applicable facts and circumstances to the Compliance Officer. The procedure for making a request for preclearance may be obtained from the Compliance Officer.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>No Exception for Hardship.</em></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">An Insider may, from time to time, have to forego a proposed transaction in Company Securities even if he or she planned to make the transaction before learning of the material nonpublic information and even though the Insider believes he or she may suffer an economic loss or forego anticipated profit by waiting. The existence of a personal financial emergency does not excuse you from compliance with applicable securities laws or this Policy.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"> <tr style="height:15px"> <td class="hpbhr">&nbsp;</td></tr> <tr style="height:15px"> <td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">4</td></tr> <tr style="height:15px"> <td><p style='page-break-after: always'></p></td></tr> <tr style="height:15px"> <td>&nbsp;</td></tr></table> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><em>May I disclose nonpublic information about the Company or about other companies to others?</em></strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Maintaining the Confidentiality of Nonpublic Information.</em></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Unauthorized disclosure of any confidential information of the Company or of any other company of which you become aware of in the course of employment with, or the performance of services on behalf of, the Company is prohibited.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Maintaining the confidentiality of Company information is essential for competitive, security and other business reasons, as well as to comply with applicable securities laws. You should treat all information you learn about the Company or its business plans in connection with your employment with, or the performance of services on behalf of, the Company as confidential and proprietary to the Company. Inadvertent disclosure of confidential information may expose the Company and you to significant risk of investigation and litigation.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The timing and nature of the Company&#8217;s disclosure of material information to outsiders is subject to legal rules, the breach of which could result in substantial liability to you, the Company and its management. Accordingly, it is important that responses to inquiries about the Company by the press, analysts or others in the financial community be made on the Company&#8217;s behalf only through authorized individuals.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">This Policy should not be interpreted to modify any agreement between the Company and an Insider relating to use or protection of confidential information, or the Insider&#8217;s obligations relating to confidential information under the Company&#8217;s Code of Business Conduct and Ethics or under any other Company policy.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">If you receive inquiries about the Company from analysts, reporters, or others, decline to comment and direct them to the Chief Executive Officer or such other persons as the Chief Executive Officer may designate.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">As a precaution, keep all memoranda, correspondence and other documents that reflect nonpublic information in a secure place (<em>e.g.</em>, a locked office or a locked file cabinet) so they cannot be accessed by third parties.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Prohibition on &#8220;Tipping.&#8221;</em></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Insiders may be liable under securities laws for communicating (or &#8220;<strong><em>tipping</em></strong>&#8221;) material nonpublic information about the Company or about any other public company of which you become aware of in the course of employment with, or the performance of services on behalf of, the Company to another person who trades, directly or indirectly, on the information tipped to them. &#8220;Tipping&#8221; is illegal and prohibited under this Policy. No Insider shall disclose material nonpublic information relating to the Company or about any other public company of which you become aware of in the course of employment with, or the performance of services on behalf of, the Company to any other person (including, but not limited to, family members, friends, business associates and investors), unless any such disclosure is made in accordance with the Company&#8217;s policies regarding the protection or authorized disclosure of nonpublic information. Further, Insiders may not make recommendations or express opinions on the basis of material nonpublic information as to trading in Company Securities. Even if you are not in possession of material nonpublic information, do not recommend to any other person that they buy or sell securities of the Company. Remember that &#8220;tipping&#8221; material nonpublic information is always prohibited, and that your recommendation could be imputed to the Company and may be misleading if you do not have all relevant information.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Do not discuss material nonpublic information where it may be overheard, such as in restaurants, elevators, restrooms, and other public places. Remember that phone conversations are often overheard and that persons other than intended recipients may retrieve voicemails, e-mails, text messages and other electronic communications.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><em>May I trade in Company derivative securities or short sell Company Securities?</em></strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Company considers it improper and inappropriate for Insiders to engage in short-term or speculative transactions in Company Securities or in other transactions in Company Securities that may lead to inadvertent violations of the insider trading laws. Accordingly, trading in Company Securities is subject to the following restrictions:</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Short Sales</em>. You may not engage in &#8220;short sales&#8221; of Company Securities (<em>i.e.</em>, sales of securities that are not then owned).</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"> <tr style="height:15px"> <td class="hpbhr">&nbsp;</td></tr> <tr style="height:15px"> <td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">5</td></tr> <tr style="height:15px"> <td><p style='page-break-after: always'></p></td></tr> <tr style="height:15px"> <td>&nbsp;</td></tr></table> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Publicly Traded Options</em>. You may not engage in transactions in publicly traded options (<em>e.g.</em>, puts, calls and other derivative securities), on an exchange or in any other organized market on Company Securities.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Standing Orders</em>. Standing orders should be used only for a very brief period of time and should not be used during any regularly scheduled black-out period or any special blackout period. A standing order placed with a broker to sell or purchase securities at a specified price leaves you with no control over the timing of the transaction. A standing order transaction executed by the broker when you are aware of material nonpublic information may result in unlawful insider trading and violation of this Policy. Should you have an open standing order, you must cancel the order before the beginning of a regularly scheduled black-out period or as soon as you become aware of material nonpublic information, including as soon as you become aware of the existence of a special blackout period.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Hedging Transactions</em>. You may not engage in any kind of hedging transaction that could reduce or limit your holdings, ownership or interest in or to any Company Securities, including, without limitation, outstanding stock options, deferred share units, restricted share units, or other compensation awards the value of which are derived from, referenced to or based on the value or market price of securities of the Company. Prohibited transactions include the purchase of financial instruments, including prepaid variable forward contracts, instruments for the short sale or purchase or sale of call or put options, equity swaps, collars, or units of exchangeable funds, that are designed to or that may reasonably be expected to have the effect of hedging or offsetting a decrease in the market value of any securities of the Company.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Margin Accounts and Pledges</em>. Securities held in a margin account or pledged as collateral for a loan may be sold without your consent by the broker if you fail to meet a margin call or by the lender in foreclosure if you default on the loan. Because a margin or foreclosure sale may occur at a time when you are aware of material nonpublic information or otherwise are not permitted to trade in Company Securities, you are prohibited from holding Company Securities in a margin account or pledging Company Securities as collateral for a loan.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><em>May I pre-establish a time for the purchase or sale of Company Securities at a time that I am not aware of material nonpublic information?</em></strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Yes, directors, officers and other employees of the Company may establish written trading programs pursuant to Rule 10b5-1. Any such trading program is subject to the restrictions and limitation in&nbsp;<u>Exhibit A</u>, which may be updated from time to time to conform with changes to Rule 10b5-1 or the practices thereunder. Once a Rule 10b5-1 trading program is implemented in accordance with&nbsp;<u>Exhibit A</u>, trades pursuant to, and in accordance with, such program are not subject to the limitations and restrictions set forth in this Policy. Every Rule 10b5-1 trading program (or the form of program established by an investment bank or other third party) must be reviewed and approved by the Compliance Officer prior to establishment to confirm compliance with this Policy and applicable securities laws.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>POTENTIAL CRIMINAL AND CIVIL LIABILITY AND/OR DISCIPLINARY ACTION</strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><em>What legal liability may I be subject to if I engage in securities transactions on the basis of material nonpublic information?</em></strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Insiders that engage in securities transactions at a time when they are aware of material nonpublic information may be subject to penalties that include:</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:4%;"> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td> <td style="width:4%;vertical-align:top;"> <p style="font-size:10pt;font-family:times new roman;margin:0px"><font style="font-family:symbol">&#183;</font></p></td> <td style="vertical-align:top;">imprisonment for up to 20 years;</td></tr> <tr style="height:15px"> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="font-size:10pt;font-family:times new roman;margin:0px"><font style="font-family:symbol">&#183;</font></p></td> <td style="vertical-align:top;">criminal fines of up to $5 million; and</td></tr> <tr style="height:15px"> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="font-size:10pt;font-family:times new roman;margin:0px"><font style="font-family:symbol">&#183;</font></p></td> <td style="vertical-align:top;">civil fines of up to three times the profit gained or the loss avoided.</td></tr></table> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp; </p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><em>What legal liability may I be subject to if I disclose material nonpublic information to others who engage in securities transactions?</em></strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Insiders may be liable for improper transactions by any person (commonly called a &#8220;<strong><em>tippee</em></strong>&#8221;) to whom they have disclosed material nonpublic information regarding the Company or to whom they have made recommendations or expressed opinions on the basis of such information as to trading in Company Securities. The SEC has imposed large penalties even when the disclosing person did not profit from the trading. The SEC, the stock exchanges and the Financial Industry Regulatory Authority use sophisticated electronic surveillance techniques to uncover insider trading.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"> <tr style="height:15px"> <td class="hpbhr">&nbsp;</td></tr> <tr style="height:15px"> <td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">6</td></tr> <tr style="height:15px"> <td><p style='page-break-after: always'></p></td></tr> <tr style="height:15px"> <td>&nbsp;</td></tr></table> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><em>Could the Company incur liability for my actions if I engage in securities transactions at a time that I have material nonpublic information?</em></strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">If the Company fails to take appropriate steps to prevent illegal insider trading, the Company may have &#8220;controlling person&#8221; liability for a trading violation, with civil penalties, as well as a criminal penalty of up to $25 million. The civil penalties can extend personal liability to the Company&#8217;s directors, officers and other supervisory personnel if they fail to take appropriate steps to prevent insider trading.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><em>What disciplinary actions may the Company take for violations of this Policy?</em></strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Company expects strict compliance with this Policy and the procedures under this Policy by all Insiders. Failure to so comply may result in serious legal consequences for you, as well as the Company. A failure to follow the letter and spirit of this Policy and its procedures would be considered a matter of extreme seriousness. All Insiders must execute a certificate in the form attached as&nbsp;<u>Exhibit B</u>, pursuant to which they certify that, among other things, such persons are currently, and will continue to be, in compliance with this Policy.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Insiders who violate this Policy may be subject to disciplinary action by the Company. Such disciplinary action may include ineligibility for future participation in the Company&#8217;s equity incentive plans, other Company imposed sanctions, suspension or termination of employment.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>DEFINITION OF MATERIAL NONPUBLIC INFORMATION</strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Material nonpublic information has two important elements: materiality and public availability.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><em>What information is material?</em></strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">It is not possible to define all categories of material information. However, information should be regarded as material if there is a reasonable likelihood that it would be considered important to an investor in making an investment decision (<em>i.e.</em>, a decision to buy, hold or sell a security), or if it would significantly alter the total mix of information available to investors. While it may be difficult under this standard to determine whether particular information is material, there are various categories of information that are particularly sensitive and, as a general rule, should always be considered material. Examples of such information include:</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:4%;"> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td> <td style="width:4%;vertical-align:top;"> <p style="font-size:10pt;font-family:times new roman;margin:0px"><font style="font-family:symbol">&#183;</font></p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">financial results;</p></td></tr> <tr style="height:15px"> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><font style="font-family:symbol">&#183;</font></p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">projections of future earnings or losses;</p></td></tr> <tr style="height:15px"> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><font style="font-family:symbol">&#183;</font></p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">news of a pending or proposed merger or acquisition;</p></td></tr> <tr style="height:15px"> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><font style="font-family:symbol">&#183;</font></p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">news of the disposition of a subsidiary or significant assets;</p></td></tr> <tr style="height:15px"> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><font style="font-family:symbol">&#183;</font></p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">impending bankruptcy or financial liquidity problems;</p></td></tr> <tr style="height:15px"> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><font style="font-family:symbol">&#183;</font></p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">gain or loss of a substantial customer or supplier;</p></td></tr> <tr style="height:15px"> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><font style="font-family:symbol">&#183;</font></p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">changes in a dividend policy;</p></td></tr> <tr style="height:15px"> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><font style="font-family:symbol">&#183;</font></p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">new project developments or announcements of a significant nature</p></td></tr> <tr style="height:15px"> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><font style="font-family:symbol">&#183;</font></p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">developments, decisions or communications related to the Company by regulatory authorities;</p></td></tr> <tr style="height:15px"> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><font style="font-family:symbol">&#183;</font></p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">stock splits;</p></td></tr> <tr style="height:15px"> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><font style="font-family:symbol">&#183;</font></p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">new equity or debt offerings;</p></td></tr> <tr style="height:15px"> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><font style="font-family:symbol">&#183;</font></p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">significant litigation exposure due to actual or threatened litigation or developments in existing litigation;</p></td></tr> <tr style="height:15px"> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><font style="font-family:symbol">&#183;</font></p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">significant changes in senior management;</p></td></tr> <tr style="height:15px"> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><font style="font-family:symbol">&#183;</font></p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">information as to the success, failure or even the unchanging status of particular aspects of the Company&#8217;s business; and</p></td></tr> <tr style="height:15px"> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><font style="font-family:symbol">&#183;</font></p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">significant cybersecurity incidents, such as a data breach or any other significant disruption in the Company&#8217;s operations or the loss, potential loss, breach or unauthorized access of its property or assets.</p></td></tr></table> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp; </p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Both positive and negative information may be material. Because trading that receives scrutiny will be evaluated after the fact with the benefit of hindsight, questions concerning the materiality of particular information should be resolved in favor of materiality, and trading should be avoided.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"> <tr style="height:15px"> <td class="hpbhr">&nbsp;</td></tr> <tr style="height:15px"> <td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">7</td></tr> <tr style="height:15px"> <td><p style='page-break-after: always'></p></td></tr> <tr style="height:15px"> <td>&nbsp;</td></tr></table> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><em>What constitutes nonpublic information?</em></strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Nonpublic information is information that has not been previously disclosed to the general public and is otherwise not available to the general public. One common misconception is that material information loses its &#8220;nonpublic&#8221; status as soon as a press release is issued disclosing the information. In fact, information is considered available to the public only when it has been released broadly to the marketplace (<em>e.g.</em>, by a press release or an SEC filing) and the investing public has had time to absorb the information fully. For more information, see &#8220;STATEMENT OF POLICY&#8212;What policies and procedures am I required to adhere to before trading in securities?&#8221;, above.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>ADDITIONAL INFORMATION: DIRECTORS AND OFFICERS</strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Board members and certain officers of the Company must also comply with the reporting obligations and limitations on short-swing transactions set forth in Section 16 of the Exchange Act. The practical effect of these provisions is that such persons who purchase and sell Company Securities within a six-month period must disgorge all profits to the Company whether or not they had knowledge of any material nonpublic information. Under these provisions, and so long as certain other criteria are met, neither the receipt of a stock option under a Company equity incentive plan, nor exercising that option, is deemed a purchase under Section 16; however, the sale of any such shares is a sale under Section 16.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>POLICY INTERPRETATION AND AMENDMENTS</strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Compliance Officer is authorized to interpret this Policy as necessary. The Compliance Officer may authorize deviations in the procedures in this Policy, provided those deviations are consistent with the general purpose of this Policy and applicable securities laws. Any such deviations must be confirmed in writing.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Any amendment to this Policy must be approved by the Board.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>QUESTIONS ABOUT THIS POLICY</strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Please direct your questions as to any matters discussed in this Policy to the Compliance Officer.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"> <tr style="height:15px"> <td class="hpbhr">&nbsp;</td></tr> <tr style="height:15px"> <td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">8</td></tr> <tr style="height:15px"> <td><p style='page-break-after: always'></p></td></tr> <tr style="height:15px"> <td>&nbsp;</td></tr></table> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>As of </strong><strong>April 11</strong><strong>, 2025</strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Schedule A-1<u> </u></strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Senior Management</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">All Executive (Section 16) Officers, including:</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:3%;"></td> <td style="width:3%;vertical-align:top;"> <p style="font-size:10pt;font-family:times new roman;margin:0px">1.</p></td> <td style="vertical-align:top;"> <p style="font-size:10pt;font-family:times new roman;margin:0px">Chief Executive Officer</p></td></tr></table> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:3%;"></td> <td style="width:3%;vertical-align:top;"> <p style="font-size:10pt;font-family:times new roman;margin:0px">2.</p></td> <td style="vertical-align:top;"> <p style="font-size:10pt;font-family:times new roman;margin:0px">Chief Financial Officer</p></td></tr></table> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Schedule A-2 <u>Financial Team Members</u></strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">All members of the Company&#8217;s financial team, including:</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:3%;"></td> <td style="width:3%;vertical-align:top;"> <p style="font-size:10pt;font-family:times new roman;margin:0px">1.</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">All members of Senior Management</p></td></tr></table> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:3%;"></td> <td style="width:3%;vertical-align:top;"> <p style="font-size:10pt;font-family:times new roman;margin:0px">2.</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">All persons who directly report to the Company&#8217;s Chief Executive Officer</p></td></tr></table> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:3%;"></td> <td style="width:3%;vertical-align:top;"> <p style="font-size:10pt;font-family:times new roman;margin:0px">3.</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">All persons in a manager position or above in the Company&#8217;s finance department</p></td></tr></table> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Schedule A-3 <u>Designated Employees</u></strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">None.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"> <tr style="height:15px"> <td class="hpbhr">&nbsp;</td></tr> <tr style="height:15px"> <td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">9</td></tr> <tr style="height:15px"> <td><p style='page-break-after: always'></p></td></tr> <tr style="height:15px"> <td>&nbsp;</td></tr></table> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong><u>EXHIBIT A</u></strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Rule 10b5-1 trading programs established pursuant to this Policy (each a &#8220;<strong><em>Program</em></strong>&#8221;) are limited to:</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">(a) A written trading plan (commonly called a non-discretionary Rule 10b5-1 plan) that permits automatic trading of Company Securities through a third party broker (an &#8220;<strong><em>Automatic Trading Program</em></strong>&#8221;) established by a director, officer or other employee of the Company (a &#8220;<strong><em>Program Eligible Person</em></strong>&#8221; or &#8220;<strong><em>you</em></strong>&#8221; in this&nbsp;<u>Exhibit A</u>) at a time when the Program Eligible Person is not aware of material nonpublic information (and, in the case of Board members, Senior Management and Financial Team Members, not during a regularly scheduled black-out period or special blackout period). The Automatic Trading Program must specify the number (or dollar value) of Company Securities to be purchased or sold, the price (which may be a fixed price, market price or minimum/maximum price) at which the Company Securities are to be traded, and the date(s) on which the trades are to be made. Alternatively, the Automatic Trading Program may include a written formula or algorithm, or computer program, for determining the amount of securities to be purchased or sold and the price at which and the date on which the securities were to be purchased or sold (<em>e.g.</em>, the number of shares could be specified as a percentage of the holdings of the Program Eligible Person); or</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.5in; text-align:justify;">(b) A Program where transactions in Company Securities are initiated by the trustee of a so-called &#8220;blind&#8221; trust, provided the Program is established by a Program Eligible Person at a time when the Program Eligible Person is not aware of material nonpublic information. A &#8220;blind&#8221; trust is a trust established by a Program Eligible Person. An independent trustee without any involvement or even knowledge of the Program Eligible Person must make the investment and disposition decisions. The trustee should be a recognized financial institution possessing trust powers. Under this type of Program, the Program Eligible Person cannot exert any influence over, or even communicate with, the trustee regarding specific investments. If the trustee becomes aware of material nonpublic information regarding the Company, whether from the Program Eligible Person or otherwise, the trustee may not engage in a purchase or sale of Company Securities.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Additional Program Restrictions</em>. All Programs are subject to the requirements of Rule 10b5-1 and to the following:</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:4%;"> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td> <td style="width:4%;vertical-align:top;"> <p style="font-size:10pt;font-family:times new roman;margin:0px"><font style="font-family:symbol">&#183;</font></p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Program must provide that no trades may occur thereunder until expiration of the applicable cooling-off period specified in Rule 10b5-1(c)(ii)(B), and no trades occur under the Program until after that time.</p></td></tr></table> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp; </p> <table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:8%;"> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td> <td style="width:4%;vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">o</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The applicable cooling-off period varies based on the status of the Program Eligible Person.</p></td></tr> <tr style="height:15px"> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">o</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">For directors and officers, the cooling-off period ends on the later of (x) ninety (90) days after adoption or modification of the Program; and (y) two (2) business days following disclosure of the Company's financial results in a Form 10-Q or Form 10-K for the fiscal quarter in which the Program was adopted.</p></td></tr> <tr style="height:15px"> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">o</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">For all other Program Eligible Persons, the cooling-off period ends thirty (30) days after the adoption or modification of the Program.</p></td></tr></table> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp; </p> <table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:4%;"> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td> <td style="width:4%;vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><font style="font-family:symbol">&#183;</font></p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Program must include an expiration date that is at least six (6) months but not more than eighteen (18) months from the effective date of the Program. Shorter-term Programs may be viewed as an attempt to make advantageous short-term trades, and longer-term Programs are likely to have to be amended or terminated, which defeats the ultimate purpose of Programs.</p></td></tr> <tr style="height:15px"> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><font style="font-family:symbol">&#183;</font></p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Once the Program is established, the Program must not permit the Program Eligible Person to exercise any influence or control over the amount of Company Securities to be traded, the price(s) at which they are to be traded or the date(s) on which the trades are to be made.</p></td></tr> <tr style="height:15px"> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><font style="font-family:symbol">&#183;</font></p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Program Eligible Person cannot engage in any separate transaction (e.g., a hedging transaction) that directly or indirectly alters or offsets a trade under the Program.</p></td></tr></table> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp; </p> <table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"> <tr style="height:15px"> <td class="hpbhr">&nbsp;</td></tr> <tr style="height:15px"> <td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">10</td></tr> <tr style="height:15px"> <td><p style='page-break-after: always'></p></td></tr> <tr style="height:15px"> <td>&nbsp;</td></tr></table> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:4%;"> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td> <td style="width:4%;vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><font style="font-family:symbol">&#183;</font></p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Program must allow for the cancellation of a transaction and/or suspension of a Program upon notice and request by the Company to the extent the Program or any proposed trade thereunder (i) fails to comply with applicable law (e.g., exceeding the number of shares which the Program Eligible Person may sell under Rule 144 in a rolling three month period), or (ii) would create material adverse consequences for the Company (e.g., due to the imposition of lock-up agreements on the Program Eligible Person).</p></td></tr> <tr style="height:15px"> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><font style="font-family:symbol">&#183;</font></p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Any Program entered into by a Program Eligible Person must be the only outstanding Program for such Program Eligible Person, subject to the exceptions set out in Rule 10b5-1(c)(ii)(D).</p></td></tr> <tr style="height:15px"> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><font style="font-family:symbol">&#183;</font></p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Subject to and in accordance with the terms of Rule 10b5-1, a Program Eligible Person may not have more than one &#8220;single trade&#8221; Program during any twelve (12)-month period.</p></td></tr> <tr style="height:15px"> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><font style="font-family:symbol">&#183;</font></p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Program must be entered into (a) in good faith and not as part of a plan or scheme to evade the prohibitions of the securities laws (including, without limitation, Rule 10b5-1) and (b) at a time when the Program Eligible Person is not aware of material nonpublic information about the Company; and if the Program Eligible Person is a director or officer of the Company, the Program for such director or officer must include representations by the director or officer certifying as to the matters described in clauses (a) and (b).</p></td></tr></table> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp; </p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Amendment, Suspension or Termination of Programs</em>. Any modification or change to the amount, price, or timing of the purchase or sale of the securities underlying a Program is considered a termination of such Program and the adoption of a new Program. Amendments, suspensions, and terminations of Programs will be viewed in hindsight and could call into question whether the Program was entered into in good faith. As a result, amendments, suspensions, and terminations of Programs (unless in accordance with the terms of the Program when established) require preapproval of the Compliance Officer, who will inquire into the change in circumstances that has occurred since the inception of the Program giving rise to the requested amendment, suspension, or termination. Scheduled sales or purchases of securities pursuant to a Program will not be halted during the pendency of the amendment, suspension, or termination request. The Company has the right at any time to require additional and/or different requirements in connection with the amendment, suspension, or termination of a Program in order to protect you and the Company from potential liability. Further, a Program may be terminated or suspended by the Company at any time and for any reason.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">In addition, you may voluntarily amend, suspend or terminate a Program, subject to these conditions:</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:4%;"> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td> <td style="width:4%;vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><font style="font-family:symbol">&#183;</font></p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">A Program Eligible Person must obtain preclearance from the Compliance Officer to amend, suspend or terminate their Program.</p></td></tr> <tr style="height:15px"> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><font style="font-family:symbol">&#183;</font></p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">A Program Eligible Person may not amend, suspend or terminate their Program during a regularly scheduled black-out period or special blackout period or if at the time of the amendment, suspension or termination, the Program Eligible Person possesses material nonpublic information concerning the Company. A Program Eligible Person must sign a certificate in favor of the Company affirmatively stating that they do not possess material nonpublic information concerning the Company at the time of the amendment, suspension or termination.</p></td></tr> <tr style="height:15px"> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><font style="font-family:symbol">&#183;</font></p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The amendment, suspension or termination must include any applicable cooling-off period pursuant to Rule 10b5-1.</p></td></tr> <tr style="height:15px"> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><font style="font-family:symbol">&#183;</font></p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">No suspension of a Program may exceed sixty (60) calendar days.</p></td></tr> <tr style="height:15px"> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><font style="font-family:symbol">&#183;</font></p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">At least one (1) year must elapse between the termination of a Program and the entry into a new Program.</p></td></tr> <tr style="height:15px"> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><font style="font-family:symbol">&#183;</font></p></td> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">A Program Eligible Person will be limited to one amendment or suspension of their Program during its term.</p></td></tr></table> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp; </p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Company Disclosure</em>. The Company will be required to make certain disclosures in accordance with Rule 10b5-1 regarding any adoption, modification or termination of a Program by any person subject to Section 16 of the Exchange Act. Upon the occurrence of any such adoption, modification or termination, such persons must promptly furnish the Compliance Officer with information regarding the date of adoption, termination or modification of the Program, the Program&#8217;s duration, the aggregate number of securities to be sold or purchased under the Program and any other information reasonably requested by the Compliance Officer.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>You have the ultimate and exclusive responsibility for adhering to the requirements set forth herein. Any action on the part of the Company, the Compliance Officer, or any other person pursuant to this Policy (or otherwise) does not in any way constitute legal advice or insulate you from liability under securities laws. You must notify the Compliance Officer if you become aware of a breach of the requirements, either by you or by another person subject to this Policy. The Company shall have no liability to any Program Eligible Person as a result of the establishment of a Program, any disclosure by the Company with respect thereto, or any cancellation or transactions and/or suspension of a Program as discussed above.</strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"> <tr style="height:15px"> <td class="hpbhr">&nbsp;</td></tr> <tr style="height:15px"> <td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">11</td></tr> <tr style="height:15px"> <td><p style='page-break-after: always'></p></td></tr> <tr style="height:15px"> <td>&nbsp;</td></tr></table> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong><u>EXHIBIT B</u></strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>CERTIFICATION OF COMPLIANCE</strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:8%;vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">TO:</p></td> <td style="width:35%;vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Compliance Officer</p></td> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td style="vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">FROM:&nbsp;</p></td> <td style="BORDER-BOTTOM: 1px solid;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td style="vertical-align:top;"> <p style="font-size:10pt;font-family:times new roman;margin:0px">RE:</p></td> <td style="vertical-align:top;"> <p style="font-size:10pt;font-family:times new roman;margin:0px">of Euro Tech Holdings Company Limited Insider Trading Policy</p></td> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td></tr></table> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">I have received, reviewed and understand the above-referenced Insider Trading Policy and undertake, as a condition to my present and continued employment (or, if I am not an employee, affiliation) with of Euro Tech Holdings Company Limited, or any of its subsidiaries or controlled entities to comply fully with the policies and procedures in the Insider Trading Policy, as the same may be amended, revised, restated and/or supplemented from time to time.</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="BORDER-BOTTOM: #000000 1px solid;"> <p style="margin:0px">&nbsp;</p></td> <td> <p style="margin:0px">&nbsp;</p></td> <td style="BORDER-BOTTOM: #000000 1px solid;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td style="width:40%;vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Signature</p></td> <td style="width:1%;"> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td> <td style="width:41%;vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">Date</p></td></tr> <tr style="height:15px"> <td style="BORDER-BOTTOM: #000000 1px solid;"> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td style="width:40%;vertical-align:top;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Title</p></td> <td style="width:1%;"> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td> <td style="width:41%;"> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p></td></tr></table> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"> <tr style="height:15px"> <td class="hpbhr">&nbsp;</td></tr> <tr style="height:15px"> <td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">12</td></tr></table> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p><body>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-97.1
<SEQUENCE>8
<FILENAME>clwt_ex971.htm
<DESCRIPTION>CLAWBACK POLICY
<TEXT>
<html><head><title>clwt_ex971.htm</title><!--Document created using EDGARMaster--></head><body style="TEXT-ALIGN: justify; FONT: 10pt times new roman"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><strong>EXHIBIT 97.1</strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>EURO TECH HOLDINGS COMPANY LIMITED</strong></p> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>INCENTIVE COMPENSATION </strong><strong>CLAWBACK POLICY</strong></p> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p> <p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:45px">The Board of Directors (the &#8220;<u>Board</u>&#8221;) of Euro Tech Holdings Company Limited (the &#8220;<u>Company</u>&#8221;) has adopted this Incentive Compensation Clawback Policy (the &#8220;<u>Policy</u>&#8221;), which requires the recoupment of certain incentive-based compensation in accordance with the terms herein and is intended to comply with Section 5608 of The Nasdaq r rules, as such section may be amended from time to time (the &#8220;<u>Nasdaq listing standards</u>&#8221;). This Policy shall be deemed effective as of the Effective Date.</p> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p> <table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:4%;"></td> <td style="width:4%;vertical-align:top;"> <p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>1.</strong></p></td> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Definitions</strong></p></td></tr></table> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p> <p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:45px">For purposes of this Policy, the following definitions shall apply:</p> <p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:45px">&nbsp;</p> <table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:8%;"></td> <td style="width:4%;vertical-align:top;"> <p style="font-size:10pt;font-family:times new roman;margin:0px">a)</p></td> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&#8220;<u>Committee</u>&#8221; means the&nbsp; Board of the Company or a committee appointed by the Board.</p></td></tr></table> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p> <table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:8%;"></td> <td style="width:4%;vertical-align:top;"> <p style="font-size:10pt;font-family:times new roman;margin:0px">b)</p></td> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&#8220;<u>Company Group</u>&#8221; means the Company and each of its subsidiaries or consolidated affiliated entities, as applicable.</p></td></tr></table> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p> <table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:8%;"></td> <td style="width:4%;vertical-align:top;"> <p style="font-size:10pt;font-family:times new roman;margin:0px">c)</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#8220;<u>Covered Compensation</u>&#8221; means any Incentive-Based Compensation granted, vested or paid to a person who served as an Executive Officer at any time during the performance period for the Incentive-Based Compensation and that was Received (i) on or after October 2, 2023 (the effective date of the Nasdaq listing standards), (ii) after the person became an Executive Officer, and (iii) at a time that the Company had a class of securities listed on a national securities exchange or a national securities association such as Nasdaq.</p></td></tr></table> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p> <table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:8%;"></td> <td style="width:4%;vertical-align:top;"> <p style="font-size:10pt;font-family:times new roman;margin:0px">d)</p></td> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&#8220;<u>Effective Date</u>&#8221; means December 1, 2023.</p></td></tr></table> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p> <table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:8%;"></td> <td style="width:4%;vertical-align:top;"> <p style="font-size:10pt;font-family:times new roman;margin:0px">e)</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#8220;<u>Erroneously Awarded Compensation</u>&#8221; means the amount of Covered Compensation granted, vested or paid to a person during the fiscal period when the applicable Financial Reporting Measure relating to such Covered Compensation was attained that exceeds the amount of Covered Compensation that otherwise would have been granted, vested or paid to the person had such amount been determined based on the applicable Restatement, computed without regard to any taxes paid (<em>i.e.</em>, on a pre-tax basis). For Covered Compensation based on stock price or total shareholder return, where the amount of Erroneously Awarded Compensation is not subject to mathematical recalculation directly from the information in a Restatement, the Committee will determine the amount of such Covered Compensation that constitutes Erroneously Awarded Compensation, if any, based on a reasonable estimate of the effect of the Restatement on the stock price or total shareholder return upon which the Covered Compensation was granted, vested or paid and the Committee shall maintain documentation of such determination and provide such documentation to Nasdaq.</p></td></tr></table> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p> <table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:8%;"></td> <td style="width:4%;vertical-align:top;"> <p style="font-size:10pt;font-family:times new roman;margin:0px">f)</p></td> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&#8220;<u>Exchange Act</u>&#8221; means the U.S. Securities Exchange Act of 1934.</p></td></tr></table> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p> <table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:8%;"></td> <td style="width:4%;vertical-align:top;"> <p style="font-size:10pt;font-family:times new roman;margin:0px">g)</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#8220;<u>Executive Officer</u>&#8221; means the Company&#8217;s president, principal financial officer, principal accounting officer (or if there is no such accounting officer, the controller), any vice-president of the Company in charge of a principal business unit, division, or function (such as sales, administration, or finance), any other officer who performs a policy-making function, or any other person (whether or not an officer of employee of the Company) who performs similar policy-making functions for the Company. Executive officers of the Company&#8217;s parent(s) or subsidiaries are deemed executive officers of the Company if they perform such policy making functions for the Company. &#8220;Policy-making function&#8221; does not include policy-making functions that are not significant. Both current and former Executive Officers are subject to the Policy in accordance with its terms.</p></td></tr></table> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p> <table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"> <tr style="height:15px"> <td class="hpbhr">&nbsp;</td></tr> <tr style="height:15px"> <td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">1</td></tr> <tr style="height:15px"> <td><p style='page-break-after: always'></p></td></tr> <tr style="height:15px"> <td>&nbsp;</td></tr></table> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p> <table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:8%;"></td> <td style="width:4%;vertical-align:top;"> <p style="font-size:10pt;font-family:times new roman;margin:0px">h)</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#8220;<u>Financial Reporting Measure</u>&#8221; means (i) any measure that is determined and presented in accordance with the accounting principles used in preparing the Company&#8217;s financial statements, and any measures derived wholly or in part from such measures and may consist of IFRS/U.S. GAAP or non-IFRS/non-U.S. GAAP financial measures (as defined under Regulation G of the Exchange Act and Item 10 of Regulation S-K under the Exchange Act), (ii) stock price or (iii) total shareholder return. Financial Reporting Measures need not be presented within the Company&#8217;s financial statements or included in a filing with the SEC.</p></td></tr></table> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p> <table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:8%;"></td> <td style="width:4%;vertical-align:top;"> <p style="font-size:10pt;font-family:times new roman;margin:0px">i)</p></td> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&#8220;<u>Home Country</u>&#8221; means the Company&#8217;s jurisdiction of incorporation,&nbsp;<em>i.e.</em>, the British Virgin Islands.</p></td></tr></table> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p> <table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:8%;"></td> <td style="width:4%;vertical-align:top;"> <p style="font-size:10pt;font-family:times new roman;margin:0px">j)</p></td> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&#8220;<u>Incentive-Based Compensation</u>&#8221; means any compensation that is granted, earned or vested based wholly or in part upon the attainment of a Financial Reporting Measure.</p></td></tr></table> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p> <table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:8%;"></td> <td style="width:4%;vertical-align:top;"> <p style="font-size:10pt;font-family:times new roman;margin:0px">k)</p></td> <td> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#8220;<u>Lookback Period</u>&#8221; means the three completed fiscal years (plus any transition period of less than nine months that is within or immediately following the three completed fiscal years and that results from a change in the Company&#8217;s fiscal year) immediately preceding the date on which the Company is required to prepare a Restatement for a given reporting period, with such date being the earlier of: (i) the date the Board, a committee of the Board, or the officer or officers of the Company authorized to take such action if Board action is not required, concludes, or reasonably should have concluded, that the Company is required to prepare a Restatement, or (ii) the date a court, regulator or other legally authorized body directs the Company to prepare a Restatement. A transition period between the last day of the Company&#8217;s previous fiscal year end and the first day of its new fiscal year that comprises a period of nine to 12 months would be deemed a completed fiscal year. Recovery of any Erroneously Awarded Compensation under the Policy is not dependent on if or when the restated financial statements are filed.</p></td></tr></table> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p> <table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:8%;"></td> <td style="width:4%;vertical-align:top;"> <p style="font-size:10pt;font-family:times new roman;margin:0px">l)</p></td> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&#8220;<u>Nasdaq</u>&#8221; means the Nasdaq Stock Market.</p></td></tr></table> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p> <table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:8%;"></td> <td style="width:4%;vertical-align:top;"> <p style="font-size:10pt;font-family:times new roman;margin:0px">m)</p></td> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&#8220;<u>Received</u>&#8221;: Incentive-Based Compensation is deemed &#8220;Received&#8221; in the Company&#8217;s fiscal period during which the Financial Reporting Measure specified in or otherwise relating to the Incentive-Based Compensation award is attained, even if the grant, vesting or payment of the Incentive-Based Compensation occurs after the end of that period.</p></td></tr></table> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p> <table style="border-spacing:0;font-size:10pt;text-align:justify;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:8%;"></td> <td style="width:4%;vertical-align:top;"> <p style="font-size:10pt;font-family:times new roman;margin:0px">n)</p></td> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&#8220;<u>Restatement</u>&#8221; means a required accounting restatement of any Company financial statement due to the material noncompliance of the Company with any financial reporting requirement under the securities laws, including (i) to correct an error in previously issued financial statements that is material to the previously issued financial statements (commonly referred to as a &#8220;Big R&#8221; restatement) or (ii) to correct an error in previously issued financial statements that is not material to the previously issued financial statements but that would result in a material misstatement if the error were corrected in the current period or left uncorrected in the current period (commonly referred to as a &#8220;little r&#8221; restatement). Changes to the Company&#8217;s financial statements that do not represent error corrections under the then-current relevant accounting standards will not constitute Restatements. Recovery of any Erroneously Awarded Compensation under the Policy is not dependent on fraud or misconduct by any person in connection with the Restatement.</p></td></tr></table> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p> <table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:8%;"></td> <td style="width:4%;vertical-align:top;"> <p style="font-size:10pt;font-family:times new roman;margin:0px">o)</p></td> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&#8220;<u>SEC</u>&#8221; means the U.S. Securities and Exchange Commission.</p></td></tr></table> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p> <table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"> <tr style="height:15px"> <td class="hpbhr">&nbsp;</td></tr> <tr style="height:15px"> <td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">2</td></tr> <tr style="height:15px"> <td><p style='page-break-after: always'></p></td></tr> <tr style="height:15px"> <td>&nbsp;</td></tr></table> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p> <table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:4%;"></td> <td style="width:4%;vertical-align:top;"> <p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>2.</strong></p></td> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Recovery of Erroneously Awarded Compensation</strong></p></td></tr></table> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 5.05pt; TEXT-INDENT: 0.25in; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">In the event of a Restatement, any Erroneously Awarded Compensation Received during the Lookback Period prior to the Restatement (a) that is then-outstanding but has not yet been paid shall be automatically and immediately forfeited and (b) that has been paid to any person shall be subject to reasonably prompt repayment to the Company Group in accordance with Section 3 of this Policy. The Committee must pursue (and shall not have the discretion to waive) the forfeiture and/or repayment of such Erroneously Awarded Compensation in accordance with Section 3 of this Policy, except as provided below.</p> <p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:45px">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">Notwithstanding the foregoing, the Committee (or, if the Committee is not a committee of the Board responsible for the Company&#8217;s executive compensation decisions and composed entirely of independent directors, a majority of the independent directors serving on the Board) may determine not to pursue the forfeiture and/or recovery of Erroneously Awarded Compensation from any person if the Committee determines that such forfeiture and/or recovery would be impracticable due to any of the following circumstances: (i) the direct expense paid to a third party (for example, reasonable legal expenses and consulting fees) to assist in enforcing the Policy would exceed the amount to be recovered, including the costs that could be incurred if pursuing such recovery would violate local laws other than the Company&#8217;s Home Country laws (following reasonable attempts by the Company Group to recover such Erroneously Awarded Compensation, the documentation of such attempts, and the provision of such documentation to Nasdaq), (ii) pursuing such recovery would violate the Company&#8217;s Home Country laws adopted prior to November 28, 2022 (provided that the Company obtains an opinion of Home Country counsel acceptable to Nasdaq that recovery would result in such a violation and provides such opinion to Nasdaq), or (iii) recovery would likely cause any otherwise tax-qualified retirement plan, under which benefits are broadly available to employees of the Company Group, to fail to meet the requirements of 26 U.S.C. 401(a)(13) or 26 U.S.C. 411(a) and regulations thereunder.</p> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p> <table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:4%;"></td> <td style="width:4%;vertical-align:top;"> <p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>3.</strong></p></td> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Means of Repayment</strong></p></td></tr></table> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 5pt; TEXT-INDENT: 0.25in; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">In the event that the Committee determines that any person shall repay any Erroneously Awarded Compensation, the Committee shall provide written notice to such person by email or certified mail to the physical address on file with the Company Group for such person, and the person shall satisfy such repayment in a manner and on such terms as required by the Committee, and the Company Group shall be entitled to set off the repayment amount against any amount owed to the person by the Company Group, to require the forfeiture of any award granted by the Company Group to the person, or to take any and all necessary actions to reasonably promptly recover the repayment amount from the person, in each case, to the fullest extent permitted under applicable law, including without limitation, Section 409A of the U.S. Internal Revenue Code and the regulations and guidance thereunder. If the Committee does not specify a repayment timing in the written notice described above, the applicable person shall be required to repay the Erroneously Awarded Compensation to the Company Group by wire, cash, cashier&#8217;s check or other means as agreed by the Committee no later than thirty (30) days after receipt of such notice.</p> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p> <table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:4%;"></td> <td style="width:4%;vertical-align:top;"> <p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>4.</strong></p></td> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>No Indemnification</strong></p></td></tr></table> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 5pt; TEXT-INDENT: 0.25in; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">No person shall be indemnified, insured or reimbursed by the Company Group in respect of any loss of compensation by such person in accordance with this Policy, nor shall any person receive any advancement of expenses for disputes related to any loss of compensation by such person in accordance with this Policy, and no person shall be paid or reimbursed by the Company Group for any premiums paid by such person for any third-party insurance policy covering potential recovery obligations under this Policy. For this purpose, &#8220;indemnification&#8221; includes any modification to current compensation arrangements or other means that would amount to&nbsp;<em>de facto&nbsp;</em>indemnification (for example, providing the person a new cash award which would be cancelled to effect the recovery of any Erroneously Awarded Compensation). In no event shall the Company Group be required to award any person an additional payment if any Restatement would result in a higher incentive compensation payment.</p> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p> <table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:4%;"></td> <td style="width:4%;vertical-align:top;"> <p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>5.</strong></p></td> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Miscellaneous</strong></p></td></tr></table> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 5pt; TEXT-INDENT: 0.25in; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">This Policy generally will be administered and interpreted by the Committee, provided that the Board may, from time to time, exercise discretion to administer and interpret this Policy, in which case, all references herein to &#8220;Committee&#8221; shall be deemed to refer to the Board. Any determination by the Committee with respect to this Policy shall be final, conclusive and binding on all interested parties. Any discretionary determinations of the Committee under this Policy, if any, need not be uniform with respect to all persons, and may be made selectively amongst persons, whether or not such persons are similarly situated.</p> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p> <table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"> <tr style="height:15px"> <td class="hpbhr">&nbsp;</td></tr> <tr style="height:15px"> <td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">3</td></tr> <tr style="height:15px"> <td><p style='page-break-after: always'></p></td></tr> <tr style="height:15px"> <td>&nbsp;</td></tr></table> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">This Policy is intended to satisfy the requirements of Section 954 of the Dodd-Frank Wall Street Reform and Consumer Protection Act, as it may be amended from time to time, and any related rules or regulations promulgated by the SEC or Nasdaq, including any additional or new requirements that become effective after the Effective Date which upon effectiveness shall be deemed to automatically amend this Policy to the extent necessary to comply with such additional or new requirements.</p> <p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:45px">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">The provisions in this Policy are intended to be applied to the fullest extent of the law. To the extent that any provision of this Policy is found to be unenforceable or invalid under any applicable law, such provision will be applied to the maximum extent permitted and shall automatically be deemed amended in a manner consistent with its objectives to the extent necessary to conform to applicable law. The invalidity or unenforceability of any provision of this Policy shall not affect the validity or enforceability of any other provision of this Policy. Recovery of Erroneously Awarded Compensation under this Policy is not dependent upon the Company Group satisfying any conditions in this Policy, including any requirements to provide applicable documentation to Nasdaq.</p> <p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:45px">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">The rights of the Company Group under this Policy to seek forfeiture or reimbursement are in addition to, and not in lieu of, any rights of recovery, or remedies or rights other than recovery, that may be available to the Company Group pursuant to the terms of any law, government regulation or stock exchange listing requirement or any other policy, code of conduct, employee handbook, employment agreement, equity award agreement, or other plan or agreement of the Company Group.</p> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p> <table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:4%;"></td> <td style="width:4%;vertical-align:top;"> <p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>6.</strong></p></td> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Amendment and Termination</strong></p></td></tr></table> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 5pt; TEXT-INDENT: 0.25in; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">To the extent permitted by, and in a manner consistent with applicable law, including SEC and Nasdaq rules, the Committee may terminate, suspend or amend this Policy at any time in its discretion.</p> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p> <table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:4%;"></td> <td style="width:4%;vertical-align:top;"> <p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>7.</strong></p></td> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Successors</strong></p></td></tr></table> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 5pt; TEXT-INDENT: 0.25in; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">This Policy shall be binding and enforceable against all persons and their respective beneficiaries, heirs, executors, administrators or other legal representatives with respect to any Covered Compensation granted, vested or paid to or administered by such persons or entities.</p> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p> <table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"> <tr style="height:15px"> <td class="hpbhr">&nbsp;</td></tr> <tr style="height:15px"> <td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">4</td></tr> <tr style="height:15px"> <td><p style='page-break-after: always'></p></td></tr> <tr style="height:15px"> <td>&nbsp;</td></tr></table> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>EURO TECH HOLDINGS COMPANY LIMITED</strong></p> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>INCENTIVE COMPENSATION </strong><strong>CLAWBACK POLICY</strong></p> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>ACKNOWLEDGMENT, CONSENT AND AGREEMENT</strong></p> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">I acknowledge that I have received and reviewed a copy of the Euro Tech Holdings Company Limited Clawback Policy (as may be amended from time to time, the &#8220;<u>Policy</u>&#8221;) and I have been given an opportunity to ask questions about the Policy and review it with my counsel. I knowingly, voluntarily and irrevocably consent to and agree to be bound by and subject to the Policy&#8217;s terms and conditions, including that I will return any Erroneously Awarded Compensation that is required to be repaid in accordance with the Policy. I further acknowledge, understand and agree that (i) the compensation that I receive, have received or may become entitled to receive from the Company Group is subject to the Policy, and the Policy may affect such compensation and (ii) I have no right to indemnification, insurance payments or other reimbursement by or from the Company Group for any compensation that is subject to recovery and / or forfeiture under the Policy. Capitalized terms used but not defined herein have the meanings set forth in the Policy.</p> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p> <table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:8%;vertical-align:bottom;"> <p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Signed:</strong></p></td> <td style="BORDER-BOTTOM: 1px solid;width:50%;"></td> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td></td> <td></td> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td style="vertical-align:bottom;"> <p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Print Name:</strong></p></td> <td style="BORDER-BOTTOM: 1px solid;"></td> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td></td> <td></td> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td style="vertical-align:bottom;"> <p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Date:</strong></p></td> <td style="BORDER-BOTTOM: 1px solid;"></td> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td></tr></table> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p> <table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"> <tr style="height:15px"> <td class="hpbhr">&nbsp;</td></tr> <tr style="height:15px"> <td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">5</td></tr></table> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p><body>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>9
<FILENAME>clwt-20241231.xsd
<DESCRIPTION>XBRL TAXONOMY EXTENSION SCHEMA
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii" standalone="yes"?>
<!--XBRL Document Created with XBRLMaster-->
<!--Version: 2.3.08-->
<!--Based on XBRL 2.1-->
<!--Date of creation: 04/30/2025-->
<!--Software architectural design and coding: A'c Dharmapremananda Avt.-->
<!--Copyright (c) 2025 I-NET Business Solutions, Inc. All Rights Reserved.-->
<schema xmlns:xl="http://www.xbrl.org/2003/XLink" xmlns:ref="http://www.xbrl.org/2006/ref" xmlns:currency="http://xbrl.sec.gov/currency/2024" xmlns:us-gaap-att="http://fasb.org/us-gaap/attributes" xmlns:sic="http://xbrl.sec.gov/sic/2024" xmlns:exch="http://xbrl.sec.gov/exch/2024" xmlns:invest="http://xbrl.sec.gov/invest/2013-01-31" xmlns:negated="http://www.xbrl.org/2009/role/negated" xmlns:naics="http://xbrl.sec.gov/naics/2024" xmlns:us-types="http://fasb.org/us-types/2024" xmlns:stpr="http://xbrl.sec.gov/stpr/2024" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:country="http://xbrl.sec.gov/country/2024" xmlns:utr="http://www.xbrl.org/2009/utr" xmlns:srt-types="http://fasb.org/srt-types/2024" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2020-01-21" xmlns:srt-roles="http://fasb.org/srt-roles/2024" xmlns:dei="http://xbrl.sec.gov/dei/2024" xmlns:num="http://www.xbrl.org/dtr/type/numeric" xmlns:nonnum="http://www.xbrl.org/dtr/type/non-numeric" xmlns:srt="http://fasb.org/srt/2024" xmlns:us-gaap="http://fasb.org/us-gaap/2024" xmlns:ecd="http://xbrl.sec.gov/ecd/2024" xmlns:clwt="http://euro-tech.com/20241231" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://euro-tech.com/20241231">
  <annotation>
    <appinfo>
      <link:roleType roleURI="http://euro-tech.com/role/Cover" id="Cover">
        <link:definition>000001 - Document - Cover</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://euro-tech.com/role/ConsolidatedBalanceSheets" id="ConsolidatedBalanceSheets">
        <link:definition>110200 - Statement - 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://euro-tech.com/role/ConsolidatedBalanceSheetsParenthetical" id="ConsolidatedBalanceSheetsParenthetical">
        <link:definition>110201 - Statement - 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://euro-tech.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss" id="ConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss">
        <link:definition>124100 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME (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://euro-tech.com/role/ConsolidatedStatementsOfCashFlows" id="ConsolidatedStatementsOfCashFlows">
        <link:definition>170000 - Statement - 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://euro-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity" id="ConsolidatedStatementsOfChangesInShareholdersEquity">
        <link:definition>170001 - Statement - CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS' 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://euro-tech.com/role/InsiderTradingArragements" id="InsiderTradingArragements">
        <link:definition>995445 - Disclosure - Insider Trading Arragements</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://euro-tech.com/role/CybersecurityRiskManagementAndStrategyDisclosure" id="CybersecurityRiskManagementAndStrategyDisclosure">
        <link:definition>995550 - Disclosure - Cybersecurity Risk Management and Strategy Disclosure</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://euro-tech.com/role/OrganizationAndBusinessBackground" id="OrganizationAndBusinessBackground">
        <link:definition>995551 - Disclosure - Organization and Business Background</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://euro-tech.com/role/SummaryOfSignificantAccountingPolicies" id="SummaryOfSignificantAccountingPolicies">
        <link:definition>995552 - Disclosure - Summary of significant accounting policies</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://euro-tech.com/role/SegmentInformation" id="SegmentInformation">
        <link:definition>995553 - Disclosure - Segment 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://euro-tech.com/role/AccountsReceivableNet" id="AccountsReceivableNet">
        <link:definition>995554 - Disclosure - Accounts receivable net</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://euro-tech.com/role/PrepaymentsAndOtherCurrentAssets" id="PrepaymentsAndOtherCurrentAssets">
        <link:definition>995555 - Disclosure - Prepayments and other current 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://euro-tech.com/role/ContractAssetsAndLiabilities" id="ContractAssetsAndLiabilities">
        <link:definition>995556 - Disclosure - Contract assets and liabilities</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://euro-tech.com/role/Inventories" id="Inventories">
        <link:definition>995557 - Disclosure - Inventories</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://euro-tech.com/role/ShortTermAndLongTermInvestments" id="ShortTermAndLongTermInvestments">
        <link:definition>995558 - Disclosure - Short-term and long-term investments</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://euro-tech.com/role/PropertyPlantAndEquipmentNet" id="PropertyPlantAndEquipmentNet">
        <link:definition>995559 - Disclosure - Property plant and equipment net</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://euro-tech.com/role/IntangibleAssetsNet" id="IntangibleAssetsNet">
        <link:definition>995560 - Disclosure - Intangible assets, net</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://euro-tech.com/role/LandUseRightNet" id="LandUseRightNet">
        <link:definition>995561 - Disclosure - Land use right, net</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://euro-tech.com/role/BankBorrowings" id="BankBorrowings">
        <link:definition>995562 - Disclosure - Bank borrowings</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://euro-tech.com/role/InvestmentsInAffiliates" id="InvestmentsInAffiliates">
        <link:definition>995563 - Disclosure - Investments in affiliates</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://euro-tech.com/role/Goodwill" id="Goodwill">
        <link:definition>995564 - Disclosure - Goodwill</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://euro-tech.com/role/OtherPayablesAndAccruedExpenses" id="OtherPayablesAndAccruedExpenses">
        <link:definition>995565 - Disclosure - Other payables and accrued expenses</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://euro-tech.com/role/OtherTaxesPayable" id="OtherTaxesPayable">
        <link:definition>995566 - Disclosure - Other taxes payable</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://euro-tech.com/role/CapitalReserve" id="CapitalReserve">
        <link:definition>995567 - Disclosure - Capital reserve</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://euro-tech.com/role/OtherIncomeAndOtherLosses" id="OtherIncomeAndOtherLosses">
        <link:definition>995568 - Disclosure - Other income and other losses</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://euro-tech.com/role/LeaseObligations" id="LeaseObligations">
        <link:definition>995569 - Disclosure - Lease 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://euro-tech.com/role/OrdinaryShare" id="OrdinaryShare">
        <link:definition>995570 - Disclosure - Ordinary 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://euro-tech.com/role/TreasuryStock" id="TreasuryStock">
        <link:definition>995571 - Disclosure - Treasury stock</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://euro-tech.com/role/PrcStatutoryReserves" id="PrcStatutoryReserves">
        <link:definition>995572 - Disclosure - PRC statutory reserves</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://euro-tech.com/role/OtherIncomeNet" id="OtherIncomeNet">
        <link:definition>995573 - Disclosure - Other income net</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://euro-tech.com/role/IncomeTaxes" id="IncomeTaxes">
        <link:definition>995574 - 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://euro-tech.com/role/NetIncomePerOrdinaryShare" id="NetIncomePerOrdinaryShare">
        <link:definition>995575 - Disclosure - Net income per ordinary 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://euro-tech.com/role/StockOptions" id="StockOptions">
        <link:definition>995576 - Disclosure - Stock options</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://euro-tech.com/role/PensionPlan" id="PensionPlan">
        <link:definition>995577 - Disclosure - Pension plan</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://euro-tech.com/role/RiskFactors" id="RiskFactors">
        <link:definition>995578 - Disclosure - Risk factors</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://euro-tech.com/role/RiskAndUncertainty" id="RiskAndUncertainty">
        <link:definition>995579 - Disclosure - Risk and uncertainty</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://euro-tech.com/role/RelatedPartyTransactions" id="RelatedPartyTransactions">
        <link:definition>995580 - Disclosure - Related party transactions</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://euro-tech.com/role/CommitmentsAndContingencies" id="CommitmentsAndContingencies">
        <link:definition>995581 - 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://euro-tech.com/role/SubsequentEvents" id="SubsequentEvents">
        <link:definition>995582 - Disclosure - Subsequent events</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies" id="SummaryOfSignificantAccountingPoliciesPolicies">
        <link:definition>995583 - Disclosure - Summary of significant accounting policies (Policies)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://euro-tech.com/role/OrganizationAndBusinessBackgroundTables" id="OrganizationAndBusinessBackgroundTables">
        <link:definition>995584 - Disclosure - Organization and Business Background (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://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesTables" id="SummaryOfSignificantAccountingPoliciesTables">
        <link:definition>995585 - Disclosure - Summary of significant accounting policies (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://euro-tech.com/role/SegmentInformationTables" id="SegmentInformationTables">
        <link:definition>995586 - Disclosure - Segment information (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://euro-tech.com/role/AccountsReceivableNetTables" id="AccountsReceivableNetTables">
        <link:definition>995587 - Disclosure - Accounts receivable net (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://euro-tech.com/role/PrepaymentsAndOtherCurrentAssetsTables" id="PrepaymentsAndOtherCurrentAssetsTables">
        <link:definition>995588 - Disclosure - Prepayments and other current 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://euro-tech.com/role/ContractAssetsAndLiabilitiesTables" id="ContractAssetsAndLiabilitiesTables">
        <link:definition>995589 - Disclosure - Contract assets and liabilities (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://euro-tech.com/role/IntangibleAssetsNetTable" id="IntangibleAssetsNetTable">
        <link:definition>995590 - Disclosure - Intangible assets, net (Table)</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://euro-tech.com/role/LandUseRightNetTable" id="LandUseRightNetTable">
        <link:definition>995591 - Disclosure - Land use right, net (Table)</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://euro-tech.com/role/BankBorrowingsTable" id="BankBorrowingsTable">
        <link:definition>995592 - Disclosure - Bank borrowings (Table)</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://euro-tech.com/role/InventoriesTables" id="InventoriesTables">
        <link:definition>995593 - Disclosure - Inventories (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://euro-tech.com/role/PropertyPlantAndEquipmentNetTables" id="PropertyPlantAndEquipmentNetTables">
        <link:definition>995594 - Disclosure - Property plant and equipment net (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://euro-tech.com/role/InvestmentsInAffiliatesTables" id="InvestmentsInAffiliatesTables">
        <link:definition>995595 - Disclosure - Investments in affiliates (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://euro-tech.com/role/OtherPayablesAndAccruedExpensesTables" id="OtherPayablesAndAccruedExpensesTables">
        <link:definition>995596 - Disclosure - Other payables and accrued expenses (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://euro-tech.com/role/LeaseObligationsTables" id="LeaseObligationsTables">
        <link:definition>995597 - Disclosure - Lease 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://euro-tech.com/role/OrdinaryShareTables" id="OrdinaryShareTables">
        <link:definition>995598 - Disclosure - Ordinary 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://euro-tech.com/role/OtherIncomeTables" id="OtherIncomeTables">
        <link:definition>995599 - Disclosure - Other income (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://euro-tech.com/role/IncomeTaxesTables" id="IncomeTaxesTables">
        <link:definition>995600 - 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://euro-tech.com/role/OtherIncomeAndOtherLossesTable" id="OtherIncomeAndOtherLossesTable">
        <link:definition>995601 - Disclosure - Other income and other losses (Table)</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://euro-tech.com/role/NetIncomePerOrdinaryShareTables" id="NetIncomePerOrdinaryShareTables">
        <link:definition>995602 - Disclosure - Net income per ordinary 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://euro-tech.com/role/StockOptionsTables" id="StockOptionsTables">
        <link:definition>995603 - Disclosure - Stock options (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://euro-tech.com/role/CommitmentsAndContingenciesTables" id="CommitmentsAndContingenciesTables">
        <link:definition>995604 - Disclosure - Commitments and contingencies (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://euro-tech.com/role/OrganizationAndBusinessDetails" id="OrganizationAndBusinessDetails">
        <link:definition>995605 - Disclosure - Organization and business (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://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetails" id="SummaryOfSignificantAccountingPoliciesDetails">
        <link:definition>995606 - Disclosure - Summary of significant accounting policies (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://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetails1" id="SummaryOfSignificantAccountingPoliciesDetails1">
        <link:definition>995607 - Disclosure - Summary of significant accounting policies (Details 1)</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://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" id="SummaryOfSignificantAccountingPoliciesDetailsNarrative">
        <link:definition>995608 - Disclosure - Summary of significant accounting policies (Details Narrative)</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://euro-tech.com/role/SegmentInformationDetails" id="SegmentInformationDetails">
        <link:definition>995609 - Disclosure - Segment 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://euro-tech.com/role/SegmentInformationDetails1" id="SegmentInformationDetails1">
        <link:definition>995610 - Disclosure - Segment information (Details 1)</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://euro-tech.com/role/SegmentInformationDetails2" id="SegmentInformationDetails2">
        <link:definition>995611 - Disclosure - Segment information (Details 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://euro-tech.com/role/SegmentInformationDetails3" id="SegmentInformationDetails3">
        <link:definition>995612 - Disclosure - Segment information (Details 3)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://euro-tech.com/role/LeaseObligationsDetails" id="LeaseObligationsDetails">
        <link:definition>995613 - Disclosure - Lease 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://euro-tech.com/role/LeaseObligationsDetails1" id="LeaseObligationsDetails1">
        <link:definition>995614 - Disclosure - Lease obligations (Details 1)</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://euro-tech.com/role/LeaseObligationsDetails2" id="LeaseObligationsDetails2">
        <link:definition>995615 - Disclosure - Lease obligations (Details 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://euro-tech.com/role/LeaseObligationsDetails3" id="LeaseObligationsDetails3">
        <link:definition>995616 - Disclosure - Lease obligations (Details 3)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://euro-tech.com/role/LeaseObligationsDetailsNarrative" id="LeaseObligationsDetailsNarrative">
        <link:definition>995617 - Disclosure - Lease obligations (Details Narrative)</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://euro-tech.com/role/AccountsReceivableNetDetails" id="AccountsReceivableNetDetails">
        <link:definition>995618 - Disclosure - Accounts receivable net (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://euro-tech.com/role/AccountsReceivableNetDetails1" id="AccountsReceivableNetDetails1">
        <link:definition>995619 - Disclosure - Accounts receivable net (Details 1)</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://euro-tech.com/role/AccountsReceivableNetDetails2" id="AccountsReceivableNetDetails2">
        <link:definition>995620 - Disclosure - Accounts receivable net (Details 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://euro-tech.com/role/PrepaymentsAndOtherCurrentAssetsDetails" id="PrepaymentsAndOtherCurrentAssetsDetails">
        <link:definition>995621 - Disclosure - Prepayments and other current 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://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails" id="ContractAssetsAndLiabilitiesDetails">
        <link:definition>995622 - Disclosure - Contract assets and liabilities (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://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails1" id="ContractAssetsAndLiabilitiesDetails1">
        <link:definition>995623 - Disclosure - Contract assets and liabilities (Details 1)</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://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails2" id="ContractAssetsAndLiabilitiesDetails2">
        <link:definition>995624 - Disclosure - Contract assets and liabilities (Details 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://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails3" id="ContractAssetsAndLiabilitiesDetails3">
        <link:definition>995625 - Disclosure - Contract assets and liabilities (Details 3)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails4" id="ContractAssetsAndLiabilitiesDetails4">
        <link:definition>995626 - Disclosure - Contract assets and liabilities (Details 4)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails5" id="ContractAssetsAndLiabilitiesDetails5">
        <link:definition>995627 - Disclosure - Contract assets and liabilities (Details 5)</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://euro-tech.com/role/ContractAssetsAndLiabilitiesDetailsNarrative" id="ContractAssetsAndLiabilitiesDetailsNarrative">
        <link:definition>995628 - Disclosure - Contract assets and liabilities (Details Narrative)</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://euro-tech.com/role/InventoriesDetails" id="InventoriesDetails">
        <link:definition>995629 - Disclosure - Inventories (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://euro-tech.com/role/InventoriesDetailsNarrative" id="InventoriesDetailsNarrative">
        <link:definition>995630 - Disclosure - Inventories (Details Narrative)</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://euro-tech.com/role/ShortTermAndLongTermInvestmentsDetailsNarrative" id="ShortTermAndLongTermInvestmentsDetailsNarrative">
        <link:definition>995631 - Disclosure - Short-term and long-term investments (Details Narrative)</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://euro-tech.com/role/PropertyPlantAndEquipmentNetDetails" id="PropertyPlantAndEquipmentNetDetails">
        <link:definition>995632 - Disclosure - Property plant and equipment net (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://euro-tech.com/role/PropertyPlantAndEquipmentNetDetails1" id="PropertyPlantAndEquipmentNetDetails1">
        <link:definition>995633 - Disclosure - Property plant and equipment net (Details 1)</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://euro-tech.com/role/PropertyPlantAndEquipmentNetDetailsNarrative" id="PropertyPlantAndEquipmentNetDetailsNarrative">
        <link:definition>995634 - Disclosure - Property plant and equipment net (Details Narrative)</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://euro-tech.com/role/IntangibleAssetsNetDetails" id="IntangibleAssetsNetDetails">
        <link:definition>995635 - Disclosure - Intangible assets, net (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://euro-tech.com/role/IntangibleAssetsNetDetails1" id="IntangibleAssetsNetDetails1">
        <link:definition>995636 - Disclosure - Intangible assets, net (Details 1)</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://euro-tech.com/role/IntangibleAssetsNetDetails2" id="IntangibleAssetsNetDetails2">
        <link:definition>995637 - Disclosure - Intangible assets, net (Details 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://euro-tech.com/role/LandUseRightNetDetails" id="LandUseRightNetDetails">
        <link:definition>995638 - Disclosure - Land use right net (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://euro-tech.com/role/LandUseRightNetDetails1" id="LandUseRightNetDetails1">
        <link:definition>995639 - Disclosure - Land use right net (Details 1)</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://euro-tech.com/role/LandUseRightNetDetails2" id="LandUseRightNetDetails2">
        <link:definition>995640 - Disclosure - Land use right net (Details 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://euro-tech.com/role/LandUseRightNetDetailsNarrative" id="LandUseRightNetDetailsNarrative">
        <link:definition>995641 - Disclosure - Land use right net (Details Narrative)</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://euro-tech.com/role/BankBorrowingsDetails" id="BankBorrowingsDetails">
        <link:definition>995642 - Disclosure - Bank borrowings (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://euro-tech.com/role/BankBorrowingsDetailsNarrative" id="BankBorrowingsDetailsNarrative">
        <link:definition>995643 - Disclosure - Bank borrowings (Details Narrative)</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://euro-tech.com/role/InvestmentsInAffiliatesDetails" id="InvestmentsInAffiliatesDetails">
        <link:definition>995644 - Disclosure - Investments in affiliates (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://euro-tech.com/role/InvestmentsInAffiliatesDetails1" id="InvestmentsInAffiliatesDetails1">
        <link:definition>995645 - Disclosure - Investments in affiliates (Details 1)</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://euro-tech.com/role/InvestmentsInAffiliatesDetails2" id="InvestmentsInAffiliatesDetails2">
        <link:definition>995646 - Disclosure - Investments in affiliates (Details 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://euro-tech.com/role/InvestmentsInAffiliatesDetailsNarrative" id="InvestmentsInAffiliatesDetailsNarrative">
        <link:definition>995647 - Disclosure - Investments in affiliates (Details Narrative)</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://euro-tech.com/role/GoodwillDetailsNarrative" id="GoodwillDetailsNarrative">
        <link:definition>995648 - Disclosure - Goodwill (Details Narrative)</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://euro-tech.com/role/OtherPayablesAndAccruedExpensesDetails" id="OtherPayablesAndAccruedExpensesDetails">
        <link:definition>995649 - Disclosure - Other payables and accrued expenses (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://euro-tech.com/role/OtherTaxesPayableDetailsNarrative" id="OtherTaxesPayableDetailsNarrative">
        <link:definition>995650 - Disclosure - Other taxes payable (Details Narrative)</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://euro-tech.com/role/OtherIncomeAndOtherLossesDetails" id="OtherIncomeAndOtherLossesDetails">
        <link:definition>995651 - Disclosure - Other income and other 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://euro-tech.com/role/OtherIncomeAndOtherLossesDetails1" id="OtherIncomeAndOtherLossesDetails1">
        <link:definition>995652 - Disclosure - Other income and other losses (Details 1)</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://euro-tech.com/role/OrdinaryShareDetails" id="OrdinaryShareDetails">
        <link:definition>995653 - Disclosure - Ordinary 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://euro-tech.com/role/OrdinaryShareDetailsNarrative" id="OrdinaryShareDetailsNarrative">
        <link:definition>995654 - Disclosure - Ordinary share (Details Narrative)</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://euro-tech.com/role/TreasuryStockDetailsNarrative" id="TreasuryStockDetailsNarrative">
        <link:definition>995655 - Disclosure - Treasury stock (Details Narrative)</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://euro-tech.com/role/PrcStatutoryReservesDetailsNarrative" id="PrcStatutoryReservesDetailsNarrative">
        <link:definition>995656 - Disclosure - PRC statutory reserves (Details Narrative)</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://euro-tech.com/role/OtherIncomeNetDetails" id="OtherIncomeNetDetails">
        <link:definition>995657 - Disclosure - Other income net (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://euro-tech.com/role/IncomeTaxesDetails" id="IncomeTaxesDetails">
        <link:definition>995658 - Disclosure - Income taxes (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://euro-tech.com/role/IncomeTaxesDetails1" id="IncomeTaxesDetails1">
        <link:definition>995659 - Disclosure - Income taxes (Details 1)</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://euro-tech.com/role/IncomeTaxesDetails2" id="IncomeTaxesDetails2">
        <link:definition>995660 - Disclosure - Income taxes (Details 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://euro-tech.com/role/IncomeTaxesDetailsNarrative" id="IncomeTaxesDetailsNarrative">
        <link:definition>995661 - Disclosure - Income taxes (Details Narrative)</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://euro-tech.com/role/NetIncomePerOrdinaryShareDetails" id="NetIncomePerOrdinaryShareDetails">
        <link:definition>995662 - Disclosure - Net income per ordinary 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://euro-tech.com/role/StockOptionsDetails" id="StockOptionsDetails">
        <link:definition>995663 - Disclosure - Stock options (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://euro-tech.com/role/StockOptionsDetailsNarrative" id="StockOptionsDetailsNarrative">
        <link:definition>995664 - Disclosure - Stock options (Details Narrative)</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://euro-tech.com/role/PensionPlanDetailsNarrative" id="PensionPlanDetailsNarrative">
        <link:definition>995665 - Disclosure - Pension plan (Details Narrative)</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://euro-tech.com/role/RiskFactorsDetailsNarrative" id="RiskFactorsDetailsNarrative">
        <link:definition>995666 - Disclosure - Risk factors (Details Narrative)</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://euro-tech.com/role/RiskAndUncertaintyDetailsNarrative" id="RiskAndUncertaintyDetailsNarrative">
        <link:definition>995667 - Disclosure - Risk and uncertainty (Details Narrative)</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://euro-tech.com/role/RelatedPartyTransactionsDetailsNarrative" id="RelatedPartyTransactionsDetailsNarrative">
        <link:definition>995668 - Disclosure - Related party transactions (Details Narrative)</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://euro-tech.com/role/CommitmentsAndContingenciesDetails" id="CommitmentsAndContingenciesDetails">
        <link:definition>995669 - 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://euro-tech.com/role/CommitmentsAndContingenciesDetailsNarrative" id="CommitmentsAndContingenciesDetailsNarrative">
        <link:definition>995670 - Disclosure - Commitments and contingencies (Details Narrative)</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://euro-tech.com/role/SubsequentEventsDetailsNarrative" id="SubsequentEventsDetailsNarrative">
        <link:definition>995671 - Disclosure - Subsequent events (Details Narrative)</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="clwt-20241231_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="clwt-20241231_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
      <link:linkbaseRef xlink:type="simple" xlink:href="clwt-20241231_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="clwt-20241231_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
    </appinfo>
  </annotation>
  <import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd" />
  <import namespace="http://www.xbrl.org/2003/linkbase" schemaLocation="http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" />
  <import namespace="http://xbrl.org/2005/xbrldt" schemaLocation="http://www.xbrl.org/2005/xbrldt-2005.xsd" />
  <import namespace="http://xbrl.sec.gov/country/2024" schemaLocation="https://xbrl.sec.gov/country/2024/country-2024.xsd" />
  <import namespace="http://xbrl.sec.gov/currency/2024" schemaLocation="https://xbrl.sec.gov/currency/2024/currency-2024.xsd" />
  <import namespace="http://xbrl.sec.gov/dei/2024" schemaLocation="https://xbrl.sec.gov/dei/2024/dei-2024.xsd" />
  <import namespace="http://www.xbrl.org/dtr/type/non-numeric" schemaLocation="http://www.xbrl.org/dtr/type/nonNumeric-2009-12-16.xsd" />
  <import namespace="http://www.xbrl.org/dtr/type/numeric" schemaLocation="http://www.xbrl.org/dtr/type/numeric-2009-12-16.xsd" />
  <import namespace="http://xbrl.sec.gov/exch/2024" schemaLocation="https://xbrl.sec.gov/exch/2024/exch-2024.xsd" />
  <import namespace="http://www.xbrl.org/2009/arcrole/fact-explanatoryFact" schemaLocation="http://www.xbrl.org/lrr/arcrole/factExplanatory-2009-12-16.xsd" />
  <import namespace="http://www.xbrl.org/2009/role/negated" schemaLocation="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd" />
  <import namespace="http://www.xbrl.org/2009/role/net" schemaLocation="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd" />
  <import namespace="http://xbrl.sec.gov/naics/2024" schemaLocation="https://xbrl.sec.gov/naics/2024/naics-2024.xsd" />
  <import namespace="http://xbrl.sec.gov/sic/2024" schemaLocation="https://xbrl.sec.gov/sic/2024/sic-2024.xsd" />
  <import namespace="http://fasb.org/srt-roles/2024" schemaLocation="https://xbrl.fasb.org/srt/2024/elts/srt-roles-2024.xsd" />
  <import namespace="http://fasb.org/srt-types/2024" schemaLocation="https://xbrl.fasb.org/srt/2024/elts/srt-types-2024.xsd" />
  <import namespace="http://www.xbrl.org/dtr/type/2020-01-21" schemaLocation="https://www.xbrl.org/dtr/type/2020-01-21/types.xsd" />
  <import namespace="http://xbrl.sec.gov/stpr/2024" schemaLocation="https://xbrl.sec.gov/stpr/2024/stpr-2024.xsd" />
  <import namespace="http://fasb.org/us-roles/2024" schemaLocation="https://xbrl.fasb.org/us-gaap/2024/elts/us-roles-2024.xsd" />
  <import namespace="http://fasb.org/us-types/2024" schemaLocation="https://xbrl.fasb.org/us-gaap/2024/elts/us-types-2024.xsd" />
  <import namespace="http://fasb.org/srt/2024" schemaLocation="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd" />
  <import namespace="http://fasb.org/us-gaap/2024" schemaLocation="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd" />
  <import namespace="http://xbrl.sec.gov/ecd/2024" schemaLocation="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd" />
  <import namespace="http://xbrl.sec.gov/cyd-af-sub/2024" schemaLocation="https://xbrl.sec.gov/cyd/2024/cyd-af-sub-2024.xsd" />
  <element id="clwt_DeferredTaxAssets" name="DeferredTaxAssets" nillable="true" xbrli:balance="debit" xbrli:periodType="instant" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_PRCStatutoryReserve" name="PRCStatutoryReserve" nillable="true" xbrli:balance="credit" xbrli:periodType="instant" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_LandLeaseRightOfUseAsset" name="LandLeaseRightOfUseAsset" nillable="true" xbrli:balance="debit" xbrli:periodType="instant" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_ContractLiabilitiesCurrent" name="ContractLiabilitiesCurrent" nillable="true" xbrli:balance="credit" xbrli:periodType="instant" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_OtherTaxesPayableCurrentLiabilities" name="OtherTaxesPayableCurrentLiabilities" nillable="true" xbrli:balance="credit" xbrli:periodType="instant" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_DeferredGovernmentGrant" name="DeferredGovernmentGrant" nillable="true" xbrli:balance="credit" xbrli:periodType="instant" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_ShareCapital" name="ShareCapital" nillable="true" xbrli:balance="credit" xbrli:periodType="instant" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_CapitalReserve" name="CapitalReserve" nillable="true" xbrli:balance="credit" xbrli:periodType="instant" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_RevenueFromTradingAndManufacturing" name="RevenueFromTradingAndManufacturing" nillable="true" xbrli:balance="credit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_RevenueFromEngineering" name="RevenueFromEngineering" nillable="true" xbrli:balance="credit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_CostOfTradingAndManufacturing" name="CostOfTradingAndManufacturing" nillable="true" xbrli:balance="debit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_CostOfEngineering" name="CostOfEngineering" nillable="true" xbrli:balance="debit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_FinanceCosts" name="FinanceCosts" nillable="true" xbrli:balance="debit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_OtherIncomeNet" name="OtherIncomeNet" nillable="true" xbrli:balance="credit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_NetIncome" name="NetIncome" nillable="true" xbrli:balance="credit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_NetIncomeAttributableToEuroTechHoldingsCompanyLimited" name="NetIncomeAttributableToEuroTechHoldingsCompanyLimited" nillable="true" xbrli:balance="credit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_OtherNonoperatingExpenses" name="OtherNonoperatingExpenses" nillable="true" xbrli:balance="credit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_AmortizationOnRightOfUseAssets" name="AmortizationOnRightOfUseAssets" nillable="true" xbrli:balance="debit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_NonControllingInterestsInIncomeLossOfSubsidiaries" name="NonControllingInterestsInIncomeLossOfSubsidiaries" nillable="true" xbrli:balance="credit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_AdjustmentInAdvancesToAffiliatesAmountOfEquityProfit" name="AdjustmentInAdvancesToAffiliatesAmountOfEquityProfit" nillable="true" xbrli:balance="credit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_ChangeInNonCurrentAssetsAndLiabilitiesAbstract" name="ChangeInNonCurrentAssetsAndLiabilitiesAbstract" nillable="true" abstract="true" xbrli:periodType="duration" type="xbrli:stringItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_IncreaseDecreaseInOperatingLeaseLiabiltyCurrent" name="IncreaseDecreaseInOperatingLeaseLiabiltyCurrent" nillable="true" xbrli:balance="debit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_IncreaseDecreaseInRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" name="IncreaseDecreaseInRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" nillable="true" xbrli:balance="debit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_RepresentedByAbstract" name="RepresentedByAbstract" nillable="true" abstract="true" xbrli:periodType="duration" type="xbrli:stringItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_EffectOfExchangeRateOnCashCashEquivalents" name="EffectOfExchangeRateOnCashCashEquivalents" nillable="true" xbrli:balance="debit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_EffectOfExchangeRateOnRestrictedCash" name="EffectOfExchangeRateOnRestrictedCash" nillable="true" xbrli:balance="debit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCash" name="EffectOfExchangeRateOnCashCashEquivalentsRestrictedCash" nillable="true" xbrli:balance="debit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_AmortizationOfLandUseRight" name="AmortizationOfLandUseRight" nillable="true" xbrli:balance="debit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_ImpairmentLossOnShortTermInvestments" name="ImpairmentLossOnShortTermInvestments" nillable="true" xbrli:balance="debit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_ProceedsFromDeferredGovernmentGrant" name="ProceedsFromDeferredGovernmentGrant" nillable="true" xbrli:balance="debit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_PropertyPlantAndEquipmentWrittenOff" name="PropertyPlantAndEquipmentWrittenOff" nillable="true" xbrli:balance="credit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_ReversalOfAllowanceForDoubtfulAccounts" name="ReversalOfAllowanceForDoubtfulAccounts" nillable="true" xbrli:balance="credit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_IncreaseDecreaseInDeferredGovernmentGrant" name="IncreaseDecreaseInDeferredGovernmentGrant" nillable="true" xbrli:balance="credit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_IncreaseDecreaseInOperatingLeaseRightOfUseAssets" name="IncreaseDecreaseInOperatingLeaseRightOfUseAssets" nillable="true" xbrli:balance="credit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_IncreaseDecreaseInShortTermInvestments" name="IncreaseDecreaseInShortTermInvestments" nillable="true" xbrli:balance="credit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_IncreaseDecreaseInOperatingLeaseLiabilitiesCurrent" name="IncreaseDecreaseInOperatingLeaseLiabilitiesCurrent" nillable="true" xbrli:balance="debit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_CapitalInjectionProceedFromInvestment" name="CapitalInjectionProceedFromInvestment" nillable="true" xbrli:balance="debit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_NonCashFinanceLeases" name="NonCashFinanceLeases" nillable="true" xbrli:balance="credit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_ForeignCurrencyTranslationAdjustment" name="ForeignCurrencyTranslationAdjustment" nillable="true" xbrli:balance="credit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_AppropriationOfReserves" name="AppropriationOfReserves" nillable="true" xbrli:balance="credit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_DividendPaidAmount" name="DividendPaidAmount" nillable="true" xbrli:balance="credit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_StockBasedCompensationExpenseAmount" name="StockBasedCompensationExpenseAmount" nillable="true" xbrli:balance="credit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_AppropriationToStatutoryReserve" name="AppropriationToStatutoryReserve" nillable="true" xbrli:balance="credit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_PurchaseSharesOfTreasuryStock" name="PurchaseSharesOfTreasuryStock" nillable="true" xbrli:balance="credit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_DividendPaid" name="DividendPaid" nillable="true" xbrli:balance="credit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_ContractWithCustomerAssetAndLiabilityDisclosureTextBlock" name="ContractWithCustomerAssetAndLiabilityDisclosureTextBlock" nillable="true" xbrli:periodType="duration" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_CashCashEquivalentsAndShortTermAndLongTermInvestmentsTextBlock" name="CashCashEquivalentsAndShortTermAndLongTermInvestmentsTextBlock" nillable="true" xbrli:periodType="duration" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_LandUseRightNetDisclosureTextBlock" name="LandUseRightNetDisclosureTextBlock" nillable="true" xbrli:periodType="duration" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_BankBorrowingsDisclosureTextBlock" name="BankBorrowingsDisclosureTextBlock" nillable="true" xbrli:periodType="duration" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_OtherTaxesPayableDisclosureTextBlock" name="OtherTaxesPayableDisclosureTextBlock" nillable="true" xbrli:periodType="duration" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_CapitalReserveDisclosureTextBlock" name="CapitalReserveDisclosureTextBlock" nillable="true" xbrli:periodType="duration" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_OtherIncomeAndOtherLossesDisclosureTextBlock" name="OtherIncomeAndOtherLossesDisclosureTextBlock" nillable="true" xbrli:periodType="duration" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_PrcStatutoryReservesTextBlock" name="PrcStatutoryReservesTextBlock" nillable="true" xbrli:periodType="duration" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_OtherIncomeNetTextBlock" name="OtherIncomeNetTextBlock" nillable="true" xbrli:periodType="duration" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_NoncontrollingInterestsPolicyTextBlock" name="NoncontrollingInterestsPolicyTextBlock" nillable="true" xbrli:periodType="duration" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_OrdinaryShares" name="OrdinaryShares" nillable="true" xbrli:periodType="duration" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_RelatedPartiesPolicy" name="RelatedPartiesPolicy" nillable="true" xbrli:periodType="duration" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_FinanceCostsPolicyTextBlock" name="FinanceCostsPolicyTextBlock" nillable="true" xbrli:periodType="duration" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_ContractAssetsAndContractLiabilitiesPolicyTextBlock" name="ContractAssetsAndContractLiabilitiesPolicyTextBlock" nillable="true" xbrli:periodType="duration" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_RetirementPlanCostsPolicyTextBlock" name="RetirementPlanCostsPolicyTextBlock" nillable="true" xbrli:periodType="duration" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_StatutoryReservesPolicyTextBlock" name="StatutoryReservesPolicyTextBlock" nillable="true" xbrli:periodType="duration" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_ClassificationOfContractAssetsNetAndLiabilitiesPolicyTextBlock" name="ClassificationOfContractAssetsNetAndLiabilitiesPolicyTextBlock" nillable="true" xbrli:periodType="duration" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_GovernmentGrantIncomePolicyTextBlock" name="GovernmentGrantIncomePolicyTextBlock" nillable="true" xbrli:periodType="duration" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_ShareCapitalPolicyTextBlock" name="ShareCapitalPolicyTextBlock" nillable="true" xbrli:periodType="duration" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_NetIncomePerOrdinarySharePolicyTextBlock" name="NetIncomePerOrdinarySharePolicyTextBlock" nillable="true" xbrli:periodType="duration" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_ShippingAndHandlingCostsPolicyTextBlock" name="ShippingAndHandlingCostsPolicyTextBlock" nillable="true" xbrli:periodType="duration" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_ShortTermAndLongTermInvestmentsPolicyTextBlock" name="ShortTermAndLongTermInvestmentsPolicyTextBlock" nillable="true" xbrli:periodType="duration" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_NonControllingInterestsPolicyTextBlock" name="NonControllingInterestsPolicyTextBlock" nillable="true" xbrli:periodType="duration" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_ScheduleOfSignificantSubsidiariesTableTextBlock" name="ScheduleOfSignificantSubsidiariesTableTextBlock" nillable="true" xbrli:periodType="duration" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_PropertyPlantAndEquipmentUsefulLifeTableTextblock" name="PropertyPlantAndEquipmentUsefulLifeTableTextblock" nillable="true" xbrli:periodType="duration" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_ScheduleOfReconciliationOfBacklogRepresentingTheAmountOfRevenueTableTextBlock" name="ScheduleOfReconciliationOfBacklogRepresentingTheAmountOfRevenueTableTextBlock" nillable="true" xbrli:periodType="duration" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_ScheduleOfMajorSuppliersAndCustomers" name="ScheduleOfMajorSuppliersAndCustomers" nillable="true" xbrli:periodType="duration" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_ContractWithCustomerNetAssetLiabilityPositionTableTextBlock" name="ContractWithCustomerNetAssetLiabilityPositionTableTextBlock" nillable="true" xbrli:periodType="duration" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_IntangibleAssetsDisclosureTableTextBlock" name="IntangibleAssetsDisclosureTableTextBlock" nillable="true" xbrli:periodType="duration" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_EstimatedFutureIntangibleAssetsAmortizationExpenseTableTextBlock" name="EstimatedFutureIntangibleAssetsAmortizationExpenseTableTextBlock" nillable="true" xbrli:periodType="duration" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_LandUseRightNetTableTextBlock" name="LandUseRightNetTableTextBlock" nillable="true" xbrli:periodType="duration" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_LandUseRightNetEstimatedFutureLandUseRightAmortizationExpenseTableTextBlock" name="LandUseRightNetEstimatedFutureLandUseRightAmortizationExpenseTableTextBlock" nillable="true" xbrli:periodType="duration" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_ScheduleOfBankBorrowingsTableTextBlock" name="ScheduleOfBankBorrowingsTableTextBlock" nillable="true" xbrli:periodType="duration" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_SummaryOfTheFinancialInformationOfTheAffiliates" name="SummaryOfTheFinancialInformationOfTheAffiliates" nillable="true" xbrli:periodType="duration" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_ScheduleOfSupplementalConsolidatedBalanceSheetInformationRelatedToLeasesTableTextBlock" name="ScheduleOfSupplementalConsolidatedBalanceSheetInformationRelatedToLeasesTableTextBlock" nillable="true" xbrli:periodType="duration" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_ScheduleOfSupplementalConsolidatedCashFlowInformationRelatedToLeasesTableTextBlock" name="ScheduleOfSupplementalConsolidatedCashFlowInformationRelatedToLeasesTableTextBlock" nillable="true" xbrli:periodType="duration" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_ScheduleOfOtherIncomeTabletextBlock" name="ScheduleOfOtherIncomeTabletextBlock" nillable="true" xbrli:periodType="duration" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_ScheduleOfOtherLossesTabletextBlock" name="ScheduleOfOtherLossesTabletextBlock" nillable="true" xbrli:periodType="duration" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_PlaceOfIncorporation" name="PlaceOfIncorporation" nillable="true" xbrli:periodType="duration" type="xbrli:stringItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_NewContractRevenueAwardsDuringTheYear" name="NewContractRevenueAwardsDuringTheYear" nillable="true" xbrli:balance="credit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_ContractRevenueAdjustment" name="ContractRevenueAdjustment" nillable="true" xbrli:balance="credit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_ContractRevenueRecognizedForTheYear" name="ContractRevenueRecognizedForTheYear" nillable="true" xbrli:balance="credit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_BacklogRevenueRemainingPerformanceObligation" name="BacklogRevenueRemainingPerformanceObligation" nillable="true" xbrli:balance="credit" xbrli:periodType="instant" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_PublicUtilitiesPropertyPlantAndEquipmentLeaseholdImprovementsFuelUsefulLife" name="PublicUtilitiesPropertyPlantAndEquipmentLeaseholdImprovementsFuelUsefulLife" nillable="true" xbrli:periodType="duration" type="xbrli:stringItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_ContractWithCustomerRemainingPerformanceObligation" name="ContractWithCustomerRemainingPerformanceObligation" nillable="true" xbrli:balance="credit" xbrli:periodType="instant" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_RevenueFromContractWithCustomerIncreaseDecrease" name="RevenueFromContractWithCustomerIncreaseDecrease" nillable="true" xbrli:balance="credit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_ConcentrationPercentage" name="ConcentrationPercentage" nillable="true" xbrli:periodType="duration" type="num:percentItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_CapitalExpendituresGross" name="CapitalExpendituresGross" nillable="true" xbrli:balance="credit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_GeographicalAnalysisOfLonglivedAssets" name="GeographicalAnalysisOfLonglivedAssets" nillable="true" xbrli:balance="debit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_TotalOperatingLeaseCost" name="TotalOperatingLeaseCost" nillable="true" xbrli:balance="debit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_FinanceLeasePayments" name="FinanceLeasePayments" nillable="true" xbrli:balance="credit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_WeightedAverageRemainingLeaseTermOperatingLeases" name="WeightedAverageRemainingLeaseTermOperatingLeases" nillable="true" xbrli:periodType="duration" type="xbrli:durationItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_ReversalOfProvisionForDoubtfulAccounts" name="ReversalOfProvisionForDoubtfulAccounts" nillable="true" xbrli:balance="debit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_AllowanceForDoubtfulAccountsReceivables" name="AllowanceForDoubtfulAccountsReceivables" nillable="true" xbrli:balance="credit" xbrli:periodType="instant" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_DepositsPaidForBiddingProjectsAndTemporaryPayments" name="DepositsPaidForBiddingProjectsAndTemporaryPayments" nillable="true" xbrli:balance="debit" xbrli:periodType="instant" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_IncomeTaxRecoverable" name="IncomeTaxRecoverable" nillable="true" xbrli:balance="debit" xbrli:periodType="instant" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_OtherTaxRecoverable" name="OtherTaxRecoverable" nillable="true" xbrli:balance="debit" xbrli:periodType="instant" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_ContractWithCustomerAssetLiabilityNet" name="ContractWithCustomerAssetLiabilityNet" nillable="true" xbrli:balance="debit" xbrli:periodType="instant" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_CostsIncurredInContractsInProcess" name="CostsIncurredInContractsInProcess" nillable="true" xbrli:balance="debit" xbrli:periodType="instant" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_RevenueEarnedButNotYetBilled" name="RevenueEarnedButNotYetBilled" nillable="true" xbrli:balance="debit" xbrli:periodType="instant" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_CostsAndEstimatedEarningsOnUncompletedContracts" name="CostsAndEstimatedEarningsOnUncompletedContracts" nillable="true" xbrli:balance="debit" xbrli:periodType="instant" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_BillingsToDate" name="BillingsToDate" nillable="true" xbrli:balance="credit" xbrli:periodType="instant" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_CostsAndEstimatedEarningsOnUncompletedContractsInExcessOfBillingsUnbilledRevenue" name="CostsAndEstimatedEarningsOnUncompletedContractsInExcessOfBillingsUnbilledRevenue" nillable="true" xbrli:balance="debit" xbrli:periodType="instant" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_ContractWithCustomerTradingAndManufacturing" name="ContractWithCustomerTradingAndManufacturing" nillable="true" xbrli:balance="credit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_ContractWithCustomerEngineering" name="ContractWithCustomerEngineering" nillable="true" xbrli:balance="credit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_BuildingsGross" name="BuildingsGross" nillable="true" xbrli:balance="debit" xbrli:periodType="instant" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_PlantAndMachineries" name="PlantAndMachineries" nillable="true" xbrli:balance="debit" xbrli:periodType="instant" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_PropertyPlantsAndEquipmentGross" name="PropertyPlantsAndEquipmentGross" nillable="true" xbrli:balance="debit" xbrli:periodType="instant" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_Accumulated" name="Accumulated" nillable="true" xbrli:balance="credit" xbrli:periodType="instant" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_FiniteLivedIntangibleAssetsAmortizationExpense" name="FiniteLivedIntangibleAssetsAmortizationExpense" nillable="true" xbrli:balance="debit" xbrli:periodType="instant" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_LandUseRightAccumulatedAmortisation" name="LandUseRightAccumulatedAmortisation" nillable="true" xbrli:balance="credit" xbrli:periodType="instant" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_FiniteLivedIntangibleAssetContractualRightNetLandUseRight" name="FiniteLivedIntangibleAssetContractualRightNetLandUseRight" nillable="true" xbrli:balance="debit" xbrli:periodType="instant" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_LandUseRightAmortizationExpenseYearTwo" name="LandUseRightAmortizationExpenseYearTwo" nillable="true" xbrli:balance="debit" xbrli:periodType="instant" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_LandUseRightAmortizationExpenseNextTwelveMonths" name="LandUseRightAmortizationExpenseNextTwelveMonths" nillable="true" xbrli:balance="debit" xbrli:periodType="instant" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_LandUseRightAmortizationExpenseYearThree" name="LandUseRightAmortizationExpenseYearThree" nillable="true" xbrli:balance="debit" xbrli:periodType="instant" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_LandUseRightAmortizationExpenseYearFour" name="LandUseRightAmortizationExpenseYearFour" nillable="true" xbrli:balance="credit" xbrli:periodType="instant" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_LandUseRightAmortizationExpenseYearFive" name="LandUseRightAmortizationExpenseYearFive" nillable="true" xbrli:balance="credit" xbrli:periodType="instant" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_LandUseRightAmortizationExpenseThereafter" name="LandUseRightAmortizationExpenseThereafter" nillable="true" xbrli:balance="debit" xbrli:periodType="instant" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_LandUseRightAmortizationExpense" name="LandUseRightAmortizationExpense" nillable="true" xbrli:balance="debit" xbrli:periodType="instant" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_LandUseRightPledgedBankLoan" name="LandUseRightPledgedBankLoan" nillable="true" xbrli:balance="credit" xbrli:periodType="instant" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_RentalDepositReceived" name="RentalDepositReceived" nillable="true" xbrli:balance="debit" xbrli:periodType="instant" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_AccruedOperatingExpenses" name="AccruedOperatingExpenses" nillable="true" xbrli:balance="credit" xbrli:periodType="instant" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_OutputValueAddedTax" name="OutputValueAddedTax" nillable="true" xbrli:balance="credit" xbrli:periodType="instant" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_DepositsReceivedAndTemporaryReceipts" name="DepositsReceivedAndTemporaryReceipts" nillable="true" xbrli:balance="debit" xbrli:periodType="instant" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_ValuedAddedTaxInterestRate" name="ValuedAddedTaxInterestRate" nillable="true" xbrli:periodType="instant" type="num:percentItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_ImpairmentGainOnContractAssets" name="ImpairmentGainOnContractAssets" nillable="true" xbrli:balance="debit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_FaitValueGainOnShortTermInvestment" name="FaitValueGainOnShortTermInvestment" nillable="true" xbrli:balance="credit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_CompensationIncome" name="CompensationIncome" nillable="true" xbrli:balance="credit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_AmountsWaivedByPayees" name="AmountsWaivedByPayees" nillable="true" xbrli:balance="credit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_AllowanceForDoubtfulAccountsReversal" name="AllowanceForDoubtfulAccountsReversal" nillable="true" xbrli:balance="credit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_SubsidyIncome" name="SubsidyIncome" nillable="true" xbrli:balance="credit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_ImpairmentLossOnContractAssets" name="ImpairmentLossOnContractAssets" nillable="true" xbrli:balance="debit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_MinimumRegisteredCapitalPercentage" name="MinimumRegisteredCapitalPercentage" nillable="true" xbrli:periodType="duration" type="num:percentItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_StatutoryAccountingPracticesStatutoryNetIncomePercentage" name="StatutoryAccountingPracticesStatutoryNetIncomePercentage" nillable="true" xbrli:periodType="duration" type="num:percentItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_ExchangeGainLossNet" name="ExchangeGainLossNet" nillable="true" xbrli:balance="credit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_GovernmentSubsidies" name="GovernmentSubsidies" nillable="true" xbrli:balance="credit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_OtherNonoperatingIncomeNet" name="OtherNonoperatingIncomeNet" nillable="true" xbrli:balance="credit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_CurrentTaxExpensesPrcAndHongKong" name="CurrentTaxExpensesPrcAndHongKong" nillable="true" xbrli:balance="debit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_IncomeTaxExpensePrcEit" name="IncomeTaxExpensePrcEit" nillable="true" xbrli:balance="debit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_DeferredTaxBenefitPrcAndHongKong" name="DeferredTaxBenefitPrcAndHongKong" nillable="true" xbrli:balance="debit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_OverProvisionForIncomeTaxInPriorYears" name="OverProvisionForIncomeTaxInPriorYears" nillable="true" xbrli:balance="credit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_TemporaryDifferences" name="TemporaryDifferences" nillable="true" xbrli:balance="debit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_TaxEffectOfRevenueNotSubjectToTax" name="TaxEffectOfRevenueNotSubjectToTax" nillable="true" xbrli:balance="debit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_IncomeTaxesCreditExpenseAtEffectiveTaxRate" name="IncomeTaxesCreditExpenseAtEffectiveTaxRate" nillable="true" xbrli:balance="debit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_DeferredTaxAssetTaxLosses" name="DeferredTaxAssetTaxLosses" nillable="true" xbrli:balance="debit" xbrli:periodType="instant" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_DeferredTaxAssetTemporaryDifferences" name="DeferredTaxAssetTemporaryDifferences" nillable="true" xbrli:balance="debit" xbrli:periodType="instant" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_NetDeferredTaxAssetsLiabilities" name="NetDeferredTaxAssetsLiabilities" nillable="true" xbrli:balance="debit" xbrli:periodType="instant" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_DeferredtaxassetstaxdeferrechangeInFairValue" name="DeferredtaxassetstaxdeferrechangeInFairValue" nillable="true" xbrli:balance="debit" xbrli:periodType="instant" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_InvestmentLoss" name="InvestmentLoss" nillable="true" xbrli:balance="debit" xbrli:periodType="instant" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_WeightedAverageNumberOfOrdinarySharesForThePurposesOfBasicAndDilutedNetIncomePerShare" name="WeightedAverageNumberOfOrdinarySharesForThePurposesOfBasicAndDilutedNetIncomePerShare" nillable="true" xbrli:periodType="duration" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_EmployeesPensionPlanDescription" name="EmployeesPensionPlanDescription" nillable="true" xbrli:periodType="duration" type="xbrli:stringItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_PensionSchemeBasicSalaryPercentage" name="PensionSchemeBasicSalaryPercentage" nillable="true" xbrli:periodType="duration" type="num:percentItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_RentalIncome" name="RentalIncome" nillable="true" xbrli:balance="credit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_Remuneration" name="Remuneration" nillable="true" xbrli:balance="credit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_FairValueOfPutOptions" name="FairValueOfPutOptions" nillable="true" xbrli:balance="credit" xbrli:periodType="instant" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_NetIncomeLossToPutOptions" name="NetIncomeLossToPutOptions" nillable="true" xbrli:balance="credit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_ForeignCurrencyTranslation" name="ForeignCurrencyTranslation" nillable="true" xbrli:balance="credit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_UtilisedForIssuanceOfBankGuarantees" name="UtilisedForIssuanceOfBankGuarantees" nillable="true" xbrli:balance="debit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_TangibleNetWorth" name="TangibleNetWorth" nillable="true" xbrli:balance="debit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_VolatilityRateForCompanies" name="VolatilityRateForCompanies" nillable="true" xbrli:periodType="duration" type="num:percentItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_MediumDiscountForLackOfMarketability" name="MediumDiscountForLackOfMarketability" nillable="true" xbrli:periodType="duration" type="num:percentItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_EarningsRatioMediumPriceDescription" name="EarningsRatioMediumPriceDescription" nillable="true" xbrli:periodType="duration" type="xbrli:stringItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_AverageUsefulLifeOfACompany" name="AverageUsefulLifeOfACompany" nillable="true" xbrli:periodType="duration" type="xbrli:durationItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_OptionsEstimatedUsefulLife" name="OptionsEstimatedUsefulLife" nillable="true" xbrli:periodType="duration" type="xbrli:durationItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_RiskFreeRateForCompany" name="RiskFreeRateForCompany" nillable="true" xbrli:periodType="instant" type="num:percentItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_DividendYieldRate" name="DividendYieldRate" nillable="true" xbrli:periodType="duration" type="num:percentItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_IntermediateLifePlantsUsefulLifes" name="IntermediateLifePlantsUsefulLifes" nillable="true" xbrli:periodType="duration" type="xbrli:durationItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_OptionsStrikePrice" name="OptionsStrikePrice" nillable="true" xbrli:balance="debit" xbrli:periodType="instant" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_FairValueOfOptions" name="FairValueOfOptions" nillable="true" xbrli:balance="debit" xbrli:periodType="instant" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_ShortTermAndLongTermInvestmentsDisclosureAbstract" name="ShortTermAndLongTermInvestmentsDisclosureAbstract" nillable="true" abstract="true" xbrli:periodType="duration" type="xbrli:stringItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_LandUseRightNetDisclosureAbstract" name="LandUseRightNetDisclosureAbstract" nillable="true" abstract="true" xbrli:periodType="duration" type="xbrli:stringItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_BankBorrowingsDisclosureAbstract" name="BankBorrowingsDisclosureAbstract" nillable="true" abstract="true" xbrli:periodType="duration" type="xbrli:stringItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_OtherTaxesPayableDisclosureAbstract" name="OtherTaxesPayableDisclosureAbstract" nillable="true" abstract="true" xbrli:periodType="duration" type="xbrli:stringItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_CapitalReserveDisclosureAbstract" name="CapitalReserveDisclosureAbstract" nillable="true" abstract="true" xbrli:periodType="duration" type="xbrli:stringItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_OtherIncomeAndOtherLossesDisclosureAbstract" name="OtherIncomeAndOtherLossesDisclosureAbstract" nillable="true" abstract="true" xbrli:periodType="duration" type="xbrli:stringItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_TreasuryStockAbstract" name="TreasuryStockAbstract" nillable="true" abstract="true" xbrli:periodType="duration" type="xbrli:stringItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_PrcStatutoryReservesAbstract" name="PrcStatutoryReservesAbstract" nillable="true" abstract="true" xbrli:periodType="duration" type="xbrli:stringItemType" substitutionGroup="xbrli:item" />
  <element id="clwt_LandUseRightNetAbstract" name="LandUseRightNetAbstract" nillable="true" abstract="true" xbrli:periodType="duration" type="xbrli:stringItemType" substitutionGroup="xbrli:item" />
  <element name="PRCStatutoryReserveMember" id="clwt_PRCStatutoryReserveMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="PropertyInBeijingPRCMember" id="clwt_PropertyInBeijingPRCMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="CurrentsMember" id="clwt_CurrentsMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="OneMonthsPastDueMember" id="clwt_OneMonthsPastDueMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="OneToTwoMonthPastDueMember" id="clwt_OneToTwoMonthPastDueMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="ThreeMonthPastDueMember" id="clwt_ThreeMonthPastDueMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="MoreThanThreeMonthPastDueMember" id="clwt_MoreThanThreeMonthPastDueMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="PastDuesMember" id="clwt_PastDuesMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="StockRepurchasePlanMember" id="clwt_StockRepurchasePlanMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="HongKongAndPRCMember" id="clwt_HongKongAndPRCMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="HongKongProfitTaxMember" id="clwt_HongKongProfitTaxMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="ZhejiangTianlanEnvironmentalProtectionEngineeringsMember" id="clwt_ZhejiangTianlanEnvironmentalProtectionEngineeringsMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="ZhejiangTianlanMember" id="clwt_ZhejiangTianlanMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="HangzhouTianlanEnvironmenstalProtectionEquipmentCompanyLimitedMember" id="clwt_HangzhouTianlanEnvironmenstalProtectionEquipmentCompanyLimitedMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="HangzhouTianlanPureEnvironmentalProtectionTechnologyCompanysLimitedMember" id="clwt_HangzhouTianlanPureEnvironmentalProtectionTechnologyCompanysLimitedMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="HangzhouTiancanEnvironmentalTechnologyCompanysLimitedMember" id="clwt_HangzhouTiancanEnvironmentalTechnologyCompanysLimitedMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="HangzhouZhongyiEcologicalAndEnvironmentalConsultingCompanyLimitedMember" id="clwt_HangzhouZhongyiEcologicalAndEnvironmentalConsultingCompanyLimitedMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="WithinOneYearMember" id="clwt_WithinOneYearMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="OneYearToTwoYearMember" id="clwt_OneYearToTwoYearMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="StatutoryReserveFundMember" id="clwt_StatutoryReserveFundMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="StatutoryStaffWelfareFundMember" id="clwt_StatutoryStaffWelfareFundMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="EnterpriseExpansionFundMember" id="clwt_EnterpriseExpansionFundMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="ShanghaiEuroTechLimitedMember" id="clwt_ShanghaiEuroTechLimitedMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="YixingPactEnvironmentalTechnologyCoLtdMember" id="clwt_YixingPactEnvironmentalTechnologyCoLtdMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="EuroTechTradingShanghaiLimitedMember" id="clwt_EuroTechTradingShanghaiLimitedMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="TwoThousandTwentyNineStockOptionAndIncentivePlanMember" id="clwt_TwoThousandTwentyNineStockOptionAndIncentivePlanMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="TwoYearToThreeYearMember" id="clwt_TwoYearToThreeYearMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="ThreeYearsToFourYearMember" id="clwt_ThreeYearsToFourYearMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="FourYearsToFiveYearsMember" id="clwt_FourYearsToFiveYearsMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="CustomerOneMember" id="clwt_CustomerOneMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="CustomerDMember" id="clwt_CustomerDMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="CustomerEMember" id="clwt_CustomerEMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="HKMember" id="clwt_HKMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="BorrowedByTheCompanyMember" id="clwt_BorrowedByTheCompanyMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="BorrowedBySubsidiariesCompanyMember" id="clwt_BorrowedBySubsidiariesCompanyMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="CustomersCMember" id="clwt_CustomersCMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="CustomersBMember" id="clwt_CustomersBMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="CustomersAMember" id="clwt_CustomersAMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="SuppliersAMember" id="clwt_SuppliersAMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="SuppliersBMember" id="clwt_SuppliersBMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="SuppliersCMember" id="clwt_SuppliersCMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="SuppliersDMember" id="clwt_SuppliersDMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="SuppliersEMember" id="clwt_SuppliersEMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="SuppliersFMember" id="clwt_SuppliersFMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="CNMember" id="clwt_CNMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="EngineeringServiceMember" id="clwt_EngineeringServiceMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="ThePRCsMember" id="clwt_ThePRCsMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="HongKongsMember" id="clwt_HongKongsMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="OthersGeographicAreaMember" id="clwt_OthersGeographicAreaMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="TradingsAndManufacturingMember" id="clwt_TradingsAndManufacturingMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="EngineeringsMember" id="clwt_EngineeringsMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="UnallocatedCorporateExpensessMember" id="clwt_UnallocatedCorporateExpensessMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="ShanghaiEuroTechsLimitedMember" id="clwt_ShanghaiEuroTechsLimitedMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="SubsidiaryMember" id="clwt_SubsidiaryMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="EuroTechTradingsLimitedMember" id="clwt_EuroTechTradingsLimitedMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="EuroTechFarEastsLimitedMember" id="clwt_EuroTechFarEastsLimitedMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="PactAsiaPacificLimitedsMember" id="clwt_PactAsiaPacificLimitedsMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="YixingPactEnvironmentalsMember" id="clwt_YixingPactEnvironmentalsMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="BluesSkyMember" id="clwt_BluesSkyMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="ZhejiangTianlanShareCapitalMember" id="clwt_ZhejiangTianlanShareCapitalMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="ZhejiangTianlanCapitalReserveMember" id="clwt_ZhejiangTianlanCapitalReserveMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="ZhejiangTianlanPrcStatutoryReserveMember" id="clwt_ZhejiangTianlanPrcStatutoryReserveMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="ZhejiangTianlanRetainedEarningsMember" id="clwt_ZhejiangTianlanRetainedEarningsMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="ZhejiangTianlanNonControllingInterestsMember" id="clwt_ZhejiangTianlanNonControllingInterestsMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="LeaseObligationsMember" id="clwt_LeaseObligationsMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="PactAsiaPacificLimitedMember" id="clwt_PactAsiaPacificLimitedMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="CustomerFMember" id="clwt_CustomerFMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="CustomerGMember" id="clwt_CustomerGMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="CustomerHMember" id="clwt_CustomerHMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="PactEnvironmentalTechnologyPteLtdMember" id="clwt_PactEnvironmentalTechnologyPteLtdMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="ZhejiangTianlanEnvironmentalProtectionTechnologyCoLtdMember" id="clwt_ZhejiangTianlanEnvironmentalProtectionTechnologyCoLtdMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="XuanchengLanjingEnvironmentalProtectionEquipmentCoLtdMember" id="clwt_XuanchengLanjingEnvironmentalProtectionEquipmentCoLtdMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="OverfiveYearsMember" id="clwt_OverfiveYearsMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="CustomerIMember" id="clwt_CustomerIMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="OfficerPremisesMember" id="clwt_OfficerPremisesMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="BottomsMember" id="clwt_BottomsMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="OfficePremisesMember" id="clwt_OfficePremisesMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="TopsMember" id="clwt_TopsMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="LandUseRightMember" id="clwt_LandUseRightMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="PlantAndMachineriesMember" id="clwt_PlantAndMachineriesMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="BankLoanBorrowedByTheCompanysMember" id="clwt_BankLoanBorrowedByTheCompanysMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="BankLoanBorrowedBySubsidiariesOfTheCompanysMember" id="clwt_BankLoanBorrowedBySubsidiariesOfTheCompanysMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
</schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>10
<FILENAME>clwt-20241231_lab.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION LABEL LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii" standalone="yes"?>
<!--XBRL Document Created with XBRLMaster-->
<!--Version: 2.3.08-->
<!--Based on XBRL 2.1-->
<!--Date of creation: 04/30/2025-->
<!--Software architectural design and coding: A'c Dharmapremananda Avt.-->
<!--Copyright (c) 2025 I-NET Business Solutions, Inc. All Rights Reserved.-->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <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:roleRef xlink:type="simple" roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel" />
  <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel" roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" />
  <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel" roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" />
  <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel" roleURI="http://www.xbrl.org/2009/role/negatedNetLabel" />
  <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel" roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" />
  <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel" roleURI="http://www.xbrl.org/2009/role/netLabel" />
  <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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CoverAbstract" xlink:to="dei_CoverAbstract_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CoverAbstract_lbl" xml:lang="en-US">Cover [Abstract]</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityRegistrantName" xlink:to="dei_EntityRegistrantName_lbl" xlink:type="arc" />
    <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_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCentralIndexKey" xlink:to="dei_EntityCentralIndexKey_lbl" xlink:type="arc" />
    <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_DocumentType" xlink:label="dei_DocumentType" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentType" xlink:to="dei_DocumentType_lbl" xlink:type="arc" />
    <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_AmendmentFlag" xlink:label="dei_AmendmentFlag" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AmendmentFlag" xlink:to="dei_AmendmentFlag_lbl" xlink:type="arc" />
    <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.sec.gov/dei/2024/dei-2024.xsd#dei_EntityVoluntaryFilers" xlink:label="dei_EntityVoluntaryFilers" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityVoluntaryFilers" xlink:to="dei_EntityVoluntaryFilers_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityVoluntaryFilers_lbl" xml:lang="en-US">Entity Voluntary Filers</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CurrentFiscalYearEndDate" xlink:to="dei_CurrentFiscalYearEndDate_lbl" xlink:type="arc" />
    <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_EntityWellKnownSeasonedIssuer" xlink:label="dei_EntityWellKnownSeasonedIssuer" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityWellKnownSeasonedIssuer" xlink:to="dei_EntityWellKnownSeasonedIssuer_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityWellKnownSeasonedIssuer_lbl" xml:lang="en-US">Entity Well Known Seasoned Issuer</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityShellCompany" xlink:to="dei_EntityShellCompany_lbl" xlink:type="arc" />
    <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_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityEmergingGrowthCompany" xlink:to="dei_EntityEmergingGrowthCompany_lbl" xlink:type="arc" />
    <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_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCurrentReportingStatus" xlink:to="dei_EntityCurrentReportingStatus_lbl" xlink:type="arc" />
    <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_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentPeriodEndDate" xlink:to="dei_DocumentPeriodEndDate_lbl" xlink:type="arc" />
    <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_EntityFilerCategory" xlink:label="dei_EntityFilerCategory" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFilerCategory" xlink:to="dei_EntityFilerCategory_lbl" xlink:type="arc" />
    <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_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalPeriodFocus" xlink:to="dei_DocumentFiscalPeriodFocus_lbl" xlink:type="arc" />
    <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_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalYearFocus" xlink:to="dei_DocumentFiscalYearFocus_lbl" xlink:type="arc" />
    <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_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCommonStockSharesOutstanding" xlink:to="dei_EntityCommonStockSharesOutstanding_lbl" xlink:type="arc" />
    <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_DocumentAnnualReport" xlink:label="dei_DocumentAnnualReport" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentAnnualReport" xlink:to="dei_DocumentAnnualReport_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentAnnualReport_lbl" xml:lang="en-US">Document Annual Report</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentTransitionReport" xlink:to="dei_DocumentTransitionReport_lbl" xlink:type="arc" />
    <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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFileNumber" xlink:to="dei_EntityFileNumber_lbl" xlink:type="arc" />
    <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_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityIncorporationStateCountryCode" xlink:to="dei_EntityIncorporationStateCountryCode_lbl" xlink:type="arc" />
    <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 Country Code</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine1" xlink:to="dei_EntityAddressAddressLine1_lbl" xlink:type="arc" />
    <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 1</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressAddressLine2" xlink:label="dei_EntityAddressAddressLine2" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine2" xlink:to="dei_EntityAddressAddressLine2_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressAddressLine2_lbl" xml:lang="en-US">Entity Address Address Line 2</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressCityOrTown" xlink:to="dei_EntityAddressCityOrTown_lbl" xlink:type="arc" />
    <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_EntityAddressCountry" xlink:label="dei_EntityAddressCountry" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressCountry" xlink:to="dei_EntityAddressCountry_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressCountry_lbl" xml:lang="en-US">Entity Address Country</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressPostalZipCode" xlink:to="dei_EntityAddressPostalZipCode_lbl" xlink:type="arc" />
    <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_IcfrAuditorAttestationFlag" xlink:label="dei_IcfrAuditorAttestationFlag" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_IcfrAuditorAttestationFlag" xlink:to="dei_IcfrAuditorAttestationFlag_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_IcfrAuditorAttestationFlag_lbl" xml:lang="en-US">Icfr Auditor Attestation Flag</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AuditorName" xlink:label="dei_AuditorName" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AuditorName" xlink:to="dei_AuditorName_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AuditorName_lbl" xml:lang="en-US">Auditor Name</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AuditorLocation" xlink:label="dei_AuditorLocation" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AuditorLocation" xlink:to="dei_AuditorLocation_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AuditorLocation_lbl" xml:lang="en-US">Auditor Location</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AuditorFirmId" xlink:label="dei_AuditorFirmId" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AuditorFirmId" xlink:to="dei_AuditorFirmId_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AuditorFirmId_lbl" xml:lang="en-US">Auditor Firm Id</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Security12bTitle" xlink:to="dei_Security12bTitle_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_Security12bTitle_lbl" xml:lang="en-US">Security 12b Title</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_TradingSymbol" xlink:to="dei_TradingSymbol_lbl" xlink:type="arc" />
    <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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SecurityExchangeName" xlink:to="dei_SecurityExchangeName_lbl" xlink:type="arc" />
    <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_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityInteractiveDataCurrent" xlink:to="dei_EntityInteractiveDataCurrent_lbl" xlink:type="arc" />
    <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_DocumentShellCompanyReport" xlink:label="dei_DocumentShellCompanyReport" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentShellCompanyReport" xlink:to="dei_DocumentShellCompanyReport_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentShellCompanyReport_lbl" xml:lang="en-US">Document Shell Company Report</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentRegistrationStatement" xlink:label="dei_DocumentRegistrationStatement" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentRegistrationStatement" xlink:to="dei_DocumentRegistrationStatement_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentRegistrationStatement_lbl" xml:lang="en-US">Document Registration Statement</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_PhoneFaxNumberDescription" xlink:label="dei_PhoneFaxNumberDescription" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_PhoneFaxNumberDescription" xlink:to="dei_PhoneFaxNumberDescription_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_PhoneFaxNumberDescription_lbl" xml:lang="en-US">Phone Fax Number Description</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_ContactPersonnelName" xlink:label="dei_ContactPersonnelName" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_ContactPersonnelName" xlink:to="dei_ContactPersonnelName_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_ContactPersonnelName_lbl" xml:lang="en-US">Contact Personnel Name</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentAccountingStandard" xlink:label="dei_DocumentAccountingStandard" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentAccountingStandard" xlink:to="dei_DocumentAccountingStandard_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentAccountingStandard_lbl" xml:lang="en-US">Document Accounting Standard</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressesAddressTypeAxis" xlink:label="dei_EntityAddressesAddressTypeAxis" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressesAddressTypeAxis" xlink:to="dei_EntityAddressesAddressTypeAxis_lbl_aa414b" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressesAddressTypeAxis_lbl_aa414b" xml:lang="en-US">Entity Addresses Address Type [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_BusinessContactMember" xlink:label="dei_BusinessContactMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_BusinessContactMember" xlink:to="dei_BusinessContactMember_lbl_a370d1" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_BusinessContactMember_lbl_a370d1" xml:lang="en-US">Business Contact [Member]</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_StatementOfFinancialPositionAbstract_lbl_feeecb" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfFinancialPositionAbstract_lbl_feeecb" xml:lang="en-US">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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementTable_lbl_43ca9c" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementTable_lbl_43ca9c" 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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementLineItems_lbl_741436" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementLineItems_lbl_741436" xml:lang="en-US">Statement [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="srt_ConsolidatedEntitiesAxis" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ConsolidatedEntitiesAxis" xlink:to="srt_ConsolidatedEntitiesAxis_lbl_ee467d" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ConsolidatedEntitiesAxis_lbl_ee467d" xml:lang="en-US">Consolidated Entities [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="srt_SubsidiariesMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_SubsidiariesMember" xlink:to="srt_SubsidiariesMember_lbl_01e6f5" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_SubsidiariesMember_lbl_01e6f5" xml:lang="en-US">ZHEJIANG TIANLAN</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_AssetsAbstract_lbl_fef9df" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsAbstract_lbl_fef9df" 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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrentAbstract_lbl_1e2bc2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsCurrentAbstract_lbl_1e2bc2" xml:lang="en-US">Current asset:</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl_66920e" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl_66920e" 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_RestrictedCashCurrent" xlink:label="us-gaap_RestrictedCashCurrent" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedCashCurrent" xlink:to="us-gaap_RestrictedCashCurrent_lbl_ac40aa" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RestrictedCashCurrent_lbl_ac40aa" xml:lang="en-US">Restricted cash</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNet" xlink:label="us-gaap_AccountsReceivableNet" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNet" xlink:to="us-gaap_AccountsReceivableNet_lbl_4f3542" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableNet_lbl_4f3542" xml:lang="en-US">Accounts receivable, net</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl_797231" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl_797231" xml:lang="en-US">Prepayments 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_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl_7" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl_7" xml:lang="en-US">[Prepaid Expense and Other Assets, Current]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerAssetNet" xlink:label="us-gaap_ContractWithCustomerAssetNet" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerAssetNet" xlink:to="us-gaap_ContractWithCustomerAssetNet_lbl_282ce5" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerAssetNet_lbl_282ce5" xml:lang="en-US">Contract assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryNet_lbl_81e86c" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_InventoryNet_lbl_81e86c" xml:lang="en-US">Inventories</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryNet_lbl_9" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryNet_lbl_9" xml:lang="en-US">[Inventory, Net]</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_AssetsCurrent_lbl_93147f" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsCurrent_lbl_93147f" 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_AssetsNoncurrentAbstract" xlink:label="us-gaap_AssetsNoncurrentAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsNoncurrentAbstract" xlink:to="us-gaap_AssetsNoncurrentAbstract_lbl_1c1e27" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsNoncurrentAbstract_lbl_1c1e27" xml:lang="en-US">Non-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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_lbl_3c57e3" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl_3c57e3" xml:lang="en-US">Property, plant and equipment, net</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVentures" xlink:to="us-gaap_InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVentures_lbl_8e4b60" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVentures_lbl_8e4b60" xml:lang="en-US">Investments in affiliates</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVentures" xlink:label="us-gaap_InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVentures" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVentures" xlink:to="us-gaap_InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVentures_lbl_13" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVentures_lbl_13" xml:lang="en-US">[Investments in and Advance to Affiliates, Subsidiaries, Associates, and Joint Ventures]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Goodwill" xlink:to="us-gaap_Goodwill_lbl_3156d4" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_Goodwill_lbl_3156d4" 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_Goodwill" xlink:label="us-gaap_Goodwill" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Goodwill" xlink:to="us-gaap_Goodwill_lbl_14" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Goodwill_lbl_14" 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_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_lbl_d1eaa7" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_lbl_d1eaa7" xml:lang="en-US">Operating lease right-of-use assets, net</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_DeferredTaxAssets" xlink:label="clwt_DeferredTaxAssets" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_DeferredTaxAssets" xlink:to="clwt_DeferredTaxAssets_lbl_f1f95c" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_DeferredTaxAssets_lbl_f1f95c" xml:lang="en-US">Deferred tax assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedCashNoncurrent" xlink:to="us-gaap_RestrictedCashNoncurrent_lbl_b8b93f" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_RestrictedCashNoncurrent_lbl_b8b93f" xml:lang="en-US">Restricted cash</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedCashNoncurrent" xlink:label="us-gaap_RestrictedCashNoncurrent" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedCashNoncurrent" xlink:to="us-gaap_RestrictedCashNoncurrent_lbl_17" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RestrictedCashNoncurrent_lbl_17" xml:lang="en-US">[Restricted Cash, Noncurrent]</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Assets_lbl_b5ff73" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Assets_lbl_b5ff73" 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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl_b49dd4" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl_b49dd4" xml:lang="en-US">LIABILTIES AND SHAREHOLDERS' 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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrentAbstract_lbl_22d8b9" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesCurrentAbstract_lbl_22d8b9" xml:lang="en-US">Current liabilities:</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermBankLoansAndNotesPayable" xlink:to="us-gaap_ShortTermBankLoansAndNotesPayable_lbl_4ed3b2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShortTermBankLoansAndNotesPayable_lbl_4ed3b2" xml:lang="en-US">Bank borrowings</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermBankLoansAndNotesPayable" xlink:label="us-gaap_ShortTermBankLoansAndNotesPayable" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermBankLoansAndNotesPayable" xlink:to="us-gaap_ShortTermBankLoansAndNotesPayable_lbl_21" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShortTermBankLoansAndNotesPayable_lbl_21" xml:lang="en-US">[Short-Term Bank Loans and Notes Payable]</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableCurrent" xlink:to="us-gaap_AccountsPayableCurrent_lbl_93b18b" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsPayableCurrent_lbl_93b18b" 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_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_lbl_61df78" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_lbl_61df78" xml:lang="en-US">Contract liabilities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAccountsPayableAndAccruedLiabilities" xlink:to="us-gaap_OtherAccountsPayableAndAccruedLiabilities_lbl_69f791" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OtherAccountsPayableAndAccruedLiabilities_lbl_69f791" xml:lang="en-US">Other payables 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_OtherAccountsPayableAndAccruedLiabilities" xlink:label="us-gaap_OtherAccountsPayableAndAccruedLiabilities" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAccountsPayableAndAccruedLiabilities" xlink:to="us-gaap_OtherAccountsPayableAndAccruedLiabilities_lbl_24" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherAccountsPayableAndAccruedLiabilities_lbl_24" xml:lang="en-US">[Other Accounts Payable and Accrued Liabilities]</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityCurrent" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_lbl_30d13a" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_lbl_30d13a" xml:lang="en-US">Current portion of long-term operating 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_TaxesPayableCurrent" xlink:label="us-gaap_TaxesPayableCurrent" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TaxesPayableCurrent" xlink:to="us-gaap_TaxesPayableCurrent_lbl_19d12c" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TaxesPayableCurrent_lbl_19d12c" xml:lang="en-US">Income tax payable</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_LiabilitiesCurrent_lbl_40ddef" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesCurrent_lbl_40ddef" 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_LiabilitiesNoncurrentAbstract" xlink:label="us-gaap_LiabilitiesNoncurrentAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesNoncurrentAbstract" xlink:to="us-gaap_LiabilitiesNoncurrentAbstract_lbl_3dcd26" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesNoncurrentAbstract_lbl_3dcd26" xml:lang="en-US">Non-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_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl_038f3c" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl_038f3c" xml:lang="en-US">Long-term operating lease liabilities, net of 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_Liabilities" xlink:label="us-gaap_Liabilities" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_Liabilities_lbl_f35b50" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Liabilities_lbl_f35b50" xml:lang="en-US">TOTAL LIABILITIES</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingencies" xlink:to="us-gaap_CommitmentsAndContingencies_lbl_ed2fe4" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CommitmentsAndContingencies_lbl_ed2fe4" 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_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingencies" xlink:to="us-gaap_CommitmentsAndContingencies_lbl_31" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommitmentsAndContingencies_lbl_31" 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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquityAbstract_lbl_71872f" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquityAbstract_lbl_71872f" xml:lang="en-US">SHAREHOLDERS' EQUITY</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockValue" xlink:to="us-gaap_CommonStockValue_lbl_6efabd" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockValue_lbl_6efabd" xml:lang="en-US">Ordinary share, 20,000,000 shares authorized and no par value; 7,899,832 and 7,899,832 issued and outstanding as of December 31, 2024 and 2023</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapital" xlink:to="us-gaap_AdditionalPaidInCapital_lbl_5dd678" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdditionalPaidInCapital_lbl_5dd678" xml:lang="en-US">Additional paid-in capital</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockValue" xlink:to="us-gaap_TreasuryStockValue_lbl_af683f" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_TreasuryStockValue_lbl_af683f" xml:lang="en-US">Treasury stock, 183,533 and 178,400 shares at cost, as of December 31, 2024 and 2023, respectively</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockValue" xlink:to="us-gaap_TreasuryStockValue_lbl_35" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockValue_lbl_35" xml:lang="en-US">[Treasury Stock, Value]</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_PRCStatutoryReserve" xlink:label="clwt_PRCStatutoryReserve" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_PRCStatutoryReserve" xlink:to="clwt_PRCStatutoryReserve_lbl_9bc445" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_PRCStatutoryReserve_lbl_9bc445" xml:lang="en-US">PRC statutory reserve</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl_ff174d" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl_ff174d" 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_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl_37" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl_37" xml:lang="en-US">[Accumulated Other Comprehensive Income (Loss), Net of Tax]</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_lbl_05655e" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_lbl_05655e" 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_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_lbl_c68f93" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquity_lbl_c68f93" xml:lang="en-US">Total shareholders' equity attributable to Euro Tech Holdings Company Limited</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MinorityInterest" xlink:to="us-gaap_MinorityInterest_lbl_ef32fe" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MinorityInterest_lbl_ef32fe" xml:lang="en-US">Noncontrolling 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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_lbl_708144" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_lbl_708144" xml:lang="en-US">Shareholders' 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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_lbl_d7688c" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_lbl_d7688c" xml:lang="en-US">TOTAL LIABILITIES AND SHAREHOLDERS' EQUITY</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Cash" xlink:label="us-gaap_Cash" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Cash" xlink:to="us-gaap_Cash_lbl_8a7d38" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Cash_lbl_8a7d38" xml:lang="en-US">Cash</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Investments" xlink:to="us-gaap_Investments_lbl_dd53ff" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_Investments_lbl_dd53ff" xml:lang="en-US">Inventories</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Investments" xlink:label="us-gaap_Investments" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Investments" xlink:to="us-gaap_Investments_lbl_44" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Investments_lbl_44" xml:lang="en-US">[Investments]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermInvestments" xlink:label="us-gaap_ShortTermInvestments" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermInvestments" xlink:to="us-gaap_ShortTermInvestments_lbl_863c7f" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShortTermInvestments_lbl_863c7f" xml:lang="en-US">Short-term investments</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherIntangibleAssetsNet" xlink:to="us-gaap_OtherIntangibleAssetsNet_lbl_cddfaf" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OtherIntangibleAssetsNet_lbl_cddfaf" xml:lang="en-US">Intangible assets, net</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherIntangibleAssetsNet" xlink:label="us-gaap_OtherIntangibleAssetsNet" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherIntangibleAssetsNet" xlink:to="us-gaap_OtherIntangibleAssetsNet_lbl_46" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherIntangibleAssetsNet_lbl_46" xml:lang="en-US">[Other Intangible Assets, Net]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_LandLeaseRightOfUseAsset" xlink:to="clwt_LandLeaseRightOfUseAsset_lbl_67de4c" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="clwt_LandLeaseRightOfUseAsset_lbl_67de4c" xml:lang="en-US">Land use right, net</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_LandLeaseRightOfUseAsset" xlink:label="clwt_LandLeaseRightOfUseAsset" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_LandLeaseRightOfUseAsset" xlink:to="clwt_LandLeaseRightOfUseAsset_lbl_47" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_LandLeaseRightOfUseAsset_lbl_47" xml:lang="en-US">[Land use right, net]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermInvestments" xlink:label="us-gaap_LongTermInvestments" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermInvestments" xlink:to="us-gaap_LongTermInvestments_lbl_2447a1" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermInvestments_lbl_2447a1" xml:lang="en-US">Long-term investments</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsNoncurrent" xlink:label="us-gaap_AssetsNoncurrent" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsNoncurrent" xlink:to="us-gaap_AssetsNoncurrent_lbl_61f999" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsNoncurrent_lbl_61f999" xml:lang="en-US">Total non-current assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherBorrowings" xlink:to="us-gaap_OtherBorrowings_lbl_48e5f9" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OtherBorrowings_lbl_48e5f9" xml:lang="en-US">Bank borrowings</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherBorrowings" xlink:label="us-gaap_OtherBorrowings" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherBorrowings" xlink:to="us-gaap_OtherBorrowings_lbl_50" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherBorrowings_lbl_50" xml:lang="en-US">[Other Borrowings]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_ContractLiabilitiesCurrent" xlink:to="clwt_ContractLiabilitiesCurrent_lbl_17bd33" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="clwt_ContractLiabilitiesCurrent_lbl_17bd33" xml:lang="en-US">Contract liabilities</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ContractLiabilitiesCurrent" xlink:label="clwt_ContractLiabilitiesCurrent" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_ContractLiabilitiesCurrent" xlink:to="clwt_ContractLiabilitiesCurrent_lbl_51" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_ContractLiabilitiesCurrent_lbl_51" xml:lang="en-US">[Contract liabilities]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_OtherTaxesPayableCurrentLiabilities" xlink:to="clwt_OtherTaxesPayableCurrentLiabilities_lbl_17700a" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="clwt_OtherTaxesPayableCurrentLiabilities_lbl_17700a" xml:lang="en-US">Other taxes payable</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OtherTaxesPayableCurrentLiabilities" xlink:label="clwt_OtherTaxesPayableCurrentLiabilities" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_OtherTaxesPayableCurrentLiabilities" xlink:to="clwt_OtherTaxesPayableCurrentLiabilities_lbl_52" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_OtherTaxesPayableCurrentLiabilities_lbl_52" xml:lang="en-US">[Other taxes payable]</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_DeferredGovernmentGrant" xlink:label="clwt_DeferredGovernmentGrant" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_DeferredGovernmentGrant" xlink:to="clwt_DeferredGovernmentGrant_lbl_c20ec7" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_DeferredGovernmentGrant_lbl_c20ec7" xml:lang="en-US">Deferred government grant</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesNoncurrent" xlink:label="us-gaap_LiabilitiesNoncurrent" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesNoncurrent" xlink:to="us-gaap_LiabilitiesNoncurrent_lbl_9992ad" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesNoncurrent_lbl_9992ad" xml:lang="en-US">Total non-current liabilities</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ShareCapital" xlink:label="clwt_ShareCapital" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_ShareCapital" xlink:to="clwt_ShareCapital_lbl_15a740" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_ShareCapital_lbl_15a740" xml:lang="en-US">Share capital 82,572,000 no par value shares authorized, issued and outstanding, as of December 31, 2023 and 2022, respectively</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_CapitalReserve" xlink:to="clwt_CapitalReserve_lbl_85470e" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="clwt_CapitalReserve_lbl_85470e" xml:lang="en-US">Capital reserve</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CapitalReserve" xlink:label="clwt_CapitalReserve" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_CapitalReserve" xlink:to="clwt_CapitalReserve_lbl_56" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_CapitalReserve_lbl_56" xml:lang="en-US">[Capital reserve]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatutoryAccountingPracticesStatutoryCapitalAndSurplusBalance" xlink:to="us-gaap_StatutoryAccountingPracticesStatutoryCapitalAndSurplusBalance_lbl_6efdcf" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_StatutoryAccountingPracticesStatutoryCapitalAndSurplusBalance_lbl_6efdcf" xml:lang="en-US">PRC statutory reserve</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatutoryAccountingPracticesStatutoryCapitalAndSurplusBalance" xlink:label="us-gaap_StatutoryAccountingPracticesStatutoryCapitalAndSurplusBalance" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatutoryAccountingPracticesStatutoryCapitalAndSurplusBalance" xlink:to="us-gaap_StatutoryAccountingPracticesStatutoryCapitalAndSurplusBalance_lbl_57" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatutoryAccountingPracticesStatutoryCapitalAndSurplusBalance_lbl_57" xml:lang="en-US">[Statutory Accounting Practices, Statutory Capital and Surplus, Balance]</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesAuthorized" xlink:to="us-gaap_CommonStockSharesAuthorized_lbl_160047" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockSharesAuthorized_lbl_160047" xml:lang="en-US">Common stock, 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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesIssued" xlink:to="us-gaap_CommonStockSharesIssued_lbl_69a7fa" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockSharesIssued_lbl_69a7fa" xml:lang="en-US">Common 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_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesOutstanding" xlink:to="us-gaap_CommonStockSharesOutstanding_lbl_afc11d" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockSharesOutstanding_lbl_afc11d" xml:lang="en-US">Common 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_TreasuryStockCommonShares" xlink:label="us-gaap_TreasuryStockCommonShares" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockCommonShares" xlink:to="us-gaap_TreasuryStockCommonShares_lbl_6c118e" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockCommonShares_lbl_6c118e" 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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_IncomeStatementAbstract_lbl_8933bb" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeStatementAbstract_lbl_8933bb" xml:lang="en-US">CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME (LOSS)</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_RevenueFromTradingAndManufacturing" xlink:label="clwt_RevenueFromTradingAndManufacturing" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_RevenueFromTradingAndManufacturing" xlink:to="clwt_RevenueFromTradingAndManufacturing_lbl_f871c5" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_RevenueFromTradingAndManufacturing_lbl_f871c5" xml:lang="en-US">Trading and manufacturing</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_RevenueFromEngineering" xlink:to="clwt_RevenueFromEngineering_lbl_88fa8e" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="clwt_RevenueFromEngineering_lbl_88fa8e" xml:lang="en-US">Engineering</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_RevenueFromEngineering" xlink:label="clwt_RevenueFromEngineering" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_RevenueFromEngineering" xlink:to="clwt_RevenueFromEngineering_lbl_3" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_RevenueFromEngineering_lbl_3" xml:lang="en-US">[Engineering]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Revenues" xlink:to="us-gaap_Revenues_lbl_106985" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_Revenues_lbl_106985" xml:lang="en-US">Revenue</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Revenues" xlink:label="us-gaap_Revenues" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Revenues" xlink:to="us-gaap_Revenues_lbl_4" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Revenues_lbl_4" 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_CostOfRevenueAbstract" xlink:label="us-gaap_CostOfRevenueAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfRevenueAbstract" xlink:to="us-gaap_CostOfRevenueAbstract_lbl_4c9135" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CostOfRevenueAbstract_lbl_4c9135" xml:lang="en-US">Cost of revenue:</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_CostOfTradingAndManufacturing" xlink:to="clwt_CostOfTradingAndManufacturing_lbl_3b6324" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="clwt_CostOfTradingAndManufacturing_lbl_3b6324" xml:lang="en-US">Trading and manufacturing</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CostOfTradingAndManufacturing" xlink:label="clwt_CostOfTradingAndManufacturing" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_CostOfTradingAndManufacturing" xlink:to="clwt_CostOfTradingAndManufacturing_lbl_6" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_CostOfTradingAndManufacturing_lbl_6" xml:lang="en-US">[Trading and manufacturing]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_CostOfEngineering" xlink:to="clwt_CostOfEngineering_lbl_c16c35" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="clwt_CostOfEngineering_lbl_c16c35" xml:lang="en-US">Engineering</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CostOfEngineering" xlink:label="clwt_CostOfEngineering" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_CostOfEngineering" xlink:to="clwt_CostOfEngineering_lbl_7" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_CostOfEngineering_lbl_7" xml:lang="en-US">[Engineering 1]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfRevenue" xlink:to="us-gaap_CostOfRevenue_lbl_28a982" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_CostOfRevenue_lbl_28a982" xml:lang="en-US">Cost of revenue</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfRevenue" xlink:label="us-gaap_CostOfRevenue" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfRevenue" xlink:to="us-gaap_CostOfRevenue_lbl_8" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CostOfRevenue_lbl_8" xml:lang="en-US">[Cost of Revenue]</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_GrossProfit_lbl_deaee2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GrossProfit_lbl_deaee2" 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_OperatingExpensesAbstract" xlink:label="us-gaap_OperatingExpensesAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_OperatingExpensesAbstract_lbl_10c7e8" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingExpensesAbstract_lbl_10c7e8" xml:lang="en-US">Operating expenses:</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_FinanceCosts" xlink:label="clwt_FinanceCosts" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_FinanceCosts" xlink:to="clwt_FinanceCosts_lbl_70057c" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_FinanceCosts_lbl_70057c" xml:lang="en-US">Finance costs</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GeneralAndAdministrativeExpense" xlink:to="us-gaap_GeneralAndAdministrativeExpense_lbl_dc2011" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_GeneralAndAdministrativeExpense_lbl_dc2011" xml:lang="en-US">General 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_GeneralAndAdministrativeExpense" xlink:label="us-gaap_GeneralAndAdministrativeExpense" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GeneralAndAdministrativeExpense" xlink:to="us-gaap_GeneralAndAdministrativeExpense_lbl_12" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GeneralAndAdministrativeExpense_lbl_12" xml:lang="en-US">[General and Administrative Expense]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnDispositionOfAssets" xlink:to="us-gaap_GainLossOnDispositionOfAssets_lbl_5c4c1d" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_GainLossOnDispositionOfAssets_lbl_5c4c1d" xml:lang="en-US">Loss on disposal of property, plant and equipment</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainLossOnDispositionOfAssets" xlink:label="us-gaap_GainLossOnDispositionOfAssets" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnDispositionOfAssets" xlink:to="us-gaap_GainLossOnDispositionOfAssets_lbl_13" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainLossOnDispositionOfAssets_lbl_13" xml:lang="en-US">[Gain (Loss) on Disposition of Property Plant Equipment, Excluding Oil and Gas Property and Timber Property]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingExpenses" xlink:label="us-gaap_OperatingExpenses" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingExpenses" xlink:to="us-gaap_OperatingExpenses_lbl_b3d934" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingExpenses_lbl_b3d934" xml:lang="en-US">Operating Expenses</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_OperatingIncomeLoss_lbl_d1f88c" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingIncomeLoss_lbl_d1f88c" xml:lang="en-US">INCOME (LOSS) FROM OPERATION</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:label="us-gaap_OtherNonoperatingIncomeExpenseAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_OtherNonoperatingIncomeExpenseAbstract_lbl_1549ad" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherNonoperatingIncomeExpenseAbstract_lbl_1549ad" xml:lang="en-US">Other income:</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestIncomeOther" xlink:label="us-gaap_InterestIncomeOther" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestIncomeOther" xlink:to="us-gaap_InterestIncomeOther_lbl_548a8f" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestIncomeOther_lbl_548a8f" xml:lang="en-US">Interest income</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquitySecuritiesFvNiRealizedGainLoss" xlink:label="us-gaap_EquitySecuritiesFvNiRealizedGainLoss" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquitySecuritiesFvNiRealizedGainLoss" xlink:to="us-gaap_EquitySecuritiesFvNiRealizedGainLoss_lbl_9d2c67" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquitySecuritiesFvNiRealizedGainLoss_lbl_9d2c67" xml:lang="en-US">Equity in income of affiliates</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OtherIncomeNet" xlink:label="clwt_OtherIncomeNet" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_OtherIncomeNet" xlink:to="clwt_OtherIncomeNet_lbl_12bb8c" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_OtherIncomeNet_lbl_12bb8c" xml:lang="en-US">Other 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_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherNonoperatingIncomeExpense" xlink:to="us-gaap_OtherNonoperatingIncomeExpense_lbl_48059b" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherNonoperatingIncomeExpense_lbl_48059b" xml:lang="en-US">Total other 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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl_f8cc17" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl_f8cc17" xml:lang="en-US">INCOME BEFORE 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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit_lbl_e1d8bb" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl_e1d8bb" xml:lang="en-US">Income tax (expense) credit</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_NetIncome" xlink:label="clwt_NetIncome" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_NetIncome" xlink:to="clwt_NetIncome_lbl_06c926" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_NetIncome_lbl_06c926" xml:lang="en-US">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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:to="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_lbl_a9da45" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetIncomeLossAttributableToNoncontrollingInterest_lbl_a9da45" xml:lang="en-US">Net loss (income) attributable to noncontrolling interests</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_NetIncomeAttributableToEuroTechHoldingsCompanyLimited" xlink:label="clwt_NetIncomeAttributableToEuroTechHoldingsCompanyLimited" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_NetIncomeAttributableToEuroTechHoldingsCompanyLimited" xlink:to="clwt_NetIncomeAttributableToEuroTechHoldingsCompanyLimited_lbl_8640a9" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_NetIncomeAttributableToEuroTechHoldingsCompanyLimited_lbl_8640a9" xml:lang="en-US">Net income attributable to Euro Tech Holdings Company Limited</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxAbstract_lbl_0c6c28" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAbstract_lbl_0c6c28" 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_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss_lbl_29d645" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetIncomeLoss_lbl_29d645" xml:lang="en-US">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_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_lbl_8108a7" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_lbl_8108a7" xml:lang="en-US">Foreign currency adjustment loss</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax_lbl_57af90" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax_lbl_57af90" 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_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:to="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_lbl_d95570" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_lbl_d95570" xml:lang="en-US">Comprehensive income (loss) attributable to noncontrolling interests</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossTaxPortionAttributableToParent1" xlink:label="us-gaap_OtherComprehensiveIncomeLossTaxPortionAttributableToParent1" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossTaxPortionAttributableToParent1" xlink:to="us-gaap_OtherComprehensiveIncomeLossTaxPortionAttributableToParent1_lbl_ee5c5a" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeLossTaxPortionAttributableToParent1_lbl_ee5c5a" xml:lang="en-US">Comprehensive income attributable to Euro Tech Holdings Company Limited</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareDiluted" xlink:to="us-gaap_EarningsPerShareDiluted_lbl_8d272c" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareDiluted_lbl_8d272c" xml:lang="en-US">Net income per ordinary share attributable to Euro Tech Holdings Company Limited- 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_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl_e33f8e" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl_e33f8e" xml:lang="en-US">Weighted average common shares outstanding- Basic and Diluted</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SellingGeneralAndAdministrativeExpense" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense_lbl_72ccb4" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense_lbl_72ccb4" 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_SellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SellingGeneralAndAdministrativeExpense" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense_lbl_34" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense_lbl_34" xml:lang="en-US">[Selling, General and Administrative Expense]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestExpense" xlink:to="us-gaap_InterestExpense_lbl_4d3868" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_InterestExpense_lbl_4d3868" xml:lang="en-US">Interest expense</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestExpense" xlink:label="us-gaap_InterestExpense" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestExpense" xlink:to="us-gaap_InterestExpense_lbl_35" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestExpense_lbl_35" xml:lang="en-US">[Interest Expense, Operating and Nonoperating]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherIncome" xlink:label="us-gaap_OtherIncome" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherIncome" xlink:to="us-gaap_OtherIncome_lbl_739897" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherIncome_lbl_739897" xml:lang="en-US">Other income</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OtherNonoperatingExpenses" xlink:label="clwt_OtherNonoperatingExpenses" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_OtherNonoperatingExpenses" xlink:to="clwt_OtherNonoperatingExpenses_lbl_04454d" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_OtherNonoperatingExpenses_lbl_04454d" xml:lang="en-US">Other losses</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProfitLoss" xlink:to="us-gaap_ProfitLoss_lbl_b809c1" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ProfitLoss_lbl_b809c1" xml:lang="en-US">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_ProfitLoss" xlink:label="us-gaap_ProfitLoss" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProfitLoss" xlink:to="us-gaap_ProfitLoss_lbl_38" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProfitLoss_lbl_38" xml:lang="en-US">[Net Income (Loss), Including Portion Attributable to Noncontrolling Interest]</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_StatementOfCashFlowsAbstract_lbl_188797" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfCashFlowsAbstract_lbl_188797" xml:lang="en-US">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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl_18b743" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl_18b743" xml:lang="en-US">Cash flows from operating activities:</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProfitLoss" xlink:to="us-gaap_ProfitLoss_lbl_876a9a" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ProfitLoss_lbl_876a9a" xml:lang="en-US">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_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl_d3b6ae" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl_d3b6ae" xml:lang="en-US">Adjustments to reconcile net income to net cash provided by (used in) 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_Depreciation" xlink:label="us-gaap_Depreciation" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Depreciation" xlink:to="us-gaap_Depreciation_lbl_e2c452" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Depreciation_lbl_e2c452" xml:lang="en-US">Depreciation of property, plant and equipment</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_AmortizationOnRightOfUseAssets" xlink:label="clwt_AmortizationOnRightOfUseAssets" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_AmortizationOnRightOfUseAssets" xlink:to="clwt_AmortizationOnRightOfUseAssets_lbl_ad0b9c" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_AmortizationOnRightOfUseAssets_lbl_ad0b9c" xml:lang="en-US">Amortization on right-of-use assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnDispositionOfAssets" xlink:to="us-gaap_GainLossOnDispositionOfAssets_lbl_1b83be" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_GainLossOnDispositionOfAssets_lbl_1b83be" xml:lang="en-US">Loss on disposal of property, plant and equipment</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensation" xlink:to="us-gaap_ShareBasedCompensation_lbl_35a018" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensation_lbl_35a018" xml:lang="en-US">Stock-based compensation expense</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_NonControllingInterestsInIncomeLossOfSubsidiaries" xlink:label="clwt_NonControllingInterestsInIncomeLossOfSubsidiaries" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_NonControllingInterestsInIncomeLossOfSubsidiaries" xlink:to="clwt_NonControllingInterestsInIncomeLossOfSubsidiaries_lbl_ebc2d6" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_NonControllingInterestsInIncomeLossOfSubsidiaries_lbl_ebc2d6" xml:lang="en-US">Non-controlling interests in (loss) / income of subsidiaries</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_AdjustmentInAdvancesToAffiliatesAmountOfEquityProfit" xlink:label="clwt_AdjustmentInAdvancesToAffiliatesAmountOfEquityProfit" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_AdjustmentInAdvancesToAffiliatesAmountOfEquityProfit" xlink:to="clwt_AdjustmentInAdvancesToAffiliatesAmountOfEquityProfit_lbl_d32d18" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_AdjustmentInAdvancesToAffiliatesAmountOfEquityProfit_lbl_d32d18" xml:lang="en-US">Equity in profit of affiliates</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xlink:label="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xlink:to="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_lbl_5e8a16" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_lbl_5e8a16" xml:lang="en-US">Deferred tax expenses</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ChangeInNonCurrentAssetsAndLiabilitiesAbstract" xlink:label="clwt_ChangeInNonCurrentAssetsAndLiabilitiesAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_ChangeInNonCurrentAssetsAndLiabilitiesAbstract" xlink:to="clwt_ChangeInNonCurrentAssetsAndLiabilitiesAbstract_lbl_c66e48" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_ChangeInNonCurrentAssetsAndLiabilitiesAbstract_lbl_c66e48" xml:lang="en-US">Change in non-current assets and liabilities:</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_IncreaseDecreaseInOperatingLeaseLiabiltyCurrent" xlink:label="clwt_IncreaseDecreaseInOperatingLeaseLiabiltyCurrent" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_IncreaseDecreaseInOperatingLeaseLiabiltyCurrent" xlink:to="clwt_IncreaseDecreaseInOperatingLeaseLiabiltyCurrent_lbl_992825" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_IncreaseDecreaseInOperatingLeaseLiabiltyCurrent_lbl_992825" xml:lang="en-US">Long-term operating lease obligations</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl_88a9f0" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl_88a9f0" xml:lang="en-US">Change 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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl_62b354" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl_62b354" xml:lang="en-US">Accounts receivable</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_lbl_a46b40" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_lbl_a46b40" xml:lang="en-US">Prepayments 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_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_lbl_16" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_lbl_16" xml:lang="en-US">[Increase (Decrease) in Prepaid Expense and Other Assets]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInContractWithCustomerAsset" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerAsset_lbl_13860e" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerAsset_lbl_13860e" xml:lang="en-US">Contract assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerAsset" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerAsset" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInContractWithCustomerAsset" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerAsset_lbl_17" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerAsset_lbl_17" xml:lang="en-US">[Increase (Decrease) in Contract with Customer, Asset]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInInventories" xlink:to="us-gaap_IncreaseDecreaseInInventories_lbl_00b35e" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncreaseDecreaseInInventories_lbl_00b35e" xml:lang="en-US">Inventories</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInInventories" xlink:to="us-gaap_IncreaseDecreaseInInventories_lbl_18" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInInventories_lbl_18" xml:lang="en-US">[Increase (Decrease) in Inventories]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsPayable" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable_lbl_2eac7b" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable_lbl_2eac7b" xml:lang="en-US">Accounts payables</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_lbl_93f080" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_lbl_93f080" xml:lang="en-US">Contract liabilities</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:to="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_lbl_20" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInContractWithCustomerLiability_lbl_20" xml:lang="en-US">[Increase (Decrease) in Contract with Customer, Liability]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOtherAccountsPayableAndAccruedLiabilities" xlink:to="us-gaap_IncreaseDecreaseInOtherAccountsPayableAndAccruedLiabilities_lbl_a6a304" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncreaseDecreaseInOtherAccountsPayableAndAccruedLiabilities_lbl_a6a304" xml:lang="en-US">Other payables 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_IncreaseDecreaseInOtherAccountsPayableAndAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInOtherAccountsPayableAndAccruedLiabilities" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOtherAccountsPayableAndAccruedLiabilities" xlink:to="us-gaap_IncreaseDecreaseInOtherAccountsPayableAndAccruedLiabilities_lbl_21" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOtherAccountsPayableAndAccruedLiabilities_lbl_21" xml:lang="en-US">[Increase (Decrease) in Other Accounts Payable and Accrued Liabilities]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:to="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_lbl_68d949" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_lbl_68d949" xml:lang="en-US">Income tax payable</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:label="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:to="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_lbl_22" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_lbl_22" xml:lang="en-US">[Increase (Decrease) in Income Taxes Payable]</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_IncreaseDecreaseInRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:label="clwt_IncreaseDecreaseInRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_IncreaseDecreaseInRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:to="clwt_IncreaseDecreaseInRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_lbl_955dd5" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_IncreaseDecreaseInRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_lbl_955dd5" xml:lang="en-US">Right-of-use assets and operating 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_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl_d0e277" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl_d0e277" xml:lang="en-US">Net cash (used in) 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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl_5f0f09" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl_5f0f09" xml:lang="en-US">Cash flows from investing activities:</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl_f29d3d" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl_f29d3d" xml:lang="en-US">Payment to acquire property, plant and equipment</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl_26" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl_26" xml:lang="en-US">[Payments to Acquire Property, Plant, and Equipment]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromDividendsReceived" xlink:label="us-gaap_ProceedsFromDividendsReceived" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromDividendsReceived" xlink:to="us-gaap_ProceedsFromDividendsReceived_lbl_85800f" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromDividendsReceived_lbl_85800f" xml:lang="en-US">Dividend received from affiliates</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl_5b2c11" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl_5b2c11" xml:lang="en-US">Net cash provided by 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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl_899ef5" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl_899ef5" xml:lang="en-US">Cash flows from financing activities:</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsOfDividends" xlink:to="us-gaap_PaymentsOfDividends_lbl_a2c261" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsOfDividends_lbl_a2c261" xml:lang="en-US">Dividend paid</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsOfDividends" xlink:label="us-gaap_PaymentsOfDividends" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsOfDividends" xlink:to="us-gaap_PaymentsOfDividends_lbl_30" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsOfDividends_lbl_30" xml:lang="en-US">[Payments of Dividends]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:to="us-gaap_PaymentsForRepurchaseOfCommonStock_lbl_032b85" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock_lbl_032b85" xml:lang="en-US">Purchase of 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_PaymentsForRepurchaseOfCommonStock" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:to="us-gaap_PaymentsForRepurchaseOfCommonStock_lbl_31" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsForRepurchaseOfCommonStock_lbl_31" xml:lang="en-US">[Payments for Repurchase of 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_ProceedsFromBankDebt" xlink:label="us-gaap_ProceedsFromBankDebt" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromBankDebt" xlink:to="us-gaap_ProceedsFromBankDebt_lbl_2ad27a" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromBankDebt_lbl_2ad27a" xml:lang="en-US">Proceeds from bank borrowings</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RepaymentsOfBankDebt" xlink:to="us-gaap_RepaymentsOfBankDebt_lbl_954b1c" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_RepaymentsOfBankDebt_lbl_954b1c" xml:lang="en-US">Repayment to bank borrowings</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RepaymentsOfBankDebt" xlink:label="us-gaap_RepaymentsOfBankDebt" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RepaymentsOfBankDebt" xlink:to="us-gaap_RepaymentsOfBankDebt_lbl_33" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RepaymentsOfBankDebt_lbl_33" xml:lang="en-US">[Repayments of Bank Debt]</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl_7151c9" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl_7151c9" xml:lang="en-US">Net cash 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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl_209ac5" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl_209ac5" 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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl_52114f" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl_52114f" xml:lang="en-US">Net change in cash, cash equivalents and restricted cash</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl_68221a" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl_68221a" xml:lang="en-US">BEGINNING OF YEAR</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl_37" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl_37" xml:lang="en-US">[Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl_37f10b" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl_37f10b" xml:lang="en-US">END OF YEAR</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_RepresentedByAbstract" xlink:label="clwt_RepresentedByAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_RepresentedByAbstract" xlink:to="clwt_RepresentedByAbstract_lbl_d076c9" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_RepresentedByAbstract_lbl_d076c9" xml:lang="en-US">Represented by:</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_EffectOfExchangeRateOnCashCashEquivalents" xlink:to="clwt_EffectOfExchangeRateOnCashCashEquivalents_lbl_d99047" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="clwt_EffectOfExchangeRateOnCashCashEquivalents_lbl_d99047" xml:lang="en-US">Cash and cash equivalents</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_EffectOfExchangeRateOnCashCashEquivalents" xlink:label="clwt_EffectOfExchangeRateOnCashCashEquivalents" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_EffectOfExchangeRateOnCashCashEquivalents" xlink:to="clwt_EffectOfExchangeRateOnCashCashEquivalents_lbl_40" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_EffectOfExchangeRateOnCashCashEquivalents_lbl_40" xml:lang="en-US">[Cash and cash equivalents]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_EffectOfExchangeRateOnRestrictedCash" xlink:to="clwt_EffectOfExchangeRateOnRestrictedCash_lbl_2baebf" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="clwt_EffectOfExchangeRateOnRestrictedCash_lbl_2baebf" xml:lang="en-US">Restricted cash</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_EffectOfExchangeRateOnRestrictedCash" xlink:label="clwt_EffectOfExchangeRateOnRestrictedCash" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_EffectOfExchangeRateOnRestrictedCash" xlink:to="clwt_EffectOfExchangeRateOnRestrictedCash_lbl_41" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_EffectOfExchangeRateOnRestrictedCash_lbl_41" xml:lang="en-US">[Restricted cash]</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCash" xlink:label="clwt_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCash" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCash" xlink:to="clwt_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCash_lbl_e63957" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCash_lbl_e63957" xml:lang="en-US">Cash and cash equivalents restricted cash</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract" xlink:to="us-gaap_SupplementalCashFlowInformationAbstract_lbl_ebe1cf" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract_lbl_ebe1cf" xml:lang="en-US">SUPPLEMENTAL DISCLOSURE 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_IncomeTaxesPaidNet" xlink:label="us-gaap_IncomeTaxesPaidNet" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxesPaidNet" xlink:to="us-gaap_IncomeTaxesPaidNet_lbl_0cbf3d" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxesPaidNet_lbl_0cbf3d" 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_InterestPaidNet" xlink:label="us-gaap_InterestPaidNet" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestPaidNet" xlink:to="us-gaap_InterestPaidNet_lbl_4ccee0" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestPaidNet_lbl_4ccee0" 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_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AmortizationOfIntangibleAssets" xlink:to="us-gaap_AmortizationOfIntangibleAssets_lbl_40a0d5" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AmortizationOfIntangibleAssets_lbl_40a0d5" xml:lang="en-US">Amortization of intangible assets</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_AmortizationOfLandUseRight" xlink:label="clwt_AmortizationOfLandUseRight" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_AmortizationOfLandUseRight" xlink:to="clwt_AmortizationOfLandUseRight_lbl_2f630f" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_AmortizationOfLandUseRight_lbl_2f630f" xml:lang="en-US">Amortization of land use right</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:label="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:to="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense_lbl_86c8cf" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense_lbl_86c8cf" xml:lang="en-US">Amortization of right-of-use Assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CapitalizedContractCostImpairmentLoss" xlink:label="us-gaap_CapitalizedContractCostImpairmentLoss" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CapitalizedContractCostImpairmentLoss" xlink:to="us-gaap_CapitalizedContractCostImpairmentLoss_lbl_abaa1c" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CapitalizedContractCostImpairmentLoss_lbl_abaa1c" xml:lang="en-US">Impairment loss on contract assets</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ImpairmentLossOnShortTermInvestments" xlink:label="clwt_ImpairmentLossOnShortTermInvestments" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_ImpairmentLossOnShortTermInvestments" xlink:to="clwt_ImpairmentLossOnShortTermInvestments_lbl_57a03e" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_ImpairmentLossOnShortTermInvestments_lbl_57a03e" xml:lang="en-US">Impairment loss on short-term investments</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainOnSaleOfInvestments" xlink:label="us-gaap_GainOnSaleOfInvestments" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainOnSaleOfInvestments" xlink:to="us-gaap_GainOnSaleOfInvestments_lbl_db1af5" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GainOnSaleOfInvestments_lbl_db1af5" xml:lang="en-US">Fair value gain on short term investment</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ProceedsFromDeferredGovernmentGrant" xlink:label="clwt_ProceedsFromDeferredGovernmentGrant" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_ProceedsFromDeferredGovernmentGrant" xlink:to="clwt_ProceedsFromDeferredGovernmentGrant_lbl_410031" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_ProceedsFromDeferredGovernmentGrant_lbl_410031" xml:lang="en-US">Proceeds from deferred government grant</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_PropertyPlantAndEquipmentWrittenOff" xlink:label="clwt_PropertyPlantAndEquipmentWrittenOff" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_PropertyPlantAndEquipmentWrittenOff" xlink:to="clwt_PropertyPlantAndEquipmentWrittenOff_lbl_cc38d9" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_PropertyPlantAndEquipmentWrittenOff_lbl_cc38d9" xml:lang="en-US">Property, plant and equipment written off</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ReversalOfAllowanceForDoubtfulAccounts" xlink:label="clwt_ReversalOfAllowanceForDoubtfulAccounts" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_ReversalOfAllowanceForDoubtfulAccounts" xlink:to="clwt_ReversalOfAllowanceForDoubtfulAccounts_lbl_480e02" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_ReversalOfAllowanceForDoubtfulAccounts_lbl_480e02" xml:lang="en-US">Reversal of allowance for doubtful accounts</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_IncreaseDecreaseInDeferredGovernmentGrant" xlink:to="clwt_IncreaseDecreaseInDeferredGovernmentGrant_lbl_9e0479" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="clwt_IncreaseDecreaseInDeferredGovernmentGrant_lbl_9e0479" xml:lang="en-US">Deferred government grant</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_IncreaseDecreaseInDeferredGovernmentGrant" xlink:label="clwt_IncreaseDecreaseInDeferredGovernmentGrant" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_IncreaseDecreaseInDeferredGovernmentGrant" xlink:to="clwt_IncreaseDecreaseInDeferredGovernmentGrant_lbl_55" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_IncreaseDecreaseInDeferredGovernmentGrant_lbl_55" xml:lang="en-US">[Deferred government grant]</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_IncreaseDecreaseInOperatingLeaseRightOfUseAssets" xlink:label="clwt_IncreaseDecreaseInOperatingLeaseRightOfUseAssets" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_IncreaseDecreaseInOperatingLeaseRightOfUseAssets" xlink:to="clwt_IncreaseDecreaseInOperatingLeaseRightOfUseAssets_lbl_c62f30" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_IncreaseDecreaseInOperatingLeaseRightOfUseAssets_lbl_c62f30" xml:lang="en-US">Operating lease right-of-use Assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:label="us-gaap_IncreaseDecreaseInOperatingLeaseLiability" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:to="us-gaap_IncreaseDecreaseInOperatingLeaseLiability_lbl_54200e" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOperatingLeaseLiability_lbl_54200e" xml:lang="en-US">Operating lease liabilities, non-current</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_IncreaseDecreaseInShortTermInvestments" xlink:to="clwt_IncreaseDecreaseInShortTermInvestments_lbl_a11d29" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="clwt_IncreaseDecreaseInShortTermInvestments_lbl_a11d29" xml:lang="en-US">Short-term investments</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_IncreaseDecreaseInShortTermInvestments" xlink:label="clwt_IncreaseDecreaseInShortTermInvestments" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_IncreaseDecreaseInShortTermInvestments" xlink:to="clwt_IncreaseDecreaseInShortTermInvestments_lbl_58" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_IncreaseDecreaseInShortTermInvestments_lbl_58" xml:lang="en-US">[Short-term investments]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInPropertyAndOtherTaxesPayable" xlink:to="us-gaap_IncreaseDecreaseInPropertyAndOtherTaxesPayable_lbl_81c642" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncreaseDecreaseInPropertyAndOtherTaxesPayable_lbl_81c642" xml:lang="en-US">Other taxes payable</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInPropertyAndOtherTaxesPayable" xlink:label="us-gaap_IncreaseDecreaseInPropertyAndOtherTaxesPayable" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInPropertyAndOtherTaxesPayable" xlink:to="us-gaap_IncreaseDecreaseInPropertyAndOtherTaxesPayable_lbl_59" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInPropertyAndOtherTaxesPayable_lbl_59" xml:lang="en-US">[Increase (Decrease) in Property and Other Taxes Payable]</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_IncreaseDecreaseInOperatingLeaseLiabilitiesCurrent" xlink:label="clwt_IncreaseDecreaseInOperatingLeaseLiabilitiesCurrent" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_IncreaseDecreaseInOperatingLeaseLiabilitiesCurrent" xlink:to="clwt_IncreaseDecreaseInOperatingLeaseLiabilitiesCurrent_lbl_4f1057" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_IncreaseDecreaseInOperatingLeaseLiabilitiesCurrent_lbl_4f1057" xml:lang="en-US">Operating lease liabilities, current</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CapitalInjectionProceedFromInvestment" xlink:label="clwt_CapitalInjectionProceedFromInvestment" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_CapitalInjectionProceedFromInvestment" xlink:to="clwt_CapitalInjectionProceedFromInvestment_lbl_1fa9fe" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_CapitalInjectionProceedFromInvestment_lbl_1fa9fe" xml:lang="en-US">(Capital injection)/proceed from investment</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:to="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_lbl_c5e635" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment_lbl_c5e635" xml:lang="en-US">Proceeds from sale of property, plant and equipment</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireIntangibleAssets" xlink:to="us-gaap_PaymentsToAcquireIntangibleAssets_lbl_cb80bc" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsToAcquireIntangibleAssets_lbl_cb80bc" xml:lang="en-US">Purchase of 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_PaymentsToAcquireIntangibleAssets" xlink:label="us-gaap_PaymentsToAcquireIntangibleAssets" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireIntangibleAssets" xlink:to="us-gaap_PaymentsToAcquireIntangibleAssets_lbl_63" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToAcquireIntangibleAssets_lbl_63" xml:lang="en-US">[Payments to Acquire Intangible Assets]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireShortTermInvestments" xlink:to="us-gaap_PaymentsToAcquireShortTermInvestments_lbl_1edb91" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsToAcquireShortTermInvestments_lbl_1edb91" xml:lang="en-US">Purchase of short-term investments</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireShortTermInvestments" xlink:label="us-gaap_PaymentsToAcquireShortTermInvestments" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireShortTermInvestments" xlink:to="us-gaap_PaymentsToAcquireShortTermInvestments_lbl_64" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToAcquireShortTermInvestments_lbl_64" xml:lang="en-US">[Payments to Acquire Short-Term Investments]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DividendsAndInterestPaid" xlink:to="us-gaap_DividendsAndInterestPaid_lbl_0ef1c1" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DividendsAndInterestPaid_lbl_0ef1c1" xml:lang="en-US">Dividend paid to shareholders and interest paid</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DividendsAndInterestPaid" xlink:label="us-gaap_DividendsAndInterestPaid" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DividendsAndInterestPaid" xlink:to="us-gaap_DividendsAndInterestPaid_lbl_65" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DividendsAndInterestPaid_lbl_65" xml:lang="en-US">[Dividends and Interest Paid]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect_lbl_48fd8e" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect_lbl_48fd8e" xml:lang="en-US">Net increase in cash and cash equivalents</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_NonCashFinanceLeases" xlink:label="clwt_NonCashFinanceLeases" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_NonCashFinanceLeases" xlink:to="clwt_NonCashFinanceLeases_lbl_db426b" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_NonCashFinanceLeases_lbl_db426b" xml:lang="en-US">Finance leases (disclosed in accompanying Note 3)</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StatementOfStockholdersEquityAbstract_lbl_a24ae6" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract_lbl_a24ae6" xml:lang="en-US">CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS' 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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_StatementEquityComponentsAxis_lbl_2b40c8" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementEquityComponentsAxis_lbl_2b40c8" 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_CommonStockMember" xlink:label="us-gaap_CommonStockMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockMember" xlink:to="us-gaap_CommonStockMember_lbl_79f6ff" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockMember_lbl_79f6ff" xml:lang="en-US">Ordinary Share</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapitalMember" xlink:to="us-gaap_AdditionalPaidInCapitalMember_lbl_12ee24" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdditionalPaidInCapitalMember_lbl_12ee24" xml:lang="en-US">Additional Paid-In Capital</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl_cbe1f8" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl_cbe1f8" 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_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl_24" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl_24" xml:lang="en-US">AOCI Attributable to Parent [Member]</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_PRCStatutoryReserveMember" xlink:label="clwt_PRCStatutoryReserveMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_PRCStatutoryReserveMember" xlink:to="clwt_PRCStatutoryReserveMember_lbl_5474a7" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_PRCStatutoryReserveMember_lbl_5474a7" xml:lang="en-US">PRC Statutory Reserves</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsMember" xlink:to="us-gaap_RetainedEarningsMember_lbl_4aa4e8" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RetainedEarningsMember_lbl_4aa4e8" 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_NoncontrollingInterestMember" xlink:label="us-gaap_NoncontrollingInterestMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncontrollingInterestMember" xlink:to="us-gaap_NoncontrollingInterestMember_lbl_1205e1" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NoncontrollingInterestMember_lbl_1205e1" 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_TreasuryStockCommonMember" xlink:label="us-gaap_TreasuryStockCommonMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockCommonMember" xlink:to="us-gaap_TreasuryStockCommonMember_lbl_494ab8" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockCommonMember_lbl_494ab8" xml:lang="en-US">Treasury Stock</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_SubsidiaryMember" xlink:to="clwt_SubsidiaryMember_lbl_91913b" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="clwt_SubsidiaryMember_lbl_91913b" xml:lang="en-US">ZHEJIANG TIANLAN</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_SubsidiaryMember" xlink:label="clwt_SubsidiaryMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_SubsidiaryMember" xlink:to="clwt_SubsidiaryMember_lbl_29" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_SubsidiaryMember_lbl_29" xml:lang="en-US">[ZHEJIANG TIANLAN]</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ZhejiangTianlanShareCapitalMember" xlink:label="clwt_ZhejiangTianlanShareCapitalMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_ZhejiangTianlanShareCapitalMember" xlink:to="clwt_ZhejiangTianlanShareCapitalMember_lbl_464367" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_ZhejiangTianlanShareCapitalMember_lbl_464367" xml:lang="en-US">Zhejiang Tianlan Share Capital</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ZhejiangTianlanCapitalReserveMember" xlink:label="clwt_ZhejiangTianlanCapitalReserveMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_ZhejiangTianlanCapitalReserveMember" xlink:to="clwt_ZhejiangTianlanCapitalReserveMember_lbl_bde527" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_ZhejiangTianlanCapitalReserveMember_lbl_bde527" xml:lang="en-US">Zhejiang Tianlan Capital Reserve</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ZhejiangTianlanPrcStatutoryReserveMember" xlink:label="clwt_ZhejiangTianlanPrcStatutoryReserveMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_ZhejiangTianlanPrcStatutoryReserveMember" xlink:to="clwt_ZhejiangTianlanPrcStatutoryReserveMember_lbl_dc21d9" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_ZhejiangTianlanPrcStatutoryReserveMember_lbl_dc21d9" xml:lang="en-US">Zhejiang Tianlan PRC Statutory Reserve</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ZhejiangTianlanRetainedEarningsMember" xlink:label="clwt_ZhejiangTianlanRetainedEarningsMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_ZhejiangTianlanRetainedEarningsMember" xlink:to="clwt_ZhejiangTianlanRetainedEarningsMember_lbl_1f8fcc" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_ZhejiangTianlanRetainedEarningsMember_lbl_1f8fcc" xml:lang="en-US">Zhejiang Tianlan Retained Earnings</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ZhejiangTianlanNonControllingInterestsMember" xlink:label="clwt_ZhejiangTianlanNonControllingInterestsMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_ZhejiangTianlanNonControllingInterestsMember" xlink:to="clwt_ZhejiangTianlanNonControllingInterestsMember_lbl_4f9c8d" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_ZhejiangTianlanNonControllingInterestsMember_lbl_4f9c8d" xml:lang="en-US">Zhejiang Tianlan Non Controlling Interests</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_lbl_56ad86" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_lbl_56ad86" xml:lang="en-US">Balance, amount</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharesIssued" xlink:to="us-gaap_SharesIssued_lbl_a39445" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_SharesIssued_lbl_a39445" xml:lang="en-US">Balance, shares</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharesIssued" xlink:label="us-gaap_SharesIssued" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharesIssued" xlink:to="us-gaap_SharesIssued_lbl_3" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharesIssued_lbl_3" xml:lang="en-US">[Shares, Issued]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_ForeignCurrencyTranslationAdjustment" xlink:to="clwt_ForeignCurrencyTranslationAdjustment_lbl_4a4a3d" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="clwt_ForeignCurrencyTranslationAdjustment_lbl_4a4a3d" xml:lang="en-US">Foreign currency translation adjustment</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ForeignCurrencyTranslationAdjustment" xlink:label="clwt_ForeignCurrencyTranslationAdjustment" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_ForeignCurrencyTranslationAdjustment" xlink:to="clwt_ForeignCurrencyTranslationAdjustment_lbl_4" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_ForeignCurrencyTranslationAdjustment_lbl_4" xml:lang="en-US">[Foreign currency translation adjustment]</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_AppropriationOfReserves" xlink:label="clwt_AppropriationOfReserves" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_AppropriationOfReserves" xlink:to="clwt_AppropriationOfReserves_lbl_0d0a36" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_AppropriationOfReserves_lbl_0d0a36" xml:lang="en-US">Appropriation of reserves</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_DividendPaidAmount" xlink:to="clwt_DividendPaidAmount_lbl_0c3bd7" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="clwt_DividendPaidAmount_lbl_0c3bd7" xml:lang="en-US">Dividend paid</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_DividendPaidAmount" xlink:label="clwt_DividendPaidAmount" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_DividendPaidAmount" xlink:to="clwt_DividendPaidAmount_lbl_6" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_DividendPaidAmount_lbl_6" xml:lang="en-US">[Dividend paid]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_StockBasedCompensationExpenseAmount" xlink:to="clwt_StockBasedCompensationExpenseAmount_lbl_50abb7" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="clwt_StockBasedCompensationExpenseAmount_lbl_50abb7" xml:lang="en-US">Stock-based compensation expense</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_StockBasedCompensationExpenseAmount" xlink:label="clwt_StockBasedCompensationExpenseAmount" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_StockBasedCompensationExpenseAmount" xlink:to="clwt_StockBasedCompensationExpenseAmount_lbl_7" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_StockBasedCompensationExpenseAmount_lbl_7" xml:lang="en-US">[Stock-based compensation expense]</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_AppropriationToStatutoryReserve" xlink:label="clwt_AppropriationToStatutoryReserve" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_AppropriationToStatutoryReserve" xlink:to="clwt_AppropriationToStatutoryReserve_lbl_5cc1e1" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_AppropriationToStatutoryReserve_lbl_5cc1e1" xml:lang="en-US">Appropriation to statutory reserve</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss_lbl_70cd0d" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_NetIncomeLoss_lbl_70cd0d" xml:lang="en-US">Net income for the year</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_PurchaseSharesOfTreasuryStock" xlink:label="clwt_PurchaseSharesOfTreasuryStock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_PurchaseSharesOfTreasuryStock" xlink:to="clwt_PurchaseSharesOfTreasuryStock_lbl_0a61db" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_PurchaseSharesOfTreasuryStock_lbl_0a61db" xml:lang="en-US">Purchase 10,700 shares of treasury stock</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_DividendPaid" xlink:to="clwt_DividendPaid_lbl_41e11f" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="clwt_DividendPaid_lbl_41e11f" xml:lang="en-US">Dividend paid</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_DividendPaid" xlink:label="clwt_DividendPaid" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_DividendPaid" xlink:to="clwt_DividendPaid_lbl_11" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_DividendPaid_lbl_11" xml:lang="en-US">[Dividend paid 1]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:to="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_lbl_7143d2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_lbl_7143d2" xml:lang="en-US">Balance, amount</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharesIssued" xlink:to="us-gaap_SharesIssued_lbl_ddb0d0" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_SharesIssued_lbl_ddb0d0" xml:lang="en-US">Balance, shares</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_InsiderTradingArrLineItems" xlink:label="ecd_InsiderTradingArrLineItems" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_InsiderTradingArrLineItems" xlink:to="ecd_InsiderTradingArrLineItems_lbl_c59627" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_InsiderTradingArrLineItems_lbl_c59627" xml:lang="en-US">Insider Trading Arragement [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_Rule10b51ArrAdoptedFlag" xlink:label="ecd_Rule10b51ArrAdoptedFlag" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_Rule10b51ArrAdoptedFlag" xlink:to="ecd_Rule10b51ArrAdoptedFlag_lbl_d38d4d" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_Rule10b51ArrAdoptedFlag_lbl_d38d4d" xml:lang="en-US">Rule 10b5-1 Arragement Adopted [Flag]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_Rule10b51ArrTrmntdFlag" xlink:label="ecd_Rule10b51ArrTrmntdFlag" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_Rule10b51ArrTrmntdFlag" xlink:to="ecd_Rule10b51ArrTrmntdFlag_lbl_060aec" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_Rule10b51ArrTrmntdFlag_lbl_060aec" xml:lang="en-US">Rule 10b5-1 Arragement Treatment [Flag]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_NonRule10b51ArrAdoptedFlag" xlink:label="ecd_NonRule10b51ArrAdoptedFlag" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_NonRule10b51ArrAdoptedFlag" xlink:to="ecd_NonRule10b51ArrAdoptedFlag_lbl_2038a2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_NonRule10b51ArrAdoptedFlag_lbl_2038a2" xml:lang="en-US">Non Rule 10b5-1 Arragement Adopted [Flag]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_NonRule10b51ArrTrmntdFlag" xlink:label="ecd_NonRule10b51ArrTrmntdFlag" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ecd_NonRule10b51ArrTrmntdFlag" xlink:to="ecd_NonRule10b51ArrTrmntdFlag_lbl_767db8" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="ecd_NonRule10b51ArrTrmntdFlag_lbl_767db8" xml:lang="en-US">Non Rule 10b5-1 Arragement Treatment [Flag]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_lbl_7d61ac" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_lbl_7d61ac" xml:lang="en-US">Organization and Business Background</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_SubsidiariesMember" xlink:to="srt_SubsidiariesMember_lbl_16dfd0" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="srt_SubsidiariesMember_lbl_16dfd0" xml:lang="en-US">ZHEJIANG TIANLAN</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" xlink:to="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock_lbl_404f8d" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock_lbl_404f8d" xml:lang="en-US">Organization and Business Background</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" xlink:to="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock_lbl_2" xml:lang="en-US">Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block]</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_AccountingPoliciesAbstract_lbl_e3753e" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountingPoliciesAbstract_lbl_e3753e" xml:lang="en-US">Summary of significant accounting policies</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SignificantAccountingPoliciesTextBlock" xlink:to="us-gaap_SignificantAccountingPoliciesTextBlock_lbl_130ed9" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock_lbl_130ed9" xml:lang="en-US">Summary of significant accounting policies</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SignificantAccountingPoliciesTextBlock" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SignificantAccountingPoliciesTextBlock" xlink:to="us-gaap_SignificantAccountingPoliciesTextBlock_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock_lbl_2" xml:lang="en-US">Significant Accounting Policies [Text Block]</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingAbstract" xlink:to="us-gaap_SegmentReportingAbstract_lbl_c04fa0" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentReportingAbstract_lbl_c04fa0" xml:lang="en-US">Segment information</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingDisclosureTextBlock" xlink:to="us-gaap_SegmentReportingDisclosureTextBlock_lbl_f29a4c" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock_lbl_f29a4c" xml:lang="en-US">Segment information</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingDisclosureTextBlock" xlink:to="us-gaap_SegmentReportingDisclosureTextBlock_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock_lbl_2" xml:lang="en-US">Segment Reporting Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetAbstract" xlink:label="us-gaap_AccountsReceivableNetAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNetAbstract" xlink:to="us-gaap_AccountsReceivableNetAbstract_lbl_568ee8" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableNetAbstract_lbl_568ee8" xml:lang="en-US">Accounts receivable net</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" xlink:to="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock_lbl_bb7a4f" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock_lbl_bb7a4f" xml:lang="en-US">Accounts receivable, net</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" xlink:label="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" xlink:to="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock_lbl_2" xml:lang="en-US">Loans, Notes, Trade and Other Receivables Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrentAbstract" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrentAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrepaidExpenseAndOtherAssetsCurrentAbstract" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrentAbstract_lbl_e3e4a3" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrentAbstract_lbl_e3e4a3" xml:lang="en-US">Prepayments and other current assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock" xlink:to="us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock_lbl_a6137b" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock_lbl_a6137b" xml:lang="en-US">Prepayments 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_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock" xlink:label="us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock" xlink:to="us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock_lbl_2" xml:lang="en-US">Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityAbstract" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerAssetAndLiabilityAbstract" xlink:to="us-gaap_ContractWithCustomerAssetAndLiabilityAbstract_lbl_23f22c" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityAbstract_lbl_23f22c" xml:lang="en-US">Contract assets and liabilities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_ContractWithCustomerAssetAndLiabilityDisclosureTextBlock" xlink:to="clwt_ContractWithCustomerAssetAndLiabilityDisclosureTextBlock_lbl_b42dfb" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="clwt_ContractWithCustomerAssetAndLiabilityDisclosureTextBlock_lbl_b42dfb" xml:lang="en-US">Contract assets and liabilities</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ContractWithCustomerAssetAndLiabilityDisclosureTextBlock" xlink:label="clwt_ContractWithCustomerAssetAndLiabilityDisclosureTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_ContractWithCustomerAssetAndLiabilityDisclosureTextBlock" xlink:to="clwt_ContractWithCustomerAssetAndLiabilityDisclosureTextBlock_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_ContractWithCustomerAssetAndLiabilityDisclosureTextBlock_lbl_2" xml:lang="en-US">[Contract 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_InventoryDisclosureAbstract" xlink:label="us-gaap_InventoryDisclosureAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryDisclosureAbstract" xlink:to="us-gaap_InventoryDisclosureAbstract_lbl_28f9bb" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryDisclosureAbstract_lbl_28f9bb" xml:lang="en-US">Inventories</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryDisclosureTextBlock" xlink:to="us-gaap_InventoryDisclosureTextBlock_lbl_a5c841" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_InventoryDisclosureTextBlock_lbl_a5c841" xml:lang="en-US">Inventories</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryDisclosureTextBlock" xlink:label="us-gaap_InventoryDisclosureTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryDisclosureTextBlock" xlink:to="us-gaap_InventoryDisclosureTextBlock_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryDisclosureTextBlock_lbl_2" xml:lang="en-US">Inventory Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ShortTermAndLongTermInvestmentsDisclosureAbstract" xlink:label="clwt_ShortTermAndLongTermInvestmentsDisclosureAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_ShortTermAndLongTermInvestmentsDisclosureAbstract" xlink:to="clwt_ShortTermAndLongTermInvestmentsDisclosureAbstract_lbl_dbe60a" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_ShortTermAndLongTermInvestmentsDisclosureAbstract_lbl_dbe60a" xml:lang="en-US">Short-term and long-term investments</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_CashCashEquivalentsAndShortTermAndLongTermInvestmentsTextBlock" xlink:to="clwt_CashCashEquivalentsAndShortTermAndLongTermInvestmentsTextBlock_lbl_a7aec2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="clwt_CashCashEquivalentsAndShortTermAndLongTermInvestmentsTextBlock_lbl_a7aec2" xml:lang="en-US">Short-term and long-term investments</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CashCashEquivalentsAndShortTermAndLongTermInvestmentsTextBlock" xlink:label="clwt_CashCashEquivalentsAndShortTermAndLongTermInvestmentsTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_CashCashEquivalentsAndShortTermAndLongTermInvestmentsTextBlock" xlink:to="clwt_CashCashEquivalentsAndShortTermAndLongTermInvestmentsTextBlock_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_CashCashEquivalentsAndShortTermAndLongTermInvestmentsTextBlock_lbl_2" xml:lang="en-US">[Short-term and long-term investments]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentAbstract_lbl_2cbc6d" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract_lbl_2cbc6d" xml:lang="en-US">Property plant 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_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_lbl_decc74" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock_lbl_decc74" xml:lang="en-US">Property, plant and equipment</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:to="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_lbl_9f83c9" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_lbl_9f83c9" xml:lang="en-US">Intangible assets, net</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:to="us-gaap_IntangibleAssetsDisclosureTextBlock_lbl_665e30" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IntangibleAssetsDisclosureTextBlock_lbl_665e30" xml:lang="en-US">Intangible assets, net</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:label="us-gaap_IntangibleAssetsDisclosureTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:to="us-gaap_IntangibleAssetsDisclosureTextBlock_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IntangibleAssetsDisclosureTextBlock_lbl_2" xml:lang="en-US">Intangible Assets Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_LandUseRightNetDisclosureAbstract" xlink:label="clwt_LandUseRightNetDisclosureAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_LandUseRightNetDisclosureAbstract" xlink:to="clwt_LandUseRightNetDisclosureAbstract_lbl_1f6f99" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_LandUseRightNetDisclosureAbstract_lbl_1f6f99" xml:lang="en-US">Land use right, net</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_LandUseRightNetDisclosureTextBlock" xlink:to="clwt_LandUseRightNetDisclosureTextBlock_lbl_195a53" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="clwt_LandUseRightNetDisclosureTextBlock_lbl_195a53" xml:lang="en-US">Land use right, net</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_LandUseRightNetDisclosureTextBlock" xlink:label="clwt_LandUseRightNetDisclosureTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_LandUseRightNetDisclosureTextBlock" xlink:to="clwt_LandUseRightNetDisclosureTextBlock_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_LandUseRightNetDisclosureTextBlock_lbl_2" xml:lang="en-US">[Land use right, net 1]</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_BankBorrowingsDisclosureAbstract" xlink:label="clwt_BankBorrowingsDisclosureAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_BankBorrowingsDisclosureAbstract" xlink:to="clwt_BankBorrowingsDisclosureAbstract_lbl_592689" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_BankBorrowingsDisclosureAbstract_lbl_592689" xml:lang="en-US">Bank borrowings</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_BankBorrowingsDisclosureTextBlock" xlink:to="clwt_BankBorrowingsDisclosureTextBlock_lbl_6ad13d" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="clwt_BankBorrowingsDisclosureTextBlock_lbl_6ad13d" xml:lang="en-US">Bank borrowings</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_BankBorrowingsDisclosureTextBlock" xlink:label="clwt_BankBorrowingsDisclosureTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_BankBorrowingsDisclosureTextBlock" xlink:to="clwt_BankBorrowingsDisclosureTextBlock_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_BankBorrowingsDisclosureTextBlock_lbl_2" xml:lang="en-US">[Bank borrowings]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVenturesAbstract" xlink:label="us-gaap_InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVenturesAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVenturesAbstract" xlink:to="us-gaap_InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVenturesAbstract_lbl_3e684d" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVenturesAbstract_lbl_3e684d" xml:lang="en-US">Investments in affiliates</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InvestmentsInAndAdvancesToAffiliatesTextBlock" xlink:to="us-gaap_InvestmentsInAndAdvancesToAffiliatesTextBlock_lbl_236593" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_InvestmentsInAndAdvancesToAffiliatesTextBlock_lbl_236593" xml:lang="en-US">Investments in affiliates</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentsInAndAdvancesToAffiliatesTextBlock" xlink:label="us-gaap_InvestmentsInAndAdvancesToAffiliatesTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InvestmentsInAndAdvancesToAffiliatesTextBlock" xlink:to="us-gaap_InvestmentsInAndAdvancesToAffiliatesTextBlock_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InvestmentsInAndAdvancesToAffiliatesTextBlock_lbl_2" xml:lang="en-US">Investments in and Advances to Affiliates [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillDisclosureTextBlock" xlink:to="us-gaap_GoodwillDisclosureTextBlock_lbl_e686d2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_GoodwillDisclosureTextBlock_lbl_e686d2" 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_GoodwillDisclosureTextBlock" xlink:label="us-gaap_GoodwillDisclosureTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillDisclosureTextBlock" xlink:to="us-gaap_GoodwillDisclosureTextBlock_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GoodwillDisclosureTextBlock_lbl_2" xml:lang="en-US">Goodwill Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PayablesAndAccrualsAbstract" xlink:label="us-gaap_PayablesAndAccrualsAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PayablesAndAccrualsAbstract" xlink:to="us-gaap_PayablesAndAccrualsAbstract_lbl_1856ac" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PayablesAndAccrualsAbstract_lbl_1856ac" xml:lang="en-US">Other payables and accrued expenses</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_lbl_0343e1" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_lbl_0343e1" xml:lang="en-US">Other payables 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_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_lbl_2" xml:lang="en-US">Accounts Payable and Accrued Liabilities Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OtherTaxesPayableDisclosureAbstract" xlink:label="clwt_OtherTaxesPayableDisclosureAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_OtherTaxesPayableDisclosureAbstract" xlink:to="clwt_OtherTaxesPayableDisclosureAbstract_lbl_532f5b" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_OtherTaxesPayableDisclosureAbstract_lbl_532f5b" xml:lang="en-US">Other taxes payable</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_OtherTaxesPayableDisclosureTextBlock" xlink:to="clwt_OtherTaxesPayableDisclosureTextBlock_lbl_1118b3" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="clwt_OtherTaxesPayableDisclosureTextBlock_lbl_1118b3" xml:lang="en-US">Other taxes payable</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OtherTaxesPayableDisclosureTextBlock" xlink:label="clwt_OtherTaxesPayableDisclosureTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_OtherTaxesPayableDisclosureTextBlock" xlink:to="clwt_OtherTaxesPayableDisclosureTextBlock_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_OtherTaxesPayableDisclosureTextBlock_lbl_2" xml:lang="en-US">[Other taxes payable 1]</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CapitalReserveDisclosureAbstract" xlink:label="clwt_CapitalReserveDisclosureAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_CapitalReserveDisclosureAbstract" xlink:to="clwt_CapitalReserveDisclosureAbstract_lbl_550015" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_CapitalReserveDisclosureAbstract_lbl_550015" xml:lang="en-US">Capital reserve</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_CapitalReserveDisclosureTextBlock" xlink:to="clwt_CapitalReserveDisclosureTextBlock_lbl_551950" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="clwt_CapitalReserveDisclosureTextBlock_lbl_551950" xml:lang="en-US">Capital reserve</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CapitalReserveDisclosureTextBlock" xlink:label="clwt_CapitalReserveDisclosureTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_CapitalReserveDisclosureTextBlock" xlink:to="clwt_CapitalReserveDisclosureTextBlock_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_CapitalReserveDisclosureTextBlock_lbl_2" xml:lang="en-US">[Capital reserve 1]</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OtherIncomeAndOtherLossesDisclosureAbstract" xlink:label="clwt_OtherIncomeAndOtherLossesDisclosureAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_OtherIncomeAndOtherLossesDisclosureAbstract" xlink:to="clwt_OtherIncomeAndOtherLossesDisclosureAbstract_lbl_ef7d2c" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_OtherIncomeAndOtherLossesDisclosureAbstract_lbl_ef7d2c" xml:lang="en-US">Other income and other losses</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_OtherIncomeAndOtherLossesDisclosureTextBlock" xlink:to="clwt_OtherIncomeAndOtherLossesDisclosureTextBlock_lbl_791480" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="clwt_OtherIncomeAndOtherLossesDisclosureTextBlock_lbl_791480" xml:lang="en-US">Other income and other losses</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OtherIncomeAndOtherLossesDisclosureTextBlock" xlink:label="clwt_OtherIncomeAndOtherLossesDisclosureTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_OtherIncomeAndOtherLossesDisclosureTextBlock" xlink:to="clwt_OtherIncomeAndOtherLossesDisclosureTextBlock_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_OtherIncomeAndOtherLossesDisclosureTextBlock_lbl_2" xml:lang="en-US">[Other income and other losses]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LeasesAbstract_lbl_1c122a" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LeasesAbstract_lbl_1c122a" xml:lang="en-US">Lease obligations</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeasesOfLesseeDisclosureTextBlock" xlink:to="us-gaap_LeasesOfLesseeDisclosureTextBlock_lbl_15129d" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LeasesOfLesseeDisclosureTextBlock_lbl_15129d" xml:lang="en-US">Lease obligations</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeasesOfLesseeDisclosureTextBlock" xlink:label="us-gaap_LeasesOfLesseeDisclosureTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeasesOfLesseeDisclosureTextBlock" xlink:to="us-gaap_LeasesOfLesseeDisclosureTextBlock_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LeasesOfLesseeDisclosureTextBlock_lbl_2" xml:lang="en-US">Leases of Lessee Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityAbstract" xlink:label="us-gaap_EquityAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityAbstract" xlink:to="us-gaap_EquityAbstract_lbl_d94f1b" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityAbstract_lbl_d94f1b" xml:lang="en-US">Ordinary share</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:to="us-gaap_StockholdersEquityNoteDisclosureTextBlock_lbl_eb74cf" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_StockholdersEquityNoteDisclosureTextBlock_lbl_eb74cf" xml:lang="en-US">Ordinary share</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:label="us-gaap_StockholdersEquityNoteDisclosureTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:to="us-gaap_StockholdersEquityNoteDisclosureTextBlock_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquityNoteDisclosureTextBlock_lbl_2" xml:lang="en-US">Equity [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_TreasuryStockAbstract" xlink:label="clwt_TreasuryStockAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_TreasuryStockAbstract" xlink:to="clwt_TreasuryStockAbstract_lbl_da8ea6" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_TreasuryStockAbstract_lbl_da8ea6" xml:lang="en-US">Treasury stock</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockTextBlock" xlink:to="us-gaap_TreasuryStockTextBlock_lbl_686c97" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_TreasuryStockTextBlock_lbl_686c97" 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_TreasuryStockTextBlock" xlink:label="us-gaap_TreasuryStockTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockTextBlock" xlink:to="us-gaap_TreasuryStockTextBlock_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TreasuryStockTextBlock_lbl_2" xml:lang="en-US">Treasury Stock [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_PrcStatutoryReservesAbstract" xlink:label="clwt_PrcStatutoryReservesAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_PrcStatutoryReservesAbstract" xlink:to="clwt_PrcStatutoryReservesAbstract_lbl_adcbc6" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_PrcStatutoryReservesAbstract_lbl_adcbc6" xml:lang="en-US">PRC statutory reserves</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_PrcStatutoryReservesTextBlock" xlink:to="clwt_PrcStatutoryReservesTextBlock_lbl_eab634" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="clwt_PrcStatutoryReservesTextBlock_lbl_eab634" xml:lang="en-US">PRC statutory reserves</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_PrcStatutoryReservesTextBlock" xlink:label="clwt_PrcStatutoryReservesTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_PrcStatutoryReservesTextBlock" xlink:to="clwt_PrcStatutoryReservesTextBlock_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_PrcStatutoryReservesTextBlock_lbl_2" xml:lang="en-US">[PRC statutory reserves]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherIncomeAbstract" xlink:label="us-gaap_OtherIncomeAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherIncomeAbstract" xlink:to="us-gaap_OtherIncomeAbstract_lbl_21d60b" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherIncomeAbstract_lbl_21d60b" xml:lang="en-US">Other income net</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_OtherIncomeNetTextBlock" xlink:to="clwt_OtherIncomeNetTextBlock_lbl_bd9e79" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="clwt_OtherIncomeNetTextBlock_lbl_bd9e79" xml:lang="en-US">Other income, net</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OtherIncomeNetTextBlock" xlink:label="clwt_OtherIncomeNetTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_OtherIncomeNetTextBlock" xlink:to="clwt_OtherIncomeNetTextBlock_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_OtherIncomeNetTextBlock_lbl_2" xml:lang="en-US">[Other 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_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxDisclosureAbstract_lbl_f779a0" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxDisclosureAbstract_lbl_f779a0" xml:lang="en-US">Income taxes</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureTextBlock" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock_lbl_5f2061" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock_lbl_5f2061" 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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureTextBlock" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock_lbl_2" xml:lang="en-US">Income Tax Disclosure [Text Block]</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareAbstract_lbl_6bbf48" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareAbstract_lbl_6bbf48" xml:lang="en-US">Net income per ordinary share</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareTextBlock" xlink:to="us-gaap_EarningsPerShareTextBlock_lbl_c585b8" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EarningsPerShareTextBlock_lbl_c585b8" xml:lang="en-US">Net income per ordinary share</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareTextBlock" xlink:to="us-gaap_EarningsPerShareTextBlock_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareTextBlock_lbl_2" xml:lang="en-US">Earnings Per Share [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationAbstract" xlink:label="us-gaap_ShareBasedCompensationAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationAbstract" xlink:to="us-gaap_ShareBasedCompensationAbstract_lbl_ff12e4" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationAbstract_lbl_ff12e4" xml:lang="en-US">Stock options</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_lbl_86a070" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_lbl_86a070" 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_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_lbl_2" xml:lang="en-US">Share-Based Payment Arrangement, Option, Activity [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PensionAndOtherPostretirementBenefitContributionsAbstract" xlink:label="us-gaap_PensionAndOtherPostretirementBenefitContributionsAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PensionAndOtherPostretirementBenefitContributionsAbstract" xlink:to="us-gaap_PensionAndOtherPostretirementBenefitContributionsAbstract_lbl_64b0c8" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PensionAndOtherPostretirementBenefitContributionsAbstract_lbl_64b0c8" xml:lang="en-US">Pension plan</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:to="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_lbl_57fb49" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_lbl_57fb49" xml:lang="en-US">Pension plan</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:label="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:to="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock_lbl_2" xml:lang="en-US">Retirement Benefits [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeInstrumentDetailAbstract" xlink:label="us-gaap_DerivativeInstrumentDetailAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeInstrumentDetailAbstract" xlink:to="us-gaap_DerivativeInstrumentDetailAbstract_lbl_678ca6" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeInstrumentDetailAbstract_lbl_678ca6" xml:lang="en-US">Risk factors</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock" xlink:to="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_lbl_20f1e3" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_lbl_20f1e3" xml:lang="en-US">Risk factors</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock" xlink:to="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_lbl_2" xml:lang="en-US">Derivative Instruments and Hedging Activities Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RisksAndUncertaintiesAbstract" xlink:label="us-gaap_RisksAndUncertaintiesAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RisksAndUncertaintiesAbstract" xlink:to="us-gaap_RisksAndUncertaintiesAbstract_lbl_e6bb2d" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RisksAndUncertaintiesAbstract_lbl_e6bb2d" xml:lang="en-US">Risk and uncertainty</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnusualRisksAndUncertaintiesTextBlock" xlink:to="us-gaap_UnusualRisksAndUncertaintiesTextBlock_lbl_20b488" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_UnusualRisksAndUncertaintiesTextBlock_lbl_20b488" xml:lang="en-US">Risk and uncertainty</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UnusualRisksAndUncertaintiesTextBlock" xlink:label="us-gaap_UnusualRisksAndUncertaintiesTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnusualRisksAndUncertaintiesTextBlock" xlink:to="us-gaap_UnusualRisksAndUncertaintiesTextBlock_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnusualRisksAndUncertaintiesTextBlock_lbl_2" xml:lang="en-US">Unusual Risks and Uncertainties [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionsAbstract" xlink:label="us-gaap_RelatedPartyTransactionsAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionsAbstract" xlink:to="us-gaap_RelatedPartyTransactionsAbstract_lbl_a48933" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionsAbstract_lbl_a48933" xml:lang="en-US">Related party transactions</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:to="us-gaap_RelatedPartyTransactionsDisclosureTextBlock_lbl_dd41a4" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_RelatedPartyTransactionsDisclosureTextBlock_lbl_dd41a4" xml:lang="en-US">Related party transactions</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:label="us-gaap_RelatedPartyTransactionsDisclosureTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:to="us-gaap_RelatedPartyTransactionsDisclosureTextBlock_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionsDisclosureTextBlock_lbl_2" xml:lang="en-US">Related Party Transactions Disclosure [Text Block]</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureAbstract_lbl_3de1d4" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract_lbl_3de1d4" xml:lang="en-US">Commitments and contingencies</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl_7e50ed" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl_7e50ed" 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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl_2" xml:lang="en-US">Commitments and Contingencies Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="us-gaap_SubsequentEventsAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventsAbstract" xlink:to="us-gaap_SubsequentEventsAbstract_lbl_bed6a2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventsAbstract_lbl_bed6a2" xml:lang="en-US">Subsequent events</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventsTextBlock" xlink:to="us-gaap_SubsequentEventsTextBlock_lbl_b963da" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_SubsequentEventsTextBlock_lbl_b963da" xml:lang="en-US">Subsequent events</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventsTextBlock" xlink:label="us-gaap_SubsequentEventsTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventsTextBlock" xlink:to="us-gaap_SubsequentEventsTextBlock_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventsTextBlock_lbl_2" xml:lang="en-US">Subsequent Events [Text Block]</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UseOfEstimates" xlink:to="us-gaap_UseOfEstimates_lbl_f97cfa" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UseOfEstimates_lbl_f97cfa" 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_ConsolidationPolicyTextBlock" xlink:label="us-gaap_ConsolidationPolicyTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConsolidationPolicyTextBlock" xlink:to="us-gaap_ConsolidationPolicyTextBlock_lbl_a810ad" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConsolidationPolicyTextBlock_lbl_a810ad" xml:lang="en-US">Basis 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_ConsolidationSubsidiariesOrOtherInvestmentsConsolidatedEntitiesPolicy" xlink:label="us-gaap_ConsolidationSubsidiariesOrOtherInvestmentsConsolidatedEntitiesPolicy" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConsolidationSubsidiariesOrOtherInvestmentsConsolidatedEntitiesPolicy" xlink:to="us-gaap_ConsolidationSubsidiariesOrOtherInvestmentsConsolidatedEntitiesPolicy_lbl_83cfdf" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConsolidationSubsidiariesOrOtherInvestmentsConsolidatedEntitiesPolicy_lbl_83cfdf" xml:lang="en-US">Subsidiaries</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestmentsPolicy" xlink:to="us-gaap_EquityMethodInvestmentsPolicy_lbl_48636e" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EquityMethodInvestmentsPolicy_lbl_48636e" xml:lang="en-US">Investments in affiliates</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestmentsPolicy" xlink:label="us-gaap_EquityMethodInvestmentsPolicy" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestmentsPolicy" xlink:to="us-gaap_EquityMethodInvestmentsPolicy_lbl_5" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityMethodInvestmentsPolicy_lbl_5" xml:lang="en-US">Equity Method Investments [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_NoncontrollingInterestsPolicyTextBlock" xlink:label="clwt_NoncontrollingInterestsPolicyTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_NoncontrollingInterestsPolicyTextBlock" xlink:to="clwt_NoncontrollingInterestsPolicyTextBlock_lbl_e124b0" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_NoncontrollingInterestsPolicyTextBlock_lbl_e124b0" xml:lang="en-US">Non-controlling interests</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:to="us-gaap_SegmentReportingPolicyPolicyTextBlock_lbl_367464" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_SegmentReportingPolicyPolicyTextBlock_lbl_367464" xml:lang="en-US">Segment information</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:label="us-gaap_SegmentReportingPolicyPolicyTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:to="us-gaap_SegmentReportingPolicyPolicyTextBlock_lbl_7" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentReportingPolicyPolicyTextBlock_lbl_7" xml:lang="en-US">Segment Reporting, Policy [Policy Text Block]</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRecognitionPolicyTextBlock" xlink:to="us-gaap_RevenueRecognitionPolicyTextBlock_lbl_ad8d87" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueRecognitionPolicyTextBlock_lbl_ad8d87" 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_ResearchAndDevelopmentExpensePolicy" xlink:label="us-gaap_ResearchAndDevelopmentExpensePolicy" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:to="us-gaap_ResearchAndDevelopmentExpensePolicy_lbl_15938b" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ResearchAndDevelopmentExpensePolicy_lbl_15938b" xml:lang="en-US">Research and development costs</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdvertisingCostsPolicyTextBlock" xlink:label="us-gaap_AdvertisingCostsPolicyTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdvertisingCostsPolicyTextBlock" xlink:to="us-gaap_AdvertisingCostsPolicyTextBlock_lbl_7da451" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdvertisingCostsPolicyTextBlock_lbl_7da451" xml:lang="en-US">Advertising and promotional expenses</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxPolicyTextBlock" xlink:to="us-gaap_IncomeTaxPolicyTextBlock_lbl_829b62" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncomeTaxPolicyTextBlock_lbl_829b62" 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_IncomeTaxPolicyTextBlock" xlink:label="us-gaap_IncomeTaxPolicyTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxPolicyTextBlock" xlink:to="us-gaap_IncomeTaxPolicyTextBlock_lbl_11" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxPolicyTextBlock_lbl_11" xml:lang="en-US">Income Tax, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:to="us-gaap_CashAndCashEquivalentsPolicyTextBlock_lbl_fda58b" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock_lbl_fda58b" 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_CashAndCashEquivalentsPolicyTextBlock" xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:to="us-gaap_CashAndCashEquivalentsPolicyTextBlock_lbl_12" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashAndCashEquivalentsPolicyTextBlock_lbl_12" xml:lang="en-US">Cash and Cash Equivalents, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy" xlink:to="us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy_lbl_f8bd26" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy_lbl_f8bd26" xml:lang="en-US">Restricted cash</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy" xlink:label="us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy" xlink:to="us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy_lbl_13" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy_lbl_13" xml:lang="en-US">Cash and Cash Equivalents, Restricted Cash and Cash Equivalents, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReceivablesPolicyTextBlock" xlink:label="us-gaap_ReceivablesPolicyTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ReceivablesPolicyTextBlock" xlink:to="us-gaap_ReceivablesPolicyTextBlock_lbl_1f9a39" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ReceivablesPolicyTextBlock_lbl_1f9a39" xml:lang="en-US">Accounts receivable and allowance for doubtful accounts</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryPolicyTextBlock" xlink:to="us-gaap_InventoryPolicyTextBlock_lbl_055ae1" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_InventoryPolicyTextBlock_lbl_055ae1" xml:lang="en-US">Inventories</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryPolicyTextBlock" xlink:label="us-gaap_InventoryPolicyTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryPolicyTextBlock" xlink:to="us-gaap_InventoryPolicyTextBlock_lbl_15" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryPolicyTextBlock_lbl_15" xml:lang="en-US">Inventory, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl_70190b" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl_70190b" xml:lang="en-US">Property, plant and equipment</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl_16" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl_16" xml:lang="en-US">Property, Plant and Equipment, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:to="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_lbl_04f39a" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_lbl_04f39a" xml:lang="en-US">Impairment of long lived assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentPolicyTextBlock" xlink:label="us-gaap_InvestmentPolicyTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InvestmentPolicyTextBlock" xlink:to="us-gaap_InvestmentPolicyTextBlock_lbl_26a7d2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InvestmentPolicyTextBlock_lbl_26a7d2" xml:lang="en-US">Long-term investment</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeLeasesPolicyTextBlock" xlink:label="us-gaap_LesseeLeasesPolicyTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeLeasesPolicyTextBlock" xlink:to="us-gaap_LesseeLeasesPolicyTextBlock_lbl_e69dbf" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeLeasesPolicyTextBlock_lbl_e69dbf" xml:lang="en-US">Lease arrangements</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy" xlink:to="us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy_lbl_436fe0" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy_lbl_436fe0" 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_GoodwillAndIntangibleAssetsGoodwillPolicy" xlink:label="us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy" xlink:to="us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy_lbl_20" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy_lbl_20" xml:lang="en-US">Goodwill and Intangible Assets, Goodwill, Policy [Policy Text Block]</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:to="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_lbl_586f64" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_lbl_586f64" 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_ComprehensiveIncomePolicyPolicyTextBlock" xlink:label="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock" xlink:to="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock_lbl_d6adf6" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComprehensiveIncomePolicyPolicyTextBlock_lbl_d6adf6" xml:lang="en-US">Comprehensive income</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_OrdinaryShares" xlink:to="clwt_OrdinaryShares_lbl_5bb078" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="clwt_OrdinaryShares_lbl_5bb078" xml:lang="en-US">Ordinary share</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OrdinaryShares" xlink:label="clwt_OrdinaryShares" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_OrdinaryShares" xlink:to="clwt_OrdinaryShares_lbl_23" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_OrdinaryShares_lbl_23" xml:lang="en-US">[Ordinary share]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerSharePolicyTextBlock" xlink:to="us-gaap_EarningsPerSharePolicyTextBlock_lbl_430dfd" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock_lbl_430dfd" xml:lang="en-US">Net income per ordinary share</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerSharePolicyTextBlock" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerSharePolicyTextBlock" xlink:to="us-gaap_EarningsPerSharePolicyTextBlock_lbl_24" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerSharePolicyTextBlock_lbl_24" xml:lang="en-US">Earnings Per Share, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:label="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:to="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_lbl_e89fee" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_lbl_e89fee" xml:lang="en-US">Stock-based compensation</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_RelatedPartiesPolicy" xlink:label="clwt_RelatedPartiesPolicy" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_RelatedPartiesPolicy" xlink:to="clwt_RelatedPartiesPolicy_lbl_9c831a" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_RelatedPartiesPolicy_lbl_9c831a" xml:lang="en-US">Related parties</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskCreditRisk" xlink:to="us-gaap_ConcentrationRiskCreditRisk_lbl_15ddd6" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskCreditRisk_lbl_15ddd6" xml:lang="en-US">Concentrations</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_FinanceCostsPolicyTextBlock" xlink:to="clwt_FinanceCostsPolicyTextBlock_lbl_830729" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="clwt_FinanceCostsPolicyTextBlock_lbl_830729" xml:lang="en-US">Finance costs</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_FinanceCostsPolicyTextBlock" xlink:label="clwt_FinanceCostsPolicyTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_FinanceCostsPolicyTextBlock" xlink:to="clwt_FinanceCostsPolicyTextBlock_lbl_28" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_FinanceCostsPolicyTextBlock_lbl_28" xml:lang="en-US">[Finance costs]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ExtendedProductWarrantyPolicy" xlink:label="us-gaap_ExtendedProductWarrantyPolicy" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ExtendedProductWarrantyPolicy" xlink:to="us-gaap_ExtendedProductWarrantyPolicy_lbl_5529a0" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ExtendedProductWarrantyPolicy_lbl_5529a0" xml:lang="en-US">Warranties</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ContractAssetsAndContractLiabilitiesPolicyTextBlock" xlink:label="clwt_ContractAssetsAndContractLiabilitiesPolicyTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_ContractAssetsAndContractLiabilitiesPolicyTextBlock" xlink:to="clwt_ContractAssetsAndContractLiabilitiesPolicyTextBlock_lbl_9ae804" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_ContractAssetsAndContractLiabilitiesPolicyTextBlock_lbl_9ae804" xml:lang="en-US">Contract Assets and Contract Liabilities</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShippingAndHandlingCostPolicyTextBlock" xlink:label="us-gaap_ShippingAndHandlingCostPolicyTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShippingAndHandlingCostPolicyTextBlock" xlink:to="us-gaap_ShippingAndHandlingCostPolicyTextBlock_lbl_4c05f1" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShippingAndHandlingCostPolicyTextBlock_lbl_4c05f1" xml:lang="en-US">Shipping and handling costs</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_RetirementPlanCostsPolicyTextBlock" xlink:label="clwt_RetirementPlanCostsPolicyTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_RetirementPlanCostsPolicyTextBlock" xlink:to="clwt_RetirementPlanCostsPolicyTextBlock_lbl_47cd75" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_RetirementPlanCostsPolicyTextBlock_lbl_47cd75" xml:lang="en-US">Retirement plan costs</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_StatutoryReservesPolicyTextBlock" xlink:label="clwt_StatutoryReservesPolicyTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_StatutoryReservesPolicyTextBlock" xlink:to="clwt_StatutoryReservesPolicyTextBlock_lbl_e3dce1" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_StatutoryReservesPolicyTextBlock_lbl_e3dce1" xml:lang="en-US">Statutory reserves</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:label="us-gaap_FairValueMeasurementPolicyPolicyTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:to="us-gaap_FairValueMeasurementPolicyPolicyTextBlock_lbl_28641e" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueMeasurementPolicyPolicyTextBlock_lbl_28641e" xml:lang="en-US">Fair value measurements</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl_950aeb" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl_950aeb" xml:lang="en-US">Recent accounting pronouncements</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Reclassifications" xlink:label="us-gaap_Reclassifications" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Reclassifications" xlink:to="us-gaap_Reclassifications_lbl_0991b4" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Reclassifications_lbl_0991b4" xml:lang="en-US">Reclassification</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:label="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:to="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock_lbl_45c3b6" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock_lbl_45c3b6" xml:lang="en-US">Basis of presentation</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ClassificationOfContractAssetsNetAndLiabilitiesPolicyTextBlock" xlink:label="clwt_ClassificationOfContractAssetsNetAndLiabilitiesPolicyTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_ClassificationOfContractAssetsNetAndLiabilitiesPolicyTextBlock" xlink:to="clwt_ClassificationOfContractAssetsNetAndLiabilitiesPolicyTextBlock_lbl_61c631" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_ClassificationOfContractAssetsNetAndLiabilitiesPolicyTextBlock_lbl_61c631" xml:lang="en-US">Classification of contract assets, net and liabilities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IntangibleAssetsFiniteLivedPolicy" xlink:to="us-gaap_IntangibleAssetsFiniteLivedPolicy_lbl_d60402" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IntangibleAssetsFiniteLivedPolicy_lbl_d60402" xml:lang="en-US">Intangible assets, net</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntangibleAssetsFiniteLivedPolicy" xlink:label="us-gaap_IntangibleAssetsFiniteLivedPolicy" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IntangibleAssetsFiniteLivedPolicy" xlink:to="us-gaap_IntangibleAssetsFiniteLivedPolicy_lbl_39" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IntangibleAssetsFiniteLivedPolicy_lbl_39" xml:lang="en-US">Intangible Assets, Finite-Lived, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_GovernmentGrantIncomePolicyTextBlock" xlink:label="clwt_GovernmentGrantIncomePolicyTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_GovernmentGrantIncomePolicyTextBlock" xlink:to="clwt_GovernmentGrantIncomePolicyTextBlock_lbl_7d0be9" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_GovernmentGrantIncomePolicyTextBlock_lbl_7d0be9" xml:lang="en-US">Government grant income</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ShareCapitalPolicyTextBlock" xlink:label="clwt_ShareCapitalPolicyTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_ShareCapitalPolicyTextBlock" xlink:to="clwt_ShareCapitalPolicyTextBlock_lbl_a032c3" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_ShareCapitalPolicyTextBlock_lbl_a032c3" xml:lang="en-US">Share capital</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_NetIncomePerOrdinarySharePolicyTextBlock" xlink:to="clwt_NetIncomePerOrdinarySharePolicyTextBlock_lbl_57c1a5" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="clwt_NetIncomePerOrdinarySharePolicyTextBlock_lbl_57c1a5" xml:lang="en-US">Net income per ordinary share</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_NetIncomePerOrdinarySharePolicyTextBlock" xlink:label="clwt_NetIncomePerOrdinarySharePolicyTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_NetIncomePerOrdinarySharePolicyTextBlock" xlink:to="clwt_NetIncomePerOrdinarySharePolicyTextBlock_lbl_42" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_NetIncomePerOrdinarySharePolicyTextBlock_lbl_42" xml:lang="en-US">[Net income per ordinary share]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_ShippingAndHandlingCostsPolicyTextBlock" xlink:to="clwt_ShippingAndHandlingCostsPolicyTextBlock_lbl_d00f0e" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="clwt_ShippingAndHandlingCostsPolicyTextBlock_lbl_d00f0e" xml:lang="en-US">Shipping and handling costs</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ShippingAndHandlingCostsPolicyTextBlock" xlink:label="clwt_ShippingAndHandlingCostsPolicyTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_ShippingAndHandlingCostsPolicyTextBlock" xlink:to="clwt_ShippingAndHandlingCostsPolicyTextBlock_lbl_43" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_ShippingAndHandlingCostsPolicyTextBlock_lbl_43" xml:lang="en-US">[Shipping and handling costs]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_ShortTermAndLongTermInvestmentsPolicyTextBlock" xlink:to="clwt_ShortTermAndLongTermInvestmentsPolicyTextBlock_lbl_d78f94" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="clwt_ShortTermAndLongTermInvestmentsPolicyTextBlock_lbl_d78f94" xml:lang="en-US">Short-term and long-term investments</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ShortTermAndLongTermInvestmentsPolicyTextBlock" xlink:label="clwt_ShortTermAndLongTermInvestmentsPolicyTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_ShortTermAndLongTermInvestmentsPolicyTextBlock" xlink:to="clwt_ShortTermAndLongTermInvestmentsPolicyTextBlock_lbl_44" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_ShortTermAndLongTermInvestmentsPolicyTextBlock_lbl_44" xml:lang="en-US">[Short-term and long-term investments 1]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_NonControllingInterestsPolicyTextBlock" xlink:to="clwt_NonControllingInterestsPolicyTextBlock_lbl_306def" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="clwt_NonControllingInterestsPolicyTextBlock_lbl_306def" xml:lang="en-US">Non-controlling interests</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_NonControllingInterestsPolicyTextBlock" xlink:label="clwt_NonControllingInterestsPolicyTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_NonControllingInterestsPolicyTextBlock" xlink:to="clwt_NonControllingInterestsPolicyTextBlock_lbl_45" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_NonControllingInterestsPolicyTextBlock_lbl_45" xml:lang="en-US">[Non-controlling interests]</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ScheduleOfSignificantSubsidiariesTableTextBlock" xlink:label="clwt_ScheduleOfSignificantSubsidiariesTableTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_ScheduleOfSignificantSubsidiariesTableTextBlock" xlink:to="clwt_ScheduleOfSignificantSubsidiariesTableTextBlock_lbl_b4c9e8" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_ScheduleOfSignificantSubsidiariesTableTextBlock_lbl_b4c9e8" xml:lang="en-US">Schedule of significant subsidiaries</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_PropertyPlantAndEquipmentUsefulLifeTableTextblock" xlink:label="clwt_PropertyPlantAndEquipmentUsefulLifeTableTextblock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_PropertyPlantAndEquipmentUsefulLifeTableTextblock" xlink:to="clwt_PropertyPlantAndEquipmentUsefulLifeTableTextblock_lbl_90a98b" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_PropertyPlantAndEquipmentUsefulLifeTableTextblock_lbl_90a98b" xml:lang="en-US">Schedule of property, plant and equipment</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ScheduleOfReconciliationOfBacklogRepresentingTheAmountOfRevenueTableTextBlock" xlink:label="clwt_ScheduleOfReconciliationOfBacklogRepresentingTheAmountOfRevenueTableTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_ScheduleOfReconciliationOfBacklogRepresentingTheAmountOfRevenueTableTextBlock" xlink:to="clwt_ScheduleOfReconciliationOfBacklogRepresentingTheAmountOfRevenueTableTextBlock_lbl_b48600" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_ScheduleOfReconciliationOfBacklogRepresentingTheAmountOfRevenueTableTextBlock_lbl_b48600" xml:lang="en-US">Schedule of reconciliation of backlog representing the amount of revenue</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_lbl_8ef9e7" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_lbl_8ef9e7" xml:lang="en-US">Segment information</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:to="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_lbl_2" xml:lang="en-US">Schedule of Segment Reporting Information, by Segment [Table Text Block]</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock" xlink:to="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock_lbl_353035" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock_lbl_353035" xml:lang="en-US">Geographical analysis of revenue and assets</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ScheduleOfMajorSuppliersAndCustomers" xlink:label="clwt_ScheduleOfMajorSuppliersAndCustomers" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_ScheduleOfMajorSuppliersAndCustomers" xlink:to="clwt_ScheduleOfMajorSuppliersAndCustomers_lbl_800622" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_ScheduleOfMajorSuppliersAndCustomers_lbl_800622" xml:lang="en-US">Major suppliers and customers</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" xlink:to="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_lbl_97ce09" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_lbl_97ce09" xml:lang="en-US">Accounts receivable, net</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" xlink:to="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_lbl_2" xml:lang="en-US">Schedule of Accounts, Notes, Loans and Financing Receivable [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock" xlink:label="us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock" xlink:to="us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock_lbl_b099df" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock_lbl_b099df" xml:lang="en-US">Allowance for doubtful accounts activity</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PastDueFinancingReceivablesTableTextBlock" xlink:label="us-gaap_PastDueFinancingReceivablesTableTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PastDueFinancingReceivablesTableTextBlock" xlink:to="us-gaap_PastDueFinancingReceivablesTableTextBlock_lbl_7339eb" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PastDueFinancingReceivablesTableTextBlock_lbl_7339eb" xml:lang="en-US">Age analysis of past due account receivables</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfOtherCurrentAssetsTableTextBlock" xlink:label="us-gaap_ScheduleOfOtherCurrentAssetsTableTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfOtherCurrentAssetsTableTextBlock" xlink:to="us-gaap_ScheduleOfOtherCurrentAssetsTableTextBlock_lbl_2d1b06" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfOtherCurrentAssetsTableTextBlock_lbl_2d1b06" xml:lang="en-US">Prepayment and other current assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:to="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl_709f97" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl_709f97" xml:lang="en-US">Contract 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_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:to="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl_2" xml:lang="en-US">Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ContractWithCustomerNetAssetLiabilityPositionTableTextBlock" xlink:label="clwt_ContractWithCustomerNetAssetLiabilityPositionTableTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_ContractWithCustomerNetAssetLiabilityPositionTableTextBlock" xlink:to="clwt_ContractWithCustomerNetAssetLiabilityPositionTableTextBlock_lbl_b27b09" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_ContractWithCustomerNetAssetLiabilityPositionTableTextBlock_lbl_b27b09" xml:lang="en-US">Net (liability) / asset position for contracts in process</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:to="us-gaap_DisaggregationOfRevenueTableTextBlock_lbl_ed0aa1" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock_lbl_ed0aa1" xml:lang="en-US">Disaggregated revenue from contracts</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_IntangibleAssetsDisclosureTableTextBlock" xlink:label="clwt_IntangibleAssetsDisclosureTableTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_IntangibleAssetsDisclosureTableTextBlock" xlink:to="clwt_IntangibleAssetsDisclosureTableTextBlock_lbl_cb79bc" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_IntangibleAssetsDisclosureTableTextBlock_lbl_cb79bc" xml:lang="en-US">Amortizable intangible assets</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_EstimatedFutureIntangibleAssetsAmortizationExpenseTableTextBlock" xlink:label="clwt_EstimatedFutureIntangibleAssetsAmortizationExpenseTableTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_EstimatedFutureIntangibleAssetsAmortizationExpenseTableTextBlock" xlink:to="clwt_EstimatedFutureIntangibleAssetsAmortizationExpenseTableTextBlock_lbl_fd2f05" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_EstimatedFutureIntangibleAssetsAmortizationExpenseTableTextBlock_lbl_fd2f05" xml:lang="en-US">Estimated future intangible assets amortization expense</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_LandUseRightNetTableTextBlock" xlink:label="clwt_LandUseRightNetTableTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_LandUseRightNetTableTextBlock" xlink:to="clwt_LandUseRightNetTableTextBlock_lbl_4e586b" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_LandUseRightNetTableTextBlock_lbl_4e586b" xml:lang="en-US">Land use right, net table</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_LandUseRightNetEstimatedFutureLandUseRightAmortizationExpenseTableTextBlock" xlink:label="clwt_LandUseRightNetEstimatedFutureLandUseRightAmortizationExpenseTableTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_LandUseRightNetEstimatedFutureLandUseRightAmortizationExpenseTableTextBlock" xlink:to="clwt_LandUseRightNetEstimatedFutureLandUseRightAmortizationExpenseTableTextBlock_lbl_6eb9a7" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_LandUseRightNetEstimatedFutureLandUseRightAmortizationExpenseTableTextBlock_lbl_6eb9a7" xml:lang="en-US">Land use right, net estimated future land use right amortization expense</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ScheduleOfBankBorrowingsTableTextBlock" xlink:label="clwt_ScheduleOfBankBorrowingsTableTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_ScheduleOfBankBorrowingsTableTextBlock" xlink:to="clwt_ScheduleOfBankBorrowingsTableTextBlock_lbl_a4c80b" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_ScheduleOfBankBorrowingsTableTextBlock_lbl_a4c80b" xml:lang="en-US">Schedule of bank borrowings</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:to="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl_d1557b" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl_d1557b" xml:lang="en-US">Inventories</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:to="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl_2" xml:lang="en-US">Schedule of Inventory, Current [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl_fe37b3" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl_fe37b3" xml:lang="en-US">Property, plant and equipment</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl_2" xml:lang="en-US">Property, Plant and Equipment [Table Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfInvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTableTextBlock" xlink:to="us-gaap_ScheduleOfInvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTableTextBlock_lbl_80ebd4" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ScheduleOfInvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTableTextBlock_lbl_80ebd4" xml:lang="en-US">Investments in affiliates</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfInvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTableTextBlock" xlink:label="us-gaap_ScheduleOfInvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTableTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfInvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTableTextBlock" xlink:to="us-gaap_ScheduleOfInvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTableTextBlock_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfInvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTableTextBlock_lbl_2" xml:lang="en-US">Schedule of Investments in and Advances to Affiliates, Schedule of Investments [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_SummaryOfTheFinancialInformationOfTheAffiliates" xlink:label="clwt_SummaryOfTheFinancialInformationOfTheAffiliates" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_SummaryOfTheFinancialInformationOfTheAffiliates" xlink:to="clwt_SummaryOfTheFinancialInformationOfTheAffiliates_lbl_bb3af3" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_SummaryOfTheFinancialInformationOfTheAffiliates_lbl_bb3af3" xml:lang="en-US">Summary of the financial information of the affiliates</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock" xlink:to="us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock_lbl_e27d4e" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock_lbl_e27d4e" xml:lang="en-US">Other payables 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_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock" xlink:to="us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock_lbl_2" xml:lang="en-US">Schedule of Accounts Payable and Accrued Liabilities [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseCostTableTextBlock" xlink:label="us-gaap_LeaseCostTableTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseCostTableTextBlock" xlink:to="us-gaap_LeaseCostTableTextBlock_lbl_521217" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LeaseCostTableTextBlock_lbl_521217" xml:lang="en-US">Lease expense</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ScheduleOfSupplementalConsolidatedBalanceSheetInformationRelatedToLeasesTableTextBlock" xlink:label="clwt_ScheduleOfSupplementalConsolidatedBalanceSheetInformationRelatedToLeasesTableTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_ScheduleOfSupplementalConsolidatedBalanceSheetInformationRelatedToLeasesTableTextBlock" xlink:to="clwt_ScheduleOfSupplementalConsolidatedBalanceSheetInformationRelatedToLeasesTableTextBlock_lbl_2958b8" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_ScheduleOfSupplementalConsolidatedBalanceSheetInformationRelatedToLeasesTableTextBlock_lbl_2958b8" xml:lang="en-US">Supplemental consolidated balance sheet information related to leases</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ScheduleOfSupplementalConsolidatedCashFlowInformationRelatedToLeasesTableTextBlock" xlink:label="clwt_ScheduleOfSupplementalConsolidatedCashFlowInformationRelatedToLeasesTableTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_ScheduleOfSupplementalConsolidatedCashFlowInformationRelatedToLeasesTableTextBlock" xlink:to="clwt_ScheduleOfSupplementalConsolidatedCashFlowInformationRelatedToLeasesTableTextBlock_lbl_6032c5" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_ScheduleOfSupplementalConsolidatedCashFlowInformationRelatedToLeasesTableTextBlock_lbl_6032c5" xml:lang="en-US">Supplemental consolidated cash flow information related to leases</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock" xlink:label="us-gaap_ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock" xlink:to="us-gaap_ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock_lbl_776f91" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock_lbl_776f91" xml:lang="en-US">Maturities 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_ScheduleOfStockByClassTextBlock" xlink:label="us-gaap_ScheduleOfStockByClassTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfStockByClassTextBlock" xlink:to="us-gaap_ScheduleOfStockByClassTextBlock_lbl_677e44" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfStockByClassTextBlock_lbl_677e44" xml:lang="en-US">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_OtherIncomeAndExpensesAbstract" xlink:label="us-gaap_OtherIncomeAndExpensesAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherIncomeAndExpensesAbstract" xlink:to="us-gaap_OtherIncomeAndExpensesAbstract_lbl_9bbb2c" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherIncomeAndExpensesAbstract_lbl_9bbb2c" xml:lang="en-US">Other income (Tables)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfOtherNonoperatingIncomeExpenseTableTextBlock" xlink:to="us-gaap_ScheduleOfOtherNonoperatingIncomeExpenseTableTextBlock_lbl_e6f142" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ScheduleOfOtherNonoperatingIncomeExpenseTableTextBlock_lbl_e6f142" xml:lang="en-US">Other 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_ScheduleOfOtherNonoperatingIncomeExpenseTableTextBlock" xlink:label="us-gaap_ScheduleOfOtherNonoperatingIncomeExpenseTableTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfOtherNonoperatingIncomeExpenseTableTextBlock" xlink:to="us-gaap_ScheduleOfOtherNonoperatingIncomeExpenseTableTextBlock_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfOtherNonoperatingIncomeExpenseTableTextBlock_lbl_2" xml:lang="en-US">Schedule of Other Nonoperating Income (Expense) [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:to="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_lbl_3c2410" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_lbl_3c2410" xml:lang="en-US">Components of income tax (expense) / credit</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:to="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl_070043" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_lbl_070043" xml:lang="en-US">Reconciling items from income tax</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:to="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_lbl_e2e996" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_lbl_e2e996" xml:lang="en-US">Components of deferred tax assets</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ScheduleOfOtherIncomeTabletextBlock" xlink:label="clwt_ScheduleOfOtherIncomeTabletextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_ScheduleOfOtherIncomeTabletextBlock" xlink:to="clwt_ScheduleOfOtherIncomeTabletextBlock_lbl_98c441" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_ScheduleOfOtherIncomeTabletextBlock_lbl_98c441" xml:lang="en-US">Schedule of other income</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ScheduleOfOtherLossesTabletextBlock" xlink:label="clwt_ScheduleOfOtherLossesTabletextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_ScheduleOfOtherLossesTabletextBlock" xlink:to="clwt_ScheduleOfOtherLossesTabletextBlock_lbl_b6c6d9" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_ScheduleOfOtherLossesTabletextBlock_lbl_b6c6d9" xml:lang="en-US">Schedule of other losses</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock" xlink:label="us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock" xlink:to="us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock_lbl_380eff" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock_lbl_380eff" xml:lang="en-US">Basic and diluted number of shares</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsAndStockAppreciationRightsAwardActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsAndStockAppreciationRightsAwardActivityTableTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationStockOptionsAndStockAppreciationRightsAwardActivityTableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationStockOptionsAndStockAppreciationRightsAwardActivityTableTextBlock_lbl_59505b" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsAndStockAppreciationRightsAwardActivityTableTextBlock_lbl_59505b" xml:lang="en-US">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_RedeemableNoncontrollingInterestTableTextBlock" xlink:label="us-gaap_RedeemableNoncontrollingInterestTableTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RedeemableNoncontrollingInterestTableTextBlock" xlink:to="us-gaap_RedeemableNoncontrollingInterestTableTextBlock_lbl_c9021a" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RedeemableNoncontrollingInterestTableTextBlock_lbl_c9021a" xml:lang="en-US">Schedule of Fair Value of the Put Options</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsidiarySaleOfStockAxis" xlink:label="us-gaap_SubsidiarySaleOfStockAxis" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsidiarySaleOfStockAxis" xlink:to="us-gaap_SubsidiarySaleOfStockAxis_lbl_b124ba" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsidiarySaleOfStockAxis_lbl_b124ba" xml:lang="en-US">Subsidiary Sale Of Stock Axis</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:label="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:to="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_lbl_eaf8ee" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_lbl_eaf8ee" xml:lang="en-US">Investment, Name [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ZhejiangTianlanEnvironmentalProtectionEngineeringsMember" xlink:label="clwt_ZhejiangTianlanEnvironmentalProtectionEngineeringsMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_ZhejiangTianlanEnvironmentalProtectionEngineeringsMember" xlink:to="clwt_ZhejiangTianlanEnvironmentalProtectionEngineeringsMember_lbl_ff15eb" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_ZhejiangTianlanEnvironmentalProtectionEngineeringsMember_lbl_ff15eb" xml:lang="en-US">Zhejiang Tianlan Environmental Protection Engineering Company Limited</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_ZhejiangTianlanMember" xlink:to="clwt_ZhejiangTianlanMember_lbl_a066ac" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="clwt_ZhejiangTianlanMember_lbl_a066ac" xml:lang="en-US">ZHEJIANG TIANLAN</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ZhejiangTianlanMember" xlink:label="clwt_ZhejiangTianlanMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_ZhejiangTianlanMember" xlink:to="clwt_ZhejiangTianlanMember_lbl_53" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_ZhejiangTianlanMember_lbl_53" xml:lang="en-US">[ZHEJIANG TIANLAN 1]</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_HangzhouTianlanEnvironmenstalProtectionEquipmentCompanyLimitedMember" xlink:label="clwt_HangzhouTianlanEnvironmenstalProtectionEquipmentCompanyLimitedMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_HangzhouTianlanEnvironmenstalProtectionEquipmentCompanyLimitedMember" xlink:to="clwt_HangzhouTianlanEnvironmenstalProtectionEquipmentCompanyLimitedMember_lbl_8ac5ac" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_HangzhouTianlanEnvironmenstalProtectionEquipmentCompanyLimitedMember_lbl_8ac5ac" xml:lang="en-US">Hangzhou Tianlan Environmental Protection Equipment Company Limited</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_HangzhouTianlanPureEnvironmentalProtectionTechnologyCompanysLimitedMember" xlink:label="clwt_HangzhouTianlanPureEnvironmentalProtectionTechnologyCompanysLimitedMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_HangzhouTianlanPureEnvironmentalProtectionTechnologyCompanysLimitedMember" xlink:to="clwt_HangzhouTianlanPureEnvironmentalProtectionTechnologyCompanysLimitedMember_lbl_60f0d9" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_HangzhouTianlanPureEnvironmentalProtectionTechnologyCompanysLimitedMember_lbl_60f0d9" xml:lang="en-US">Hangzhou Tianlan Pure Environmental Protection Technology Company Limited</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_HangzhouTiancanEnvironmentalTechnologyCompanysLimitedMember" xlink:label="clwt_HangzhouTiancanEnvironmentalTechnologyCompanysLimitedMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_HangzhouTiancanEnvironmentalTechnologyCompanysLimitedMember" xlink:to="clwt_HangzhouTiancanEnvironmentalTechnologyCompanysLimitedMember_lbl_8b65d0" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_HangzhouTiancanEnvironmentalTechnologyCompanysLimitedMember_lbl_8b65d0" xml:lang="en-US">Hangzhou Tiancan Environmental Technology Company Limited</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_HangzhouZhongyiEcologicalAndEnvironmentalConsultingCompanyLimitedMember" xlink:label="clwt_HangzhouZhongyiEcologicalAndEnvironmentalConsultingCompanyLimitedMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_HangzhouZhongyiEcologicalAndEnvironmentalConsultingCompanyLimitedMember" xlink:to="clwt_HangzhouZhongyiEcologicalAndEnvironmentalConsultingCompanyLimitedMember_lbl_27f72c" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_HangzhouZhongyiEcologicalAndEnvironmentalConsultingCompanyLimitedMember_lbl_27f72c" xml:lang="en-US">Hangzhou Zhongyi Ecological And Environmental Consulting Company Limited Member</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ShanghaiEuroTechsLimitedMember" xlink:label="clwt_ShanghaiEuroTechsLimitedMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_ShanghaiEuroTechsLimitedMember" xlink:to="clwt_ShanghaiEuroTechsLimitedMember_lbl_b8537b" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_ShanghaiEuroTechsLimitedMember_lbl_b8537b" xml:lang="en-US">Shanghai Euro Tech Limited</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_EuroTechTradingsLimitedMember" xlink:label="clwt_EuroTechTradingsLimitedMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_EuroTechTradingsLimitedMember" xlink:to="clwt_EuroTechTradingsLimitedMember_lbl_dd4725" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_EuroTechTradingsLimitedMember_lbl_dd4725" xml:lang="en-US">Euro Tech Trading (Shanghai) Limited</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_EuroTechFarEastsLimitedMember" xlink:label="clwt_EuroTechFarEastsLimitedMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_EuroTechFarEastsLimitedMember" xlink:to="clwt_EuroTechFarEastsLimitedMember_lbl_14141d" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_EuroTechFarEastsLimitedMember_lbl_14141d" xml:lang="en-US">Euro Tech (Far East) Limited</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_PactAsiaPacificLimitedsMember" xlink:label="clwt_PactAsiaPacificLimitedsMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_PactAsiaPacificLimitedsMember" xlink:to="clwt_PactAsiaPacificLimitedsMember_lbl_4c6d9a" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_PactAsiaPacificLimitedsMember_lbl_4c6d9a" xml:lang="en-US">Pact Asia Pacific Limited</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_YixingPactEnvironmentalsMember" xlink:label="clwt_YixingPactEnvironmentalsMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_YixingPactEnvironmentalsMember" xlink:to="clwt_YixingPactEnvironmentalsMember_lbl_8022af" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_YixingPactEnvironmentalsMember_lbl_8022af" xml:lang="en-US">Yixing Pact Environmental Technology Co., Ltd</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_PactEnvironmentalTechnologyPteLtdMember" xlink:label="clwt_PactEnvironmentalTechnologyPteLtdMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_PactEnvironmentalTechnologyPteLtdMember" xlink:to="clwt_PactEnvironmentalTechnologyPteLtdMember_lbl_38f916" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_PactEnvironmentalTechnologyPteLtdMember_lbl_38f916" xml:lang="en-US">PACT Environmental Technology Pte. Ltd</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ZhejiangTianlanEnvironmentalProtectionTechnologyCoLtdMember" xlink:label="clwt_ZhejiangTianlanEnvironmentalProtectionTechnologyCoLtdMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_ZhejiangTianlanEnvironmentalProtectionTechnologyCoLtdMember" xlink:to="clwt_ZhejiangTianlanEnvironmentalProtectionTechnologyCoLtdMember_lbl_4ede73" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_ZhejiangTianlanEnvironmentalProtectionTechnologyCoLtdMember_lbl_4ede73" xml:lang="en-US">Zhejiang Tianlan Environmental Protection Technology Co. Ltd ("Blue Sky")</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_XuanchengLanjingEnvironmentalProtectionEquipmentCoLtdMember" xlink:label="clwt_XuanchengLanjingEnvironmentalProtectionEquipmentCoLtdMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_XuanchengLanjingEnvironmentalProtectionEquipmentCoLtdMember" xlink:to="clwt_XuanchengLanjingEnvironmentalProtectionEquipmentCoLtdMember_lbl_12c29c" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_XuanchengLanjingEnvironmentalProtectionEquipmentCoLtdMember_lbl_12c29c" xml:lang="en-US">Xuancheng Lanjing Environmental Protection Equipment Co., Ltd</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" xlink:label="us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" xlink:to="us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions_lbl_2864f3" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions_lbl_2864f3" xml:lang="en-US">Percentage of equity ownership</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_PlaceOfIncorporation" xlink:label="clwt_PlaceOfIncorporation" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_PlaceOfIncorporation" xlink:to="clwt_PlaceOfIncorporation_lbl_c1a0c3" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_PlaceOfIncorporation_lbl_c1a0c3" xml:lang="en-US">Place of incorporation</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestmentDescriptionOfPrincipalActivities" xlink:label="us-gaap_EquityMethodInvestmentDescriptionOfPrincipalActivities" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityMethodInvestmentDescriptionOfPrincipalActivities" xlink:to="us-gaap_EquityMethodInvestmentDescriptionOfPrincipalActivities_lbl_270eaf" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityMethodInvestmentDescriptionOfPrincipalActivities_lbl_270eaf" xml:lang="en-US">Principal activities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRemainingPerformanceObligation" xlink:to="us-gaap_RevenueRemainingPerformanceObligation_lbl_cce652" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_RevenueRemainingPerformanceObligation_lbl_cce652" xml:lang="en-US">Contract revenue on uncompleted contracts as beginning balance</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="us-gaap_RevenueRemainingPerformanceObligation" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRemainingPerformanceObligation" xlink:to="us-gaap_RevenueRemainingPerformanceObligation_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueRemainingPerformanceObligation_lbl_2" xml:lang="en-US">[Revenue, Remaining Performance Obligation, Amount]</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_NewContractRevenueAwardsDuringTheYear" xlink:label="clwt_NewContractRevenueAwardsDuringTheYear" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_NewContractRevenueAwardsDuringTheYear" xlink:to="clwt_NewContractRevenueAwardsDuringTheYear_lbl_df0086" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_NewContractRevenueAwardsDuringTheYear_lbl_df0086" xml:lang="en-US">New contract awards during the year</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ContractRevenueAdjustment" xlink:label="clwt_ContractRevenueAdjustment" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_ContractRevenueAdjustment" xlink:to="clwt_ContractRevenueAdjustment_lbl_d2246e" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_ContractRevenueAdjustment_lbl_d2246e" xml:lang="en-US">Contract adjustment</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ContractRevenueRecognizedForTheYear" xlink:label="clwt_ContractRevenueRecognizedForTheYear" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_ContractRevenueRecognizedForTheYear" xlink:to="clwt_ContractRevenueRecognizedForTheYear_lbl_953701" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_ContractRevenueRecognizedForTheYear_lbl_953701" xml:lang="en-US">Contract revenue recognized for the year</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_BacklogRevenueRemainingPerformanceObligation" xlink:to="clwt_BacklogRevenueRemainingPerformanceObligation_lbl_d7f164" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="clwt_BacklogRevenueRemainingPerformanceObligation_lbl_d7f164" xml:lang="en-US">Backlog as ending balance</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_BacklogRevenueRemainingPerformanceObligation" xlink:label="clwt_BacklogRevenueRemainingPerformanceObligation" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_BacklogRevenueRemainingPerformanceObligation" xlink:to="clwt_BacklogRevenueRemainingPerformanceObligation_lbl_6" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_BacklogRevenueRemainingPerformanceObligation_lbl_6" xml:lang="en-US">[Backlog as ending balance]</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis_lbl_349c86" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis_lbl_349c86" 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_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameAxis_lbl_e98c69" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PlanNameAxis_lbl_e98c69" 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_LeaseholdImprovementsMember" xlink:label="us-gaap_LeaseholdImprovementsMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseholdImprovementsMember" xlink:to="us-gaap_LeaseholdImprovementsMember_lbl_60a72f" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LeaseholdImprovementsMember_lbl_60a72f" xml:lang="en-US">Leasehold Improvements</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_VehiclesMember" xlink:label="us-gaap_VehiclesMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VehiclesMember" xlink:to="us-gaap_VehiclesMember_lbl_5dba0a" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_VehiclesMember_lbl_5dba0a" xml:lang="en-US">Motor Vehicles</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherMachineryAndEquipmentMember" xlink:label="us-gaap_OtherMachineryAndEquipmentMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherMachineryAndEquipmentMember" xlink:to="us-gaap_OtherMachineryAndEquipmentMember_lbl_be98ef" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherMachineryAndEquipmentMember_lbl_be98ef" xml:lang="en-US">Testing Equipment</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OfficerPremisesMember" xlink:label="clwt_OfficerPremisesMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_OfficerPremisesMember" xlink:to="clwt_OfficerPremisesMember_lbl_f52e27" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_OfficerPremisesMember_lbl_f52e27" xml:lang="en-US">Office Premises</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_BottomsMember" xlink:label="clwt_BottomsMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_BottomsMember" xlink:to="clwt_BottomsMember_lbl_df94b6" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_BottomsMember_lbl_df94b6" xml:lang="en-US">Bottoms</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_OfficePremisesMember" xlink:to="clwt_OfficePremisesMember_lbl_5cbfa6" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="clwt_OfficePremisesMember_lbl_5cbfa6" xml:lang="en-US">Office Premises</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OfficePremisesMember" xlink:label="clwt_OfficePremisesMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_OfficePremisesMember" xlink:to="clwt_OfficePremisesMember_lbl_57" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_OfficePremisesMember_lbl_57" xml:lang="en-US">[Office Premises]</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_TopsMember" xlink:label="clwt_TopsMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_TopsMember" xlink:to="clwt_TopsMember_lbl_bb38f7" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_TopsMember_lbl_bb38f7" xml:lang="en-US">Tops</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="us-gaap_FurnitureAndFixturesMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FurnitureAndFixturesMember" xlink:to="us-gaap_FurnitureAndFixturesMember_lbl_993ad4" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FurnitureAndFixturesMember_lbl_993ad4" xml:lang="en-US">Furniture, Fixtures and Office Equipment</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_LandUseRightMember" xlink:label="clwt_LandUseRightMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_LandUseRightMember" xlink:to="clwt_LandUseRightMember_lbl_584f3e" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_LandUseRightMember_lbl_584f3e" xml:lang="en-US">Land Use Right</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_PlantAndMachineriesMember" xlink:label="clwt_PlantAndMachineriesMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_PlantAndMachineriesMember" xlink:to="clwt_PlantAndMachineriesMember_lbl_833ffd" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_PlantAndMachineriesMember_lbl_833ffd" xml:lang="en-US">Plant and Machineries</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BuildingAndBuildingImprovementsMember" xlink:label="us-gaap_BuildingAndBuildingImprovementsMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BuildingAndBuildingImprovementsMember" xlink:to="us-gaap_BuildingAndBuildingImprovementsMember_lbl_f93f7c" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BuildingAndBuildingImprovementsMember_lbl_f93f7c" xml:lang="en-US">Buildings and Leasehold Improvements</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PublicUtilitiesPropertyPlantAndEquipmentFuelUsefulLife" xlink:label="us-gaap_PublicUtilitiesPropertyPlantAndEquipmentFuelUsefulLife" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PublicUtilitiesPropertyPlantAndEquipmentFuelUsefulLife" xlink:to="us-gaap_PublicUtilitiesPropertyPlantAndEquipmentFuelUsefulLife_lbl_43d375" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PublicUtilitiesPropertyPlantAndEquipmentFuelUsefulLife_lbl_43d375" xml:lang="en-US">Property, plant and equipment useful lives</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_PublicUtilitiesPropertyPlantAndEquipmentLeaseholdImprovementsFuelUsefulLife" xlink:to="clwt_PublicUtilitiesPropertyPlantAndEquipmentLeaseholdImprovementsFuelUsefulLife_lbl_40119b" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="clwt_PublicUtilitiesPropertyPlantAndEquipmentLeaseholdImprovementsFuelUsefulLife_lbl_40119b" xml:lang="en-US">Property, plant and equipment useful lives</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_PublicUtilitiesPropertyPlantAndEquipmentLeaseholdImprovementsFuelUsefulLife" xlink:label="clwt_PublicUtilitiesPropertyPlantAndEquipmentLeaseholdImprovementsFuelUsefulLife" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_PublicUtilitiesPropertyPlantAndEquipmentLeaseholdImprovementsFuelUsefulLife" xlink:to="clwt_PublicUtilitiesPropertyPlantAndEquipmentLeaseholdImprovementsFuelUsefulLife_lbl_3" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_PublicUtilitiesPropertyPlantAndEquipmentLeaseholdImprovementsFuelUsefulLife_lbl_3" xml:lang="en-US">[Property, plant and equipment useful lives]</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis_lbl_d22054" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis_lbl_d22054" 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_StatementBusinessSegmentsAxis" xlink:label="us-gaap_StatementBusinessSegmentsAxis" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementBusinessSegmentsAxis" xlink:to="us-gaap_StatementBusinessSegmentsAxis_lbl_a97680" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementBusinessSegmentsAxis_lbl_a97680" xml:lang="en-US">Statement Business Segments Axis</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_SubsidiaryIssuerMember" xlink:to="srt_SubsidiaryIssuerMember_lbl_07d5ea" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="srt_SubsidiaryIssuerMember_lbl_07d5ea" xml:lang="en-US">ZHEJIANG TIANLAN</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiaryIssuerMember" xlink:label="srt_SubsidiaryIssuerMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_SubsidiaryIssuerMember" xlink:to="srt_SubsidiaryIssuerMember_lbl_52" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_SubsidiaryIssuerMember_lbl_52" xml:lang="en-US">Subsidiary Issuer [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SalesRevenueNetMember" xlink:to="us-gaap_SalesRevenueNetMember_lbl_1f761d" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_SalesRevenueNetMember_lbl_1f761d" xml:lang="en-US">Revenue</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SalesRevenueNetMember" xlink:to="us-gaap_SalesRevenueNetMember_lbl_53" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SalesRevenueNetMember_lbl_53" xml:lang="en-US">Revenue Benchmark [Member]</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CustomerOneMember" xlink:label="clwt_CustomerOneMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_CustomerOneMember" xlink:to="clwt_CustomerOneMember_lbl_8e7746" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_CustomerOneMember_lbl_8e7746" xml:lang="en-US">Customer One</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ResearchAndDevelopmentExpense" xlink:to="us-gaap_ResearchAndDevelopmentExpense_lbl_a3bfea" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ResearchAndDevelopmentExpense_lbl_a3bfea" xml:lang="en-US">Research and development costs</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ResearchAndDevelopmentExpense" xlink:to="us-gaap_ResearchAndDevelopmentExpense_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ResearchAndDevelopmentExpense_lbl_2" xml:lang="en-US">[Research and Development Expense]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MarketingAndAdvertisingExpense" xlink:to="us-gaap_MarketingAndAdvertisingExpense_lbl_ffe010" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_MarketingAndAdvertisingExpense_lbl_ffe010" xml:lang="en-US">Advertising and promotional expenses</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MarketingAndAdvertisingExpense" xlink:label="us-gaap_MarketingAndAdvertisingExpense" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MarketingAndAdvertisingExpense" xlink:to="us-gaap_MarketingAndAdvertisingExpense_lbl_3" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MarketingAndAdvertisingExpense_lbl_3" xml:lang="en-US">[Marketing and Advertising Expense]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ImpairmentOfLongLivedAssetsHeldForUse" xlink:label="us-gaap_ImpairmentOfLongLivedAssetsHeldForUse" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ImpairmentOfLongLivedAssetsHeldForUse" xlink:to="us-gaap_ImpairmentOfLongLivedAssetsHeldForUse_lbl_dcd04f" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ImpairmentOfLongLivedAssetsHeldForUse_lbl_dcd04f" xml:lang="en-US">Impairment of long-lived assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesIssued" xlink:to="us-gaap_CommonStockSharesIssued_lbl_348d83" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CommonStockSharesIssued_lbl_348d83" xml:lang="en-US">Common stock, issued</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ContractWithCustomerRemainingPerformanceObligation" xlink:label="clwt_ContractWithCustomerRemainingPerformanceObligation" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_ContractWithCustomerRemainingPerformanceObligation" xlink:to="clwt_ContractWithCustomerRemainingPerformanceObligation_lbl_62d22c" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_ContractWithCustomerRemainingPerformanceObligation_lbl_62d22c" xml:lang="en-US">Remaining performance obligation</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_RevenueFromContractWithCustomerIncreaseDecrease" xlink:label="clwt_RevenueFromContractWithCustomerIncreaseDecrease" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_RevenueFromContractWithCustomerIncreaseDecrease" xlink:to="clwt_RevenueFromContractWithCustomerIncreaseDecrease_lbl_6d1afe" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_RevenueFromContractWithCustomerIncreaseDecrease_lbl_6d1afe" xml:lang="en-US">Revenue from Contract with Customer, Increase (Decrease)</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ConcentrationPercentage" xlink:label="clwt_ConcentrationPercentage" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_ConcentrationPercentage" xlink:to="clwt_ConcentrationPercentage_lbl_ed1562" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_ConcentrationPercentage_lbl_ed1562" xml:lang="en-US">Concentration percentage</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductOrServiceAxis_lbl_dfee66" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ProductOrServiceAxis_lbl_dfee66" xml:lang="en-US">Product Or Service Axis</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_TradingsAndManufacturingMember" xlink:label="clwt_TradingsAndManufacturingMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_TradingsAndManufacturingMember" xlink:to="clwt_TradingsAndManufacturingMember_lbl_ff737f" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_TradingsAndManufacturingMember_lbl_ff737f" xml:lang="en-US">Trading and Manufacturing</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_EngineeringsMember" xlink:to="clwt_EngineeringsMember_lbl_4ff31b" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="clwt_EngineeringsMember_lbl_4ff31b" xml:lang="en-US">Engineering</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_EngineeringsMember" xlink:label="clwt_EngineeringsMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_EngineeringsMember" xlink:to="clwt_EngineeringsMember_lbl_23" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_EngineeringsMember_lbl_23" xml:lang="en-US">[Engineering 2]</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_UnallocatedCorporateExpensessMember" xlink:label="clwt_UnallocatedCorporateExpensessMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_UnallocatedCorporateExpensessMember" xlink:to="clwt_UnallocatedCorporateExpensessMember_lbl_9d6761" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_UnallocatedCorporateExpensessMember_lbl_9d6761" xml:lang="en-US">Unallocated Corporate Expenses</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Revenues" xlink:to="us-gaap_Revenues_lbl_bf4d65" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_Revenues_lbl_bf4d65" xml:lang="en-US">Revenue</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_OperatingIncomeLoss_lbl_658c35" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OperatingIncomeLoss_lbl_658c35" xml:lang="en-US">Operating income / (loss)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Depreciation" xlink:to="us-gaap_Depreciation_lbl_e56de7" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_Depreciation_lbl_e56de7" xml:lang="en-US">Depreciation</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CapitalExpendituresGross" xlink:label="clwt_CapitalExpendituresGross" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_CapitalExpendituresGross" xlink:to="clwt_CapitalExpendituresGross_lbl_19ebf8" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_CapitalExpendituresGross_lbl_19ebf8" xml:lang="en-US">Capital expenditures, gross</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Assets_lbl_82baec" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_Assets_lbl_82baec" xml:lang="en-US">Assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_Liabilities_lbl_907305" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_Liabilities_lbl_907305" xml:lang="en-US">Liabilities</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ThePRCsMember" xlink:label="clwt_ThePRCsMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_ThePRCsMember" xlink:to="clwt_ThePRCsMember_lbl_a07fc7" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_ThePRCsMember_lbl_a07fc7" xml:lang="en-US">The PRC</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_HongKongsMember" xlink:label="clwt_HongKongsMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_HongKongsMember" xlink:to="clwt_HongKongsMember_lbl_9a14bf" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_HongKongsMember_lbl_9a14bf" xml:lang="en-US">Hong Kong</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OthersGeographicAreaMember" xlink:label="clwt_OthersGeographicAreaMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_OthersGeographicAreaMember" xlink:to="clwt_OthersGeographicAreaMember_lbl_88b77f" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_OthersGeographicAreaMember_lbl_88b77f" xml:lang="en-US">Others</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_GeographicalAnalysisOfLonglivedAssets" xlink:label="clwt_GeographicalAnalysisOfLonglivedAssets" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_GeographicalAnalysisOfLonglivedAssets" xlink:to="clwt_GeographicalAnalysisOfLonglivedAssets_lbl_af701a" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_GeographicalAnalysisOfLonglivedAssets_lbl_af701a" xml:lang="en-US">Geographical analysis of long-lived assets</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_SuppliersAMember" xlink:label="clwt_SuppliersAMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_SuppliersAMember" xlink:to="clwt_SuppliersAMember_lbl_f0a14f" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_SuppliersAMember_lbl_f0a14f" xml:lang="en-US">Supplier A</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_SuppliersBMember" xlink:label="clwt_SuppliersBMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_SuppliersBMember" xlink:to="clwt_SuppliersBMember_lbl_f41ca1" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_SuppliersBMember_lbl_f41ca1" xml:lang="en-US">Supplier B</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_SuppliersCMember" xlink:label="clwt_SuppliersCMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_SuppliersCMember" xlink:to="clwt_SuppliersCMember_lbl_e6d776" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_SuppliersCMember_lbl_e6d776" xml:lang="en-US">Supplier C</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_SuppliersDMember" xlink:label="clwt_SuppliersDMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_SuppliersDMember" xlink:to="clwt_SuppliersDMember_lbl_c411c7" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_SuppliersDMember_lbl_c411c7" xml:lang="en-US">Supplier D</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_SuppliersEMember" xlink:label="clwt_SuppliersEMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_SuppliersEMember" xlink:to="clwt_SuppliersEMember_lbl_cb1862" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_SuppliersEMember_lbl_cb1862" xml:lang="en-US">Supplier E</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_SuppliersFMember" xlink:label="clwt_SuppliersFMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_SuppliersFMember" xlink:to="clwt_SuppliersFMember_lbl_75f65d" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_SuppliersFMember_lbl_75f65d" xml:lang="en-US">Supplier F</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskSupplier" xlink:label="us-gaap_ConcentrationRiskSupplier" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskSupplier" xlink:to="us-gaap_ConcentrationRiskSupplier_lbl_309b45" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskSupplier_lbl_309b45" xml:lang="en-US">Supplier accounting for more than 5% of Group's purchases</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CustomerDMember" xlink:label="clwt_CustomerDMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_CustomerDMember" xlink:to="clwt_CustomerDMember_lbl_1cf446" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_CustomerDMember_lbl_1cf446" xml:lang="en-US">Customer D</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CustomerEMember" xlink:label="clwt_CustomerEMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_CustomerEMember" xlink:to="clwt_CustomerEMember_lbl_852cc6" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_CustomerEMember_lbl_852cc6" xml:lang="en-US">Customer E</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CustomersCMember" xlink:label="clwt_CustomersCMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_CustomersCMember" xlink:to="clwt_CustomersCMember_lbl_6dc1a7" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_CustomersCMember_lbl_6dc1a7" xml:lang="en-US">Customer C</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CustomersBMember" xlink:label="clwt_CustomersBMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_CustomersBMember" xlink:to="clwt_CustomersBMember_lbl_6cb357" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_CustomersBMember_lbl_6cb357" xml:lang="en-US">Customer B</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CustomersAMember" xlink:label="clwt_CustomersAMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_CustomersAMember" xlink:to="clwt_CustomersAMember_lbl_5ca983" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_CustomersAMember_lbl_5ca983" xml:lang="en-US">Customer A</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CustomerFMember" xlink:label="clwt_CustomerFMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_CustomerFMember" xlink:to="clwt_CustomerFMember_lbl_a9fafd" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_CustomerFMember_lbl_a9fafd" xml:lang="en-US">Customer F</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CustomerGMember" xlink:label="clwt_CustomerGMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_CustomerGMember" xlink:to="clwt_CustomerGMember_lbl_167a75" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_CustomerGMember_lbl_167a75" xml:lang="en-US">Customer G</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CustomerHMember" xlink:label="clwt_CustomerHMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_CustomerHMember" xlink:to="clwt_CustomerHMember_lbl_406f4c" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_CustomerHMember_lbl_406f4c" xml:lang="en-US">Customer H</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CustomerIMember" xlink:label="clwt_CustomerIMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_CustomerIMember" xlink:to="clwt_CustomerIMember_lbl_071c14" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_CustomerIMember_lbl_071c14" xml:lang="en-US">Customer I</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskCustomer" xlink:label="us-gaap_ConcentrationRiskCustomer" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskCustomer" xlink:to="us-gaap_ConcentrationRiskCustomer_lbl_4bab45" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskCustomer_lbl_4bab45" xml:lang="en-US">Customers accounting for more than 5% of the Group's revenue</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseCost" xlink:label="us-gaap_OperatingLeaseCost" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseCost" xlink:to="us-gaap_OperatingLeaseCost_lbl_9b6ac2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseCost_lbl_9b6ac2" xml:lang="en-US">Operating lease cost</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermLeaseCost" xlink:label="us-gaap_ShortTermLeaseCost" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermLeaseCost" xlink:to="us-gaap_ShortTermLeaseCost_lbl_2efa28" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShortTermLeaseCost_lbl_2efa28" xml:lang="en-US">Short-term lease cost</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseInterestExpense" xlink:label="us-gaap_FinanceLeaseInterestExpense" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseInterestExpense" xlink:to="us-gaap_FinanceLeaseInterestExpense_lbl_14d923" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseInterestExpense_lbl_14d923" xml:lang="en-US">Interest on lease liabilities included under cost of revenue and 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_FinanceLeaseRightOfUseAssetAmortization" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetAmortization" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:to="us-gaap_FinanceLeaseRightOfUseAssetAmortization_lbl_1c115f" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinanceLeaseRightOfUseAssetAmortization_lbl_1c115f" xml:lang="en-US">Amortization of right-of-use assets</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_TotalOperatingLeaseCost" xlink:label="clwt_TotalOperatingLeaseCost" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_TotalOperatingLeaseCost" xlink:to="clwt_TotalOperatingLeaseCost_lbl_1edf1f" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_TotalOperatingLeaseCost_lbl_1edf1f" xml:lang="en-US">Total operating lease cost</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseCost" xlink:label="us-gaap_LeaseCost" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseCost" xlink:to="us-gaap_LeaseCost_lbl_c9c90e" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LeaseCost_lbl_c9c90e" xml:lang="en-US">Total lease cost</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeasePayments" xlink:to="us-gaap_OperatingLeasePayments_lbl_6ba30b" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeasePayments_lbl_6ba30b" xml:lang="en-US">Operating cash flows from operating leases</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_FinanceLeasePayments" xlink:label="clwt_FinanceLeasePayments" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_FinanceLeasePayments" xlink:to="clwt_FinanceLeasePayments_lbl_3ae26e" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_FinanceLeasePayments_lbl_3ae26e" xml:lang="en-US">Finance cash flows from finance leases</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:to="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_lbl_b33a4e" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_lbl_b33a4e" xml:lang="en-US">Right-of-use assets obtained in exchange for lease obligations (noncash):</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_lbl_91ee39" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_lbl_91ee39" xml:lang="en-US">Finite-Lived Intangible Assets by Major Class [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_LeaseObligationsMember" xlink:to="clwt_LeaseObligationsMember_lbl_fd7974" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="clwt_LeaseObligationsMember_lbl_fd7974" xml:lang="en-US">Lease obligations</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_LeaseObligationsMember" xlink:label="clwt_LeaseObligationsMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_LeaseObligationsMember" xlink:to="clwt_LeaseObligationsMember_lbl_33" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_LeaseObligationsMember_lbl_33" xml:lang="en-US">[Lease obligations]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_lbl_a111e1" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_lbl_a111e1" xml:lang="en-US">Operating lease right-of-use assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityCurrent" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_lbl_356f53" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_lbl_356f53" xml:lang="en-US">Current portion of long-term operating lease obligations</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl_975073" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl_975073" xml:lang="en-US">Long-term operating lease obligations, net of current maturities</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiability_lbl_2a3a03" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiability_lbl_2a3a03" xml:lang="en-US">Total operating lease liabilities</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_WeightedAverageRemainingLeaseTermOperatingLeases" xlink:label="clwt_WeightedAverageRemainingLeaseTermOperatingLeases" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_WeightedAverageRemainingLeaseTermOperatingLeases" xlink:to="clwt_WeightedAverageRemainingLeaseTermOperatingLeases_lbl_34b691" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_WeightedAverageRemainingLeaseTermOperatingLeases_lbl_34b691" xml:lang="en-US">Weighted average remaining lease 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_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:to="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl_abe3a0" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl_abe3a0" xml:lang="en-US">Weighted average discount rate : operating leases</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl_48a8bc" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl_48a8bc" xml:lang="en-US">Accumulated depreciation and impairment losses</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl_8" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl_8" xml:lang="en-US">[Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_lbl_029745" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl_029745" xml:lang="en-US">Property, plant 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_OperatingLeasesFutureMinimumPaymentsDueCurrent" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueCurrent" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeasesFutureMinimumPaymentsDueCurrent" xlink:to="us-gaap_OperatingLeasesFutureMinimumPaymentsDueCurrent_lbl_be704b" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueCurrent_lbl_be704b" xml:lang="en-US">Year ending December 31, 2025</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears" xlink:to="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears_lbl_787da9" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears_lbl_787da9" 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_OperatingLeasesFutureMinimumPaymentsDue" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDue" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeasesFutureMinimumPaymentsDue" xlink:to="us-gaap_OperatingLeasesFutureMinimumPaymentsDue_lbl_b341c9" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeasesFutureMinimumPaymentsDue_lbl_b341c9" xml:lang="en-US">Total lease payments</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl_e71bb8" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl_e71bb8" xml:lang="en-US">Less: imputed interest</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl_5" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl_5" xml:lang="en-US">[Lessee, Operating Lease, Liability, Undiscounted Excess Amount]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiability_lbl_845fca" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OperatingLeaseLiability_lbl_845fca" 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_AmortizationOfLeasedAsset" xlink:label="us-gaap_AmortizationOfLeasedAsset" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AmortizationOfLeasedAsset" xlink:to="us-gaap_AmortizationOfLeasedAsset_lbl_73c060" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AmortizationOfLeasedAsset_lbl_73c060" xml:lang="en-US">Amortization expenses</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableGross" xlink:label="us-gaap_AccountsReceivableGross" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableGross" xlink:to="us-gaap_AccountsReceivableGross_lbl_cafd81" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableGross_lbl_cafd81" xml:lang="en-US">Contract receivables</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivable_lbl_04242b" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivable_lbl_04242b" xml:lang="en-US">Less: allowance for doubtful accounts</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivable" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivable_lbl_3" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivable_lbl_3" xml:lang="en-US">[Accounts Receivable, Allowance for Credit Loss]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNet" xlink:to="us-gaap_AccountsReceivableNet_lbl_75020f" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AccountsReceivableNet_lbl_75020f" xml:lang="en-US">Accounts receivable, net</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivable_lbl_f2f81a" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivable_lbl_f2f81a" xml:lang="en-US">Balance at 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_AllowanceForDoubtfulAccountsReceivablePeriodIncreaseDecrease" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivablePeriodIncreaseDecrease" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsReceivablePeriodIncreaseDecrease" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivablePeriodIncreaseDecrease_lbl_06ef8c" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivablePeriodIncreaseDecrease_lbl_06ef8c" xml:lang="en-US">Add: provision for allowances</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ReversalOfProvisionForDoubtfulAccounts" xlink:label="clwt_ReversalOfProvisionForDoubtfulAccounts" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_ReversalOfProvisionForDoubtfulAccounts" xlink:to="clwt_ReversalOfProvisionForDoubtfulAccounts_lbl_d66a86" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_ReversalOfProvisionForDoubtfulAccounts_lbl_d66a86" xml:lang="en-US">Less: reversal of provision for doubtful accounts</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_lbl_99b16a" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_lbl_99b16a" xml:lang="en-US">Less: write-off of doubtful accounts</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_lbl_5" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs_lbl_5" xml:lang="en-US">[Accounts Receivable, Allowance for Credit Loss, Writeoff]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivable_lbl_3d3376" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivable_lbl_3d3376" xml:lang="en-US">Balance at end 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_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis" xlink:label="us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis" xlink:to="us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis_lbl_4ec895" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis_lbl_4ec895" xml:lang="en-US">Accounts Notes Loans And Financing Receivable By Receivable Type Axis</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CurrentsMember" xlink:label="clwt_CurrentsMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_CurrentsMember" xlink:to="clwt_CurrentsMember_lbl_12120e" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_CurrentsMember_lbl_12120e" xml:lang="en-US">Current</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OneMonthsPastDueMember" xlink:label="clwt_OneMonthsPastDueMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_OneMonthsPastDueMember" xlink:to="clwt_OneMonthsPastDueMember_lbl_f19345" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_OneMonthsPastDueMember_lbl_f19345" xml:lang="en-US">1 - 30 Days Past Due</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OneToTwoMonthPastDueMember" xlink:label="clwt_OneToTwoMonthPastDueMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_OneToTwoMonthPastDueMember" xlink:to="clwt_OneToTwoMonthPastDueMember_lbl_9693a6" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_OneToTwoMonthPastDueMember_lbl_9693a6" xml:lang="en-US">31 - 60 Days Past Due</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ThreeMonthPastDueMember" xlink:label="clwt_ThreeMonthPastDueMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_ThreeMonthPastDueMember" xlink:to="clwt_ThreeMonthPastDueMember_lbl_3336d5" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_ThreeMonthPastDueMember_lbl_3336d5" xml:lang="en-US">61 - 90 Days Past Due</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_MoreThanThreeMonthPastDueMember" xlink:label="clwt_MoreThanThreeMonthPastDueMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_MoreThanThreeMonthPastDueMember" xlink:to="clwt_MoreThanThreeMonthPastDueMember_lbl_0e0e39" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_MoreThanThreeMonthPastDueMember_lbl_0e0e39" xml:lang="en-US">Greater Than or Equal to 91 Days</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_PastDuesMember" xlink:label="clwt_PastDuesMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_PastDuesMember" xlink:to="clwt_PastDuesMember_lbl_b92448" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_PastDuesMember_lbl_b92448" xml:lang="en-US">Past Due</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_WithinOneYearMember" xlink:label="clwt_WithinOneYearMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_WithinOneYearMember" xlink:to="clwt_WithinOneYearMember_lbl_6e9a1a" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_WithinOneYearMember_lbl_6e9a1a" xml:lang="en-US">Within 1 year</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OneYearToTwoYearMember" xlink:label="clwt_OneYearToTwoYearMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_OneYearToTwoYearMember" xlink:to="clwt_OneYearToTwoYearMember_lbl_ce7150" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_OneYearToTwoYearMember_lbl_ce7150" xml:lang="en-US">1year - 2 years Member</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_TwoYearToThreeYearMember" xlink:label="clwt_TwoYearToThreeYearMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_TwoYearToThreeYearMember" xlink:to="clwt_TwoYearToThreeYearMember_lbl_a61506" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_TwoYearToThreeYearMember_lbl_a61506" xml:lang="en-US">2years - 3 years Member</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ThreeYearsToFourYearMember" xlink:label="clwt_ThreeYearsToFourYearMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_ThreeYearsToFourYearMember" xlink:to="clwt_ThreeYearsToFourYearMember_lbl_0ca428" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_ThreeYearsToFourYearMember_lbl_0ca428" xml:lang="en-US">3years - 4 years Member</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_FourYearsToFiveYearsMember" xlink:label="clwt_FourYearsToFiveYearsMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_FourYearsToFiveYearsMember" xlink:to="clwt_FourYearsToFiveYearsMember_lbl_c35ed6" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_FourYearsToFiveYearsMember_lbl_c35ed6" xml:lang="en-US">4years - 5 years Member</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OverfiveYearsMember" xlink:label="clwt_OverfiveYearsMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_OverfiveYearsMember" xlink:to="clwt_OverfiveYearsMember_lbl_e6bbfc" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_OverfiveYearsMember_lbl_e6bbfc" xml:lang="en-US">Over five Years</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_AllowanceForDoubtfulAccountsReceivables" xlink:to="clwt_AllowanceForDoubtfulAccountsReceivables_lbl_8303f1" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="clwt_AllowanceForDoubtfulAccountsReceivables_lbl_8303f1" xml:lang="en-US">Less: allowance for doubtful accounts</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_AllowanceForDoubtfulAccountsReceivables" xlink:label="clwt_AllowanceForDoubtfulAccountsReceivables" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_AllowanceForDoubtfulAccountsReceivables" xlink:to="clwt_AllowanceForDoubtfulAccountsReceivables_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_AllowanceForDoubtfulAccountsReceivables_lbl_2" xml:lang="en-US">[Less: allowance for doubtful accounts]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNet" xlink:to="us-gaap_AccountsReceivableNet_lbl_b37582" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_AccountsReceivableNet_lbl_b37582" 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_DepositAssets" xlink:label="us-gaap_DepositAssets" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepositAssets" xlink:to="us-gaap_DepositAssets_lbl_d1d234" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DepositAssets_lbl_d1d234" xml:lang="en-US">Deposits paid</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidExpenseCurrentAndNoncurrent" xlink:label="us-gaap_PrepaidExpenseCurrentAndNoncurrent" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrepaidExpenseCurrentAndNoncurrent" xlink:to="us-gaap_PrepaidExpenseCurrentAndNoncurrent_lbl_890b83" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PrepaidExpenseCurrentAndNoncurrent_lbl_890b83" xml:lang="en-US">Prepayments</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherReceivables" xlink:label="us-gaap_OtherReceivables" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherReceivables" xlink:to="us-gaap_OtherReceivables_lbl_5c836a" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherReceivables_lbl_5c836a" xml:lang="en-US">Other receivables</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_DepositsPaidForBiddingProjectsAndTemporaryPayments" xlink:label="clwt_DepositsPaidForBiddingProjectsAndTemporaryPayments" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_DepositsPaidForBiddingProjectsAndTemporaryPayments" xlink:to="clwt_DepositsPaidForBiddingProjectsAndTemporaryPayments_lbl_108d58" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_DepositsPaidForBiddingProjectsAndTemporaryPayments_lbl_108d58" xml:lang="en-US">Deposits paid for bidding projects and temporary payments</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_IncomeTaxRecoverable" xlink:label="clwt_IncomeTaxRecoverable" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_IncomeTaxRecoverable" xlink:to="clwt_IncomeTaxRecoverable_lbl_3a3055" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_IncomeTaxRecoverable_lbl_3a3055" xml:lang="en-US">Income tax recoverable</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OtherTaxRecoverable" xlink:label="clwt_OtherTaxRecoverable" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_OtherTaxRecoverable" xlink:to="clwt_OtherTaxRecoverable_lbl_df8c26" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_OtherTaxRecoverable_lbl_df8c26" xml:lang="en-US">Other tax recoverable</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsCurrent" xlink:label="us-gaap_OtherAssetsCurrent" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssetsCurrent" xlink:to="us-gaap_OtherAssetsCurrent_lbl_c41a5a" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherAssetsCurrent_lbl_c41a5a" xml:lang="en-US">Other current assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrepaidExpenseAndOtherAssets" xlink:to="us-gaap_PrepaidExpenseAndOtherAssets_lbl_47281a" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_PrepaidExpenseAndOtherAssets_lbl_47281a" xml:lang="en-US">Prepayments 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_PrepaidExpenseAndOtherAssets" xlink:label="us-gaap_PrepaidExpenseAndOtherAssets" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrepaidExpenseAndOtherAssets" xlink:to="us-gaap_PrepaidExpenseAndOtherAssets_lbl_9" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PrepaidExpenseAndOtherAssets_lbl_9" xml:lang="en-US">[Prepaid Expense and 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_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis" xlink:label="us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis" xlink:to="us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis_lbl_23e402" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis_lbl_23e402" xml:lang="en-US">Billing Status, 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_UnbilledRevenuesMember" xlink:label="us-gaap_UnbilledRevenuesMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnbilledRevenuesMember" xlink:to="us-gaap_UnbilledRevenuesMember_lbl_90b2c5" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnbilledRevenuesMember_lbl_90b2c5" xml:lang="en-US">Unbilled revenue</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerAssetNet" xlink:to="us-gaap_ContractWithCustomerAssetNet_lbl_0c76de" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ContractWithCustomerAssetNet_lbl_0c76de" xml:lang="en-US">Contract assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredRevenue" xlink:to="us-gaap_DeferredRevenue_lbl_ba9a04" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DeferredRevenue_lbl_ba9a04" 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_DeferredRevenue" xlink:label="us-gaap_DeferredRevenue" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredRevenue" xlink:to="us-gaap_DeferredRevenue_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredRevenue_lbl_2" xml:lang="en-US">[Deferred Revenue]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerAssetNet" xlink:to="us-gaap_ContractWithCustomerAssetNet_lbl_4d1286" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_ContractWithCustomerAssetNet_lbl_4d1286" xml:lang="en-US">Contract assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiability" xlink:to="us-gaap_ContractWithCustomerLiability_lbl_1120b1" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ContractWithCustomerLiability_lbl_1120b1" xml:lang="en-US">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_ContractWithCustomerLiability" xlink:label="us-gaap_ContractWithCustomerLiability" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiability" xlink:to="us-gaap_ContractWithCustomerLiability_lbl_3" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerLiability_lbl_3" xml:lang="en-US">[Contract with Customer, Liability]</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ContractWithCustomerAssetLiabilityNet" xlink:label="clwt_ContractWithCustomerAssetLiabilityNet" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_ContractWithCustomerAssetLiabilityNet" xlink:to="clwt_ContractWithCustomerAssetLiabilityNet_lbl_89192b" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_ContractWithCustomerAssetLiabilityNet_lbl_89192b" xml:lang="en-US">Net contract (liabilities) / assets</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CostsIncurredInContractsInProcess" xlink:label="clwt_CostsIncurredInContractsInProcess" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_CostsIncurredInContractsInProcess" xlink:to="clwt_CostsIncurredInContractsInProcess_lbl_2d2846" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_CostsIncurredInContractsInProcess_lbl_2d2846" xml:lang="en-US">Costs incurred in contracts in process</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_RevenueEarnedButNotYetBilled" xlink:label="clwt_RevenueEarnedButNotYetBilled" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_RevenueEarnedButNotYetBilled" xlink:to="clwt_RevenueEarnedButNotYetBilled_lbl_3e660d" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_RevenueEarnedButNotYetBilled_lbl_3e660d" xml:lang="en-US">Revenue earned but not yet billed</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CostsAndEstimatedEarningsOnUncompletedContracts" xlink:label="clwt_CostsAndEstimatedEarningsOnUncompletedContracts" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_CostsAndEstimatedEarningsOnUncompletedContracts" xlink:to="clwt_CostsAndEstimatedEarningsOnUncompletedContracts_lbl_8ffb04" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_CostsAndEstimatedEarningsOnUncompletedContracts_lbl_8ffb04" xml:lang="en-US">Costs and estimated earnings on uncompleted contracts</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_BillingsToDate" xlink:to="clwt_BillingsToDate_lbl_53864c" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="clwt_BillingsToDate_lbl_53864c" xml:lang="en-US">Less: billings to date</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_BillingsToDate" xlink:label="clwt_BillingsToDate" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_BillingsToDate" xlink:to="clwt_BillingsToDate_lbl_5" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_BillingsToDate_lbl_5" xml:lang="en-US">[Less: billings to date]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_CostsAndEstimatedEarningsOnUncompletedContractsInExcessOfBillingsUnbilledRevenue" xlink:to="clwt_CostsAndEstimatedEarningsOnUncompletedContractsInExcessOfBillingsUnbilledRevenue_lbl_ba3eda" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="clwt_CostsAndEstimatedEarningsOnUncompletedContractsInExcessOfBillingsUnbilledRevenue_lbl_ba3eda" xml:lang="en-US">Unbilled revenue</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CostsAndEstimatedEarningsOnUncompletedContractsInExcessOfBillingsUnbilledRevenue" xlink:label="clwt_CostsAndEstimatedEarningsOnUncompletedContractsInExcessOfBillingsUnbilledRevenue" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_CostsAndEstimatedEarningsOnUncompletedContractsInExcessOfBillingsUnbilledRevenue" xlink:to="clwt_CostsAndEstimatedEarningsOnUncompletedContractsInExcessOfBillingsUnbilledRevenue_lbl_6" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_CostsAndEstimatedEarningsOnUncompletedContractsInExcessOfBillingsUnbilledRevenue_lbl_6" xml:lang="en-US">[Unbilled revenue]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnbilledRevenuesMember" xlink:to="us-gaap_UnbilledRevenuesMember_lbl_787a9c" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_UnbilledRevenuesMember_lbl_787a9c" xml:lang="en-US">Unbilled revenue</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BilledRevenuesMember" xlink:to="us-gaap_BilledRevenuesMember_lbl_0a6b72" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_BilledRevenuesMember_lbl_0a6b72" 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_BilledRevenuesMember" xlink:label="us-gaap_BilledRevenuesMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BilledRevenuesMember" xlink:to="us-gaap_BilledRevenuesMember_lbl_24" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BilledRevenuesMember_lbl_24" xml:lang="en-US">Billed Revenues [Member]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerAssetGross" xlink:label="us-gaap_ContractWithCustomerAssetGross" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerAssetGross" xlink:to="us-gaap_ContractWithCustomerAssetGross_lbl_b87339" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerAssetGross_lbl_b87339" xml:lang="en-US">Gross contract assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss" xlink:to="us-gaap_ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss_lbl_1adb89" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss_lbl_1adb89" xml:lang="en-US">Less: allowance for doubtful accounts</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss" xlink:label="us-gaap_ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss" xlink:to="us-gaap_ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss_lbl_3" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss_lbl_3" xml:lang="en-US">[Contract with Customer, Asset, Allowance for Credit Loss]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_ContractWithCustomerAssetLiabilityNet" xlink:to="clwt_ContractWithCustomerAssetLiabilityNet_lbl_300c14" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="clwt_ContractWithCustomerAssetLiabilityNet_lbl_300c14" xml:lang="en-US">Net contract liabilities</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ContractWithCustomerTradingAndManufacturing" xlink:label="clwt_ContractWithCustomerTradingAndManufacturing" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_ContractWithCustomerTradingAndManufacturing" xlink:to="clwt_ContractWithCustomerTradingAndManufacturing_lbl_ed0b7d" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_ContractWithCustomerTradingAndManufacturing_lbl_ed0b7d" xml:lang="en-US">Trading and manufacturing (revenue recognized at point in time)</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ContractWithCustomerEngineering" xlink:label="clwt_ContractWithCustomerEngineering" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_ContractWithCustomerEngineering" xlink:to="clwt_ContractWithCustomerEngineering_lbl_76f8ec" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_ContractWithCustomerEngineering_lbl_76f8ec" xml:lang="en-US">Engineering (revenue recognized over time)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_lbl_4289a9" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_lbl_4289a9" xml:lang="en-US">Revenue</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:to="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_lbl_4" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax_lbl_4" xml:lang="en-US">[Revenue from Contract with Customer, Including Assessed Tax]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:to="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_lbl_346f79" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_lbl_346f79" xml:lang="en-US">Contract liability 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_InventoryRawMaterialsNetOfReserves" xlink:label="us-gaap_InventoryRawMaterialsNetOfReserves" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryRawMaterialsNetOfReserves" xlink:to="us-gaap_InventoryRawMaterialsNetOfReserves_lbl_26ad0a" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryRawMaterialsNetOfReserves_lbl_26ad0a" xml:lang="en-US">Raw materials</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryWorkInProcessNetOfReserves" xlink:to="us-gaap_InventoryWorkInProcessNetOfReserves_lbl_a49931" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves_lbl_a49931" xml:lang="en-US">Work 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_InventoryFinishedGoodsNetOfReserves" xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:to="us-gaap_InventoryFinishedGoodsNetOfReserves_lbl_e0ebfc" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves_lbl_e0ebfc" xml:lang="en-US">Finished goods</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryNet_lbl_747f3e" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InventoryNet_lbl_747f3e" xml:lang="en-US">Inventory, net</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryWriteDown" xlink:label="us-gaap_InventoryWriteDown" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryWriteDown" xlink:to="us-gaap_InventoryWriteDown_lbl_7859f8" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryWriteDown_lbl_7859f8" xml:lang="en-US">Write-down of inventories</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherOwnershipInterestsValue" xlink:label="us-gaap_OtherOwnershipInterestsValue" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherOwnershipInterestsValue" xlink:to="us-gaap_OtherOwnershipInterestsValue_lbl_d0bf5f" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherOwnershipInterestsValue_lbl_d0bf5f" xml:lang="en-US">Other Ownership Interests</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BuildingsAndImprovementsGross" xlink:label="us-gaap_BuildingsAndImprovementsGross" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BuildingsAndImprovementsGross" xlink:to="us-gaap_BuildingsAndImprovementsGross_lbl_77023b" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BuildingsAndImprovementsGross_lbl_77023b" xml:lang="en-US">Building and leasehold improvements</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_BuildingsGross" xlink:label="clwt_BuildingsGross" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_BuildingsGross" xlink:to="clwt_BuildingsGross_lbl_0a322a" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_BuildingsGross_lbl_0a322a" xml:lang="en-US">Office premises</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseholdImprovementsGross" xlink:label="us-gaap_LeaseholdImprovementsGross" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseholdImprovementsGross" xlink:to="us-gaap_LeaseholdImprovementsGross_lbl_685019" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LeaseholdImprovementsGross_lbl_685019" xml:lang="en-US">Leasehold improvements</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FurnitureAndFixturesGross" xlink:to="us-gaap_FurnitureAndFixturesGross_lbl_48c288" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_FurnitureAndFixturesGross_lbl_48c288" xml:lang="en-US">Furniture, fixtures and office equipment</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FurnitureAndFixturesGross" xlink:label="us-gaap_FurnitureAndFixturesGross" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FurnitureAndFixturesGross" xlink:to="us-gaap_FurnitureAndFixturesGross_lbl_5" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FurnitureAndFixturesGross_lbl_5" xml:lang="en-US">[Furniture and Fixtures, Gross]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MachineryAndEquipmentGross" xlink:label="us-gaap_MachineryAndEquipmentGross" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MachineryAndEquipmentGross" xlink:to="us-gaap_MachineryAndEquipmentGross_lbl_36fc36" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MachineryAndEquipmentGross_lbl_36fc36" xml:lang="en-US">Motor vehicles</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_PlantAndMachineries" xlink:label="clwt_PlantAndMachineries" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_PlantAndMachineries" xlink:to="clwt_PlantAndMachineries_lbl_b8cf28" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_PlantAndMachineries_lbl_b8cf28" xml:lang="en-US">Plant and machineries</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentOther" xlink:label="us-gaap_PropertyPlantAndEquipmentOther" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentOther" xlink:to="us-gaap_PropertyPlantAndEquipmentOther_lbl_a3651b" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentOther_lbl_a3651b" xml:lang="en-US">Testing equipment</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentGross" xlink:to="us-gaap_PropertyPlantAndEquipmentGross_lbl_b66d2f" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentGross_lbl_b66d2f" xml:lang="en-US">Property, plant and equipment, gross</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_PropertyPlantsAndEquipmentGross" xlink:to="clwt_PropertyPlantsAndEquipmentGross_lbl_559f94" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="clwt_PropertyPlantsAndEquipmentGross_lbl_559f94" xml:lang="en-US">Property, plant and equipment, gross</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_PropertyPlantsAndEquipmentGross" xlink:label="clwt_PropertyPlantsAndEquipmentGross" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_PropertyPlantsAndEquipmentGross" xlink:to="clwt_PropertyPlantsAndEquipmentGross_lbl_10" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_PropertyPlantsAndEquipmentGross_lbl_10" xml:lang="en-US">[Property, plant and equipment, gross]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_Accumulated" xlink:to="clwt_Accumulated_lbl_b03dc2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="clwt_Accumulated_lbl_b03dc2" xml:lang="en-US">Accumulated</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_Accumulated" xlink:label="clwt_Accumulated" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_Accumulated" xlink:to="clwt_Accumulated_lbl_12" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_Accumulated_lbl_12" xml:lang="en-US">[Accumulated]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_lbl_e41088" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl_e41088" xml:lang="en-US">Property Plant 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_DepreciationDepletionAndAmortization" xlink:label="us-gaap_DepreciationDepletionAndAmortization" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepreciationDepletionAndAmortization" xlink:to="us-gaap_DepreciationDepletionAndAmortization_lbl_91fd0e" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DepreciationDepletionAndAmortization_lbl_91fd0e" xml:lang="en-US">Depreciation charge</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_PropertyInBeijingPRCMember" xlink:label="clwt_PropertyInBeijingPRCMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_PropertyInBeijingPRCMember" xlink:to="clwt_PropertyInBeijingPRCMember_lbl_2382fa" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_PropertyInBeijingPRCMember_lbl_2382fa" xml:lang="en-US">Property In Beijing, PRC Member</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_BankLoans" xlink:label="srt_BankLoans" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_BankLoans" xlink:to="srt_BankLoans_lbl_2842af" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_BankLoans_lbl_2842af" xml:lang="en-US">Bank loans</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedPatentsGross" xlink:label="us-gaap_FiniteLivedPatentsGross" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedPatentsGross" xlink:to="us-gaap_FiniteLivedPatentsGross_lbl_9431e3" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedPatentsGross_lbl_9431e3" xml:lang="en-US">Patents</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherFiniteLivedIntangibleAssetsGross" xlink:to="us-gaap_OtherFiniteLivedIntangibleAssetsGross_lbl_a8de9f" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OtherFiniteLivedIntangibleAssetsGross_lbl_a8de9f" xml:lang="en-US">Others</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherFiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_OtherFiniteLivedIntangibleAssetsGross" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherFiniteLivedIntangibleAssetsGross" xlink:to="us-gaap_OtherFiniteLivedIntangibleAssetsGross_lbl_3" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherFiniteLivedIntangibleAssetsGross_lbl_3" xml:lang="en-US">[Other Finite-Lived Intangible Assets, Gross]</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsGross" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross_lbl_3cfc78" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross_lbl_3cfc78" xml:lang="en-US">Intangible assets gross</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl_d0a30e" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl_d0a30e" xml:lang="en-US">Less: Accumulated amortization</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet_lbl_51dfb4" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_lbl_51dfb4" xml:lang="en-US">Net carrying amount</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AmortizationOfIntangibleAssets" xlink:to="us-gaap_AmortizationOfIntangibleAssets_lbl_3539e1" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AmortizationOfIntangibleAssets_lbl_3539e1" xml:lang="en-US">Amortization expense</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl_cf565d" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl_cf565d" xml:lang="en-US">2025</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl_851df6" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl_851df6" 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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl_3" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl_3" xml:lang="en-US">[Finite-Lived Intangible Asset, Expected Amortization, Year Two]</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl_5199fc" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl_5199fc" 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_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_lbl_42a28f" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_lbl_42a28f" 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_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_lbl_056a01" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_lbl_056a01" xml:lang="en-US">2029</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_lbl_b72ee2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_lbl_b72ee2" xml:lang="en-US">Thereafter</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_FiniteLivedIntangibleAssetsAmortizationExpense" xlink:to="clwt_FiniteLivedIntangibleAssetsAmortizationExpense_lbl_821c9c" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="clwt_FiniteLivedIntangibleAssetsAmortizationExpense_lbl_821c9c" xml:lang="en-US">Total</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_FiniteLivedIntangibleAssetsAmortizationExpense" xlink:label="clwt_FiniteLivedIntangibleAssetsAmortizationExpense" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_FiniteLivedIntangibleAssetsAmortizationExpense" xlink:to="clwt_FiniteLivedIntangibleAssetsAmortizationExpense_lbl_8" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_FiniteLivedIntangibleAssetsAmortizationExpense_lbl_8" xml:lang="en-US">[Total]</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_LandUseRightNetAbstract" xlink:label="clwt_LandUseRightNetAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_LandUseRightNetAbstract" xlink:to="clwt_LandUseRightNetAbstract_lbl_67627e" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_LandUseRightNetAbstract_lbl_67627e" xml:lang="en-US">Land use right net (Details)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedContractualRightsGross" xlink:label="us-gaap_FiniteLivedContractualRightsGross" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedContractualRightsGross" xlink:to="us-gaap_FiniteLivedContractualRightsGross_lbl_5ce7df" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FiniteLivedContractualRightsGross_lbl_5ce7df" xml:lang="en-US">Land use right, gross</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_LandUseRightAccumulatedAmortisation" xlink:label="clwt_LandUseRightAccumulatedAmortisation" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_LandUseRightAccumulatedAmortisation" xlink:to="clwt_LandUseRightAccumulatedAmortisation_lbl_24aecd" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_LandUseRightAccumulatedAmortisation_lbl_24aecd" xml:lang="en-US">Less: accumulated amortization</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_FiniteLivedIntangibleAssetContractualRightNetLandUseRight" xlink:to="clwt_FiniteLivedIntangibleAssetContractualRightNetLandUseRight_lbl_f4f273" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="clwt_FiniteLivedIntangibleAssetContractualRightNetLandUseRight_lbl_f4f273" xml:lang="en-US">Land use right, net</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_FiniteLivedIntangibleAssetContractualRightNetLandUseRight" xlink:label="clwt_FiniteLivedIntangibleAssetContractualRightNetLandUseRight" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_FiniteLivedIntangibleAssetContractualRightNetLandUseRight" xlink:to="clwt_FiniteLivedIntangibleAssetContractualRightNetLandUseRight_lbl_4" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_FiniteLivedIntangibleAssetContractualRightNetLandUseRight_lbl_4" xml:lang="en-US">[Land use right, net 2]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccretionExpense" xlink:to="us-gaap_AccretionExpense_lbl_8f044f" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AccretionExpense_lbl_8f044f" xml:lang="en-US">Amortization expense</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccretionExpense" xlink:label="us-gaap_AccretionExpense" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccretionExpense" xlink:to="us-gaap_AccretionExpense_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccretionExpense_lbl_2" xml:lang="en-US">[Accretion Expense]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_LandUseRightAmortizationExpenseYearTwo" xlink:to="clwt_LandUseRightAmortizationExpenseYearTwo_lbl_a8e5aa" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="clwt_LandUseRightAmortizationExpenseYearTwo_lbl_a8e5aa" xml:lang="en-US">2025</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_LandUseRightAmortizationExpenseYearTwo" xlink:label="clwt_LandUseRightAmortizationExpenseYearTwo" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_LandUseRightAmortizationExpenseYearTwo" xlink:to="clwt_LandUseRightAmortizationExpenseYearTwo_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_LandUseRightAmortizationExpenseYearTwo_lbl_2" xml:lang="en-US">[2025]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_LandUseRightAmortizationExpenseNextTwelveMonths" xlink:to="clwt_LandUseRightAmortizationExpenseNextTwelveMonths_lbl_c57bb3" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="clwt_LandUseRightAmortizationExpenseNextTwelveMonths_lbl_c57bb3" xml:lang="en-US">2026</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_LandUseRightAmortizationExpenseNextTwelveMonths" xlink:label="clwt_LandUseRightAmortizationExpenseNextTwelveMonths" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_LandUseRightAmortizationExpenseNextTwelveMonths" xlink:to="clwt_LandUseRightAmortizationExpenseNextTwelveMonths_lbl_3" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_LandUseRightAmortizationExpenseNextTwelveMonths_lbl_3" xml:lang="en-US">[2026]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_LandUseRightAmortizationExpenseYearThree" xlink:to="clwt_LandUseRightAmortizationExpenseYearThree_lbl_0f4c18" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="clwt_LandUseRightAmortizationExpenseYearThree_lbl_0f4c18" xml:lang="en-US">2027</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_LandUseRightAmortizationExpenseYearThree" xlink:label="clwt_LandUseRightAmortizationExpenseYearThree" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_LandUseRightAmortizationExpenseYearThree" xlink:to="clwt_LandUseRightAmortizationExpenseYearThree_lbl_4" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_LandUseRightAmortizationExpenseYearThree_lbl_4" xml:lang="en-US">[2027]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_LandUseRightAmortizationExpenseYearFour" xlink:to="clwt_LandUseRightAmortizationExpenseYearFour_lbl_28aa33" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="clwt_LandUseRightAmortizationExpenseYearFour_lbl_28aa33" xml:lang="en-US">2028</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_LandUseRightAmortizationExpenseYearFour" xlink:label="clwt_LandUseRightAmortizationExpenseYearFour" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_LandUseRightAmortizationExpenseYearFour" xlink:to="clwt_LandUseRightAmortizationExpenseYearFour_lbl_5" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_LandUseRightAmortizationExpenseYearFour_lbl_5" xml:lang="en-US">[2028]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_LandUseRightAmortizationExpenseYearFive" xlink:to="clwt_LandUseRightAmortizationExpenseYearFive_lbl_cdc0ac" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="clwt_LandUseRightAmortizationExpenseYearFive_lbl_cdc0ac" xml:lang="en-US">2029</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_LandUseRightAmortizationExpenseYearFive" xlink:label="clwt_LandUseRightAmortizationExpenseYearFive" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_LandUseRightAmortizationExpenseYearFive" xlink:to="clwt_LandUseRightAmortizationExpenseYearFive_lbl_6" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_LandUseRightAmortizationExpenseYearFive_lbl_6" xml:lang="en-US">[2029]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_LandUseRightAmortizationExpenseThereafter" xlink:to="clwt_LandUseRightAmortizationExpenseThereafter_lbl_1bd7a9" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="clwt_LandUseRightAmortizationExpenseThereafter_lbl_1bd7a9" xml:lang="en-US">Thereafter</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_LandUseRightAmortizationExpenseThereafter" xlink:label="clwt_LandUseRightAmortizationExpenseThereafter" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_LandUseRightAmortizationExpenseThereafter" xlink:to="clwt_LandUseRightAmortizationExpenseThereafter_lbl_7" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_LandUseRightAmortizationExpenseThereafter_lbl_7" xml:lang="en-US">[Thereafter]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_LandUseRightAmortizationExpense" xlink:to="clwt_LandUseRightAmortizationExpense_lbl_c15b02" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="clwt_LandUseRightAmortizationExpense_lbl_c15b02" xml:lang="en-US">Total</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_LandUseRightAmortizationExpense" xlink:label="clwt_LandUseRightAmortizationExpense" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_LandUseRightAmortizationExpense" xlink:to="clwt_LandUseRightAmortizationExpense_lbl_8" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_LandUseRightAmortizationExpense_lbl_8" xml:lang="en-US">[Total 1]</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_LandUseRightPledgedBankLoan" xlink:label="clwt_LandUseRightPledgedBankLoan" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_LandUseRightPledgedBankLoan" xlink:to="clwt_LandUseRightPledgedBankLoan_lbl_d0de09" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_LandUseRightPledgedBankLoan_lbl_d0de09" xml:lang="en-US">Land use right pledged bank loan</link:label>
    <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" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentAxis_lbl_7c100d" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentAxis_lbl_7c100d" xml:lang="en-US">Debt Instrument Axis</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_BankLoanBorrowedByTheCompanysMember" xlink:label="clwt_BankLoanBorrowedByTheCompanysMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_BankLoanBorrowedByTheCompanysMember" xlink:to="clwt_BankLoanBorrowedByTheCompanysMember_lbl_cd166e" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_BankLoanBorrowedByTheCompanysMember_lbl_cd166e" xml:lang="en-US">Bank Loan Borrowed by the Company</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_BankLoanBorrowedBySubsidiariesOfTheCompanysMember" xlink:label="clwt_BankLoanBorrowedBySubsidiariesOfTheCompanysMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_BankLoanBorrowedBySubsidiariesOfTheCompanysMember" xlink:to="clwt_BankLoanBorrowedBySubsidiariesOfTheCompanysMember_lbl_c56bb9" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_BankLoanBorrowedBySubsidiariesOfTheCompanysMember_lbl_c56bb9" xml:lang="en-US">Bank Loan Borrowed by Subsidiaries of the Company</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_BankLoans" xlink:to="srt_BankLoans_lbl_998537" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="srt_BankLoans_lbl_998537" xml:lang="en-US">Bank loan</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_BorrowedByTheCompanyMember" xlink:label="clwt_BorrowedByTheCompanyMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_BorrowedByTheCompanyMember" xlink:to="clwt_BorrowedByTheCompanyMember_lbl_15aeb3" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_BorrowedByTheCompanyMember_lbl_15aeb3" xml:lang="en-US">Borrowed By The Company</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_BorrowedBySubsidiariesCompanyMember" xlink:label="clwt_BorrowedBySubsidiariesCompanyMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_BorrowedBySubsidiariesCompanyMember" xlink:to="clwt_BorrowedBySubsidiariesCompanyMember_lbl_3fa008" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_BorrowedBySubsidiariesCompanyMember_lbl_3fa008" xml:lang="en-US">Borrowed By Subsidiaries Company</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubordinatedBorrowingInterestRate" xlink:label="us-gaap_SubordinatedBorrowingInterestRate" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubordinatedBorrowingInterestRate" xlink:to="us-gaap_SubordinatedBorrowingInterestRate_lbl_a4f1cc" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubordinatedBorrowingInterestRate_lbl_a4f1cc" xml:lang="en-US">Interest fixed rates</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestPaid" xlink:label="us-gaap_InterestPaid" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestPaid" xlink:to="us-gaap_InterestPaid_lbl_87ab44" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestPaid_lbl_87ab44" xml:lang="en-US">Interest paid</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_InterestEarningAssetsNetYield" xlink:label="srt_InterestEarningAssetsNetYield" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_InterestEarningAssetsNetYield" xlink:to="srt_InterestEarningAssetsNetYield_lbl_dc9312" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_InterestEarningAssetsNetYield_lbl_dc9312" xml:lang="en-US">Interest held</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermInvestments" xlink:to="us-gaap_LongTermInvestments_lbl_a447d9" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LongTermInvestments_lbl_a447d9" xml:lang="en-US">Long-term investment, at cost, less impairment</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UndistributedEarnings" xlink:label="us-gaap_UndistributedEarnings" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UndistributedEarnings" xlink:to="us-gaap_UndistributedEarnings_lbl_181976" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UndistributedEarnings_lbl_181976" xml:lang="en-US">Share of undistributed profits</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVentures" xlink:to="us-gaap_InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVentures_lbl_463e17" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVentures_lbl_463e17" xml:lang="en-US">Investment in affiliates</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementScenarioAxis" xlink:label="srt_StatementScenarioAxis" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_StatementScenarioAxis" xlink:to="srt_StatementScenarioAxis_lbl_c7aa99" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_StatementScenarioAxis_lbl_c7aa99" xml:lang="en-US">Statement Scenario Axis</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_BluesSkyMember" xlink:label="clwt_BluesSkyMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_BluesSkyMember" xlink:to="clwt_BluesSkyMember_lbl_d24798" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_BluesSkyMember_lbl_d24798" xml:lang="en-US">Blue Sky</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_AssetsCurrent_lbl_fa4769" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AssetsCurrent_lbl_fa4769" xml:lang="en-US">Current assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsNoncurrent" xlink:to="us-gaap_AssetsNoncurrent_lbl_65580d" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AssetsNoncurrent_lbl_65580d" xml:lang="en-US">Non-current assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Assets_lbl_52dcf0" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_Assets_lbl_52dcf0" xml:lang="en-US">Total assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_Liabilities_lbl_7992dd" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_Liabilities_lbl_7992dd" xml:lang="en-US">Total liabilities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_lbl_b40cab" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_StockholdersEquity_lbl_b40cab" xml:lang="en-US">Total shareholders' equity</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetInvestmentInLeaseSale" xlink:label="us-gaap_NetInvestmentInLeaseSale" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetInvestmentInLeaseSale" xlink:to="us-gaap_NetInvestmentInLeaseSale_lbl_8281d3" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetInvestmentInLeaseSale_lbl_8281d3" xml:lang="en-US">Net sales</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_OperatingIncomeLoss_lbl_fda8c4" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_OperatingIncomeLoss_lbl_fda8c4" xml:lang="en-US">Operating income / (loss)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss_lbl_13f8be" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NetIncomeLoss_lbl_13f8be" xml:lang="en-US">Net income</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_InterestEarningAssetsNetYield" xlink:to="srt_InterestEarningAssetsNetYield_lbl_ae8953" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="srt_InterestEarningAssetsNetYield_lbl_ae8953" xml:lang="en-US">Interest held</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermInvestments" xlink:to="us-gaap_LongTermInvestments_lbl_0e2319" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_LongTermInvestments_lbl_0e2319" xml:lang="en-US">Long-term investment, at cost, less impairment</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillGross" xlink:to="us-gaap_GoodwillGross_lbl_be51de" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_GoodwillGross_lbl_be51de" 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_GoodwillGross" xlink:label="us-gaap_GoodwillGross" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillGross" xlink:to="us-gaap_GoodwillGross_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GoodwillGross_lbl_2" xml:lang="en-US">[Goodwill, Gross]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DividendsPayableCurrent" xlink:label="us-gaap_DividendsPayableCurrent" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DividendsPayableCurrent" xlink:to="us-gaap_DividendsPayableCurrent_lbl_bd5fb9" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DividendsPayableCurrent_lbl_bd5fb9" xml:lang="en-US">Dividend payables</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerDepositsCurrent" xlink:label="us-gaap_CustomerDepositsCurrent" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CustomerDepositsCurrent" xlink:to="us-gaap_CustomerDepositsCurrent_lbl_d76e60" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CustomerDepositsCurrent_lbl_d76e60" xml:lang="en-US">Deposit received from customers</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_RentalDepositReceived" xlink:label="clwt_RentalDepositReceived" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_RentalDepositReceived" xlink:to="clwt_RentalDepositReceived_lbl_4df364" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_RentalDepositReceived_lbl_4df364" xml:lang="en-US">Rental deposit received</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_AccruedOperatingExpenses" xlink:label="clwt_AccruedOperatingExpenses" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_AccruedOperatingExpenses" xlink:to="clwt_AccruedOperatingExpenses_lbl_1f3a58" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_AccruedOperatingExpenses_lbl_1f3a58" xml:lang="en-US">Accruals for operating expenses</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccrualForTaxesOtherThanIncomeTaxesCurrent" xlink:label="us-gaap_AccrualForTaxesOtherThanIncomeTaxesCurrent" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccrualForTaxesOtherThanIncomeTaxesCurrent" xlink:to="us-gaap_AccrualForTaxesOtherThanIncomeTaxesCurrent_lbl_f1659f" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccrualForTaxesOtherThanIncomeTaxesCurrent_lbl_f1659f" xml:lang="en-US">Other tax payables</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableAndAccruedLiabilitiesFairValueDisclosure" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesFairValueDisclosure_lbl_0b59a9" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesFairValueDisclosure_lbl_0b59a9" xml:lang="en-US">Other payables 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_AccountsPayableAndAccruedLiabilitiesFairValueDisclosure" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesFairValueDisclosure" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableAndAccruedLiabilitiesFairValueDisclosure" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesFairValueDisclosure_lbl_7" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesFairValueDisclosure_lbl_7" xml:lang="en-US">[Accounts Payable and Accrued Liabilities, Fair Value Disclosure]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedBonusesCurrent" xlink:label="us-gaap_AccruedBonusesCurrent" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedBonusesCurrent" xlink:to="us-gaap_AccruedBonusesCurrent_lbl_32eb27" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccruedBonusesCurrent_lbl_32eb27" xml:lang="en-US">Accrued expenses</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OutputValueAddedTax" xlink:label="clwt_OutputValueAddedTax" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_OutputValueAddedTax" xlink:to="clwt_OutputValueAddedTax_lbl_8f5ed2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_OutputValueAddedTax_lbl_8f5ed2" xml:lang="en-US">Output VAT</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_DepositsReceivedAndTemporaryReceipts" xlink:label="clwt_DepositsReceivedAndTemporaryReceipts" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_DepositsReceivedAndTemporaryReceipts" xlink:to="clwt_DepositsReceivedAndTemporaryReceipts_lbl_257e9e" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_DepositsReceivedAndTemporaryReceipts_lbl_257e9e" xml:lang="en-US">Deposits received and temporary receipts</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_BottomsMember" xlink:to="clwt_BottomsMember_lbl_070fc6" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="clwt_BottomsMember_lbl_070fc6" xml:lang="en-US">Bottoms</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_TopsMember" xlink:to="clwt_TopsMember_lbl_d8df2d" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="clwt_TopsMember_lbl_d8df2d" xml:lang="en-US">Tops</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ValuedAddedTaxInterestRate" xlink:label="clwt_ValuedAddedTaxInterestRate" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_ValuedAddedTaxInterestRate" xlink:to="clwt_ValuedAddedTaxInterestRate_lbl_e2c16f" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_ValuedAddedTaxInterestRate_lbl_e2c16f" xml:lang="en-US">Valued-Added Tax rate</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ImpairmentGainOnContractAssets" xlink:label="clwt_ImpairmentGainOnContractAssets" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_ImpairmentGainOnContractAssets" xlink:to="clwt_ImpairmentGainOnContractAssets_lbl_8f7fc4" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_ImpairmentGainOnContractAssets_lbl_8f7fc4" xml:lang="en-US">Impairment gain on contract assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentIncomeNet" xlink:label="us-gaap_InvestmentIncomeNet" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InvestmentIncomeNet" xlink:to="us-gaap_InvestmentIncomeNet_lbl_2585bc" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InvestmentIncomeNet_lbl_2585bc" xml:lang="en-US">Investment income</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_FaitValueGainOnShortTermInvestment" xlink:label="clwt_FaitValueGainOnShortTermInvestment" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_FaitValueGainOnShortTermInvestment" xlink:to="clwt_FaitValueGainOnShortTermInvestment_lbl_daeb23" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_FaitValueGainOnShortTermInvestment_lbl_daeb23" xml:lang="en-US">Fait value gain on short term investment</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CompensationIncome" xlink:label="clwt_CompensationIncome" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_CompensationIncome" xlink:to="clwt_CompensationIncome_lbl_fdf5db" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_CompensationIncome_lbl_fdf5db" xml:lang="en-US">Compensation income</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_AmountsWaivedByPayees" xlink:label="clwt_AmountsWaivedByPayees" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_AmountsWaivedByPayees" xlink:to="clwt_AmountsWaivedByPayees_lbl_18a98b" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_AmountsWaivedByPayees_lbl_18a98b" xml:lang="en-US">Amounts waived by payees</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_AllowanceForDoubtfulAccountsReversal" xlink:to="clwt_AllowanceForDoubtfulAccountsReversal_lbl_fefce2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="clwt_AllowanceForDoubtfulAccountsReversal_lbl_fefce2" xml:lang="en-US">Reversal of allowance for doubtful accounts</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_AllowanceForDoubtfulAccountsReversal" xlink:label="clwt_AllowanceForDoubtfulAccountsReversal" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_AllowanceForDoubtfulAccountsReversal" xlink:to="clwt_AllowanceForDoubtfulAccountsReversal_lbl_7" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_AllowanceForDoubtfulAccountsReversal_lbl_7" xml:lang="en-US">[Reversal of allowance for doubtful accounts]</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_SubsidyIncome" xlink:label="clwt_SubsidyIncome" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_SubsidyIncome" xlink:to="clwt_SubsidyIncome_lbl_5f4b9a" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_SubsidyIncome_lbl_5f4b9a" xml:lang="en-US">Subsidy income from PRC government</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherIncome" xlink:to="us-gaap_OtherIncome_lbl_465f7e" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OtherIncome_lbl_465f7e" xml:lang="en-US">Other income</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_ImpairmentLossOnShortTermInvestments" xlink:to="clwt_ImpairmentLossOnShortTermInvestments_lbl_155003" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="clwt_ImpairmentLossOnShortTermInvestments_lbl_155003" xml:lang="en-US">Impairment loss on short term investments</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_ImpairmentLossOnContractAssets" xlink:to="clwt_ImpairmentLossOnContractAssets_lbl_1c985b" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="clwt_ImpairmentLossOnContractAssets_lbl_1c985b" xml:lang="en-US">Impairment loss on contract assets</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ImpairmentLossOnContractAssets" xlink:label="clwt_ImpairmentLossOnContractAssets" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_ImpairmentLossOnContractAssets" xlink:to="clwt_ImpairmentLossOnContractAssets_lbl_3" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_ImpairmentLossOnContractAssets_lbl_3" xml:lang="en-US">[Impairment loss on contract assets]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherNonoperatingGainsLosses" xlink:to="us-gaap_OtherNonoperatingGainsLosses_lbl_63f6a3" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_OtherNonoperatingGainsLosses_lbl_63f6a3" xml:lang="en-US">Other losses</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherNonoperatingGainsLosses" xlink:label="us-gaap_OtherNonoperatingGainsLosses" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherNonoperatingGainsLosses" xlink:to="us-gaap_OtherNonoperatingGainsLosses_lbl_4" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherNonoperatingGainsLosses_lbl_4" xml:lang="en-US">[Other Nonoperating Gains (Losses)]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesIssued" xlink:to="us-gaap_CommonStockSharesIssued_lbl_29ff4c" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_CommonStockSharesIssued_lbl_29ff4c" xml:lang="en-US">Common stock, issued</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockCommonShares" xlink:to="us-gaap_TreasuryStockCommonShares_lbl_906f48" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_TreasuryStockCommonShares_lbl_906f48" xml:lang="en-US">Less: shares under treasury stock</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesOutstanding" xlink:to="us-gaap_CommonStockSharesOutstanding_lbl_499739" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CommonStockSharesOutstanding_lbl_499739" 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_StockIssuedDuringPeriodSharesNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:to="us-gaap_StockIssuedDuringPeriodSharesNewIssues_lbl_6f8e29" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues_lbl_6f8e29" xml:lang="en-US">New shares of common stock</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_StockRepurchasePlanMember" xlink:label="clwt_StockRepurchasePlanMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_StockRepurchasePlanMember" xlink:to="clwt_StockRepurchasePlanMember_lbl_c41cba" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_StockRepurchasePlanMember_lbl_c41cba" xml:lang="en-US">Stock Repurchase Plan [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharesOutstanding" xlink:to="us-gaap_SharesOutstanding_lbl_e99d77" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_SharesOutstanding_lbl_e99d77" xml:lang="en-US">Ordinary share</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharesOutstanding" xlink:to="us-gaap_SharesOutstanding_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharesOutstanding_lbl_2" xml:lang="en-US">[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_OtherInventoryPurchasedGoods" xlink:label="us-gaap_OtherInventoryPurchasedGoods" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherInventoryPurchasedGoods" xlink:to="us-gaap_OtherInventoryPurchasedGoods_lbl_25bcd7" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherInventoryPurchasedGoods_lbl_25bcd7" xml:lang="en-US">Ordinary share purchased in the open market</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermDebtTypeAxis" xlink:label="us-gaap_ShortTermDebtTypeAxis" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermDebtTypeAxis" xlink:to="us-gaap_ShortTermDebtTypeAxis_lbl_3de7b7" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShortTermDebtTypeAxis_lbl_3de7b7" xml:lang="en-US">Short-term Debt, Type [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_StatutoryReserveFundMember" xlink:label="clwt_StatutoryReserveFundMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_StatutoryReserveFundMember" xlink:to="clwt_StatutoryReserveFundMember_lbl_ea9897" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_StatutoryReserveFundMember_lbl_ea9897" xml:lang="en-US">Statutory Reserve Fund</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_StatutoryStaffWelfareFundMember" xlink:label="clwt_StatutoryStaffWelfareFundMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_StatutoryStaffWelfareFundMember" xlink:to="clwt_StatutoryStaffWelfareFundMember_lbl_6b4ade" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_StatutoryStaffWelfareFundMember_lbl_6b4ade" xml:lang="en-US">Statutory Staff Welfare Fund</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_EnterpriseExpansionFundMember" xlink:label="clwt_EnterpriseExpansionFundMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_EnterpriseExpansionFundMember" xlink:to="clwt_EnterpriseExpansionFundMember_lbl_3702fe" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_EnterpriseExpansionFundMember_lbl_3702fe" xml:lang="en-US">Enterprise Expansion Fund</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatutoryAccountingPracticesStatutoryNetIncomeAmount" xlink:label="us-gaap_StatutoryAccountingPracticesStatutoryNetIncomeAmount" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatutoryAccountingPracticesStatutoryNetIncomeAmount" xlink:to="us-gaap_StatutoryAccountingPracticesStatutoryNetIncomeAmount_lbl_126e4c" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatutoryAccountingPracticesStatutoryNetIncomeAmount_lbl_126e4c" xml:lang="en-US">Statutory reserve</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_MinimumRegisteredCapitalPercentage" xlink:label="clwt_MinimumRegisteredCapitalPercentage" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_MinimumRegisteredCapitalPercentage" xlink:to="clwt_MinimumRegisteredCapitalPercentage_lbl_abe83d" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_MinimumRegisteredCapitalPercentage_lbl_abe83d" xml:lang="en-US">Minimum Registered capital percentage</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PublicUtilitiesRequestedDebtCapitalStructurePercentage" xlink:label="us-gaap_PublicUtilitiesRequestedDebtCapitalStructurePercentage" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PublicUtilitiesRequestedDebtCapitalStructurePercentage" xlink:to="us-gaap_PublicUtilitiesRequestedDebtCapitalStructurePercentage_lbl_1010c3" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PublicUtilitiesRequestedDebtCapitalStructurePercentage_lbl_1010c3" xml:lang="en-US">Registered capital percentage</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_StatutoryAccountingPracticesStatutoryNetIncomePercentage" xlink:label="clwt_StatutoryAccountingPracticesStatutoryNetIncomePercentage" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_StatutoryAccountingPracticesStatutoryNetIncomePercentage" xlink:to="clwt_StatutoryAccountingPracticesStatutoryNetIncomePercentage_lbl_7ed63a" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_StatutoryAccountingPracticesStatutoryNetIncomePercentage_lbl_7ed63a" xml:lang="en-US">Net income statutory reserve fund</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ExchangeGainLossNet" xlink:label="clwt_ExchangeGainLossNet" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_ExchangeGainLossNet" xlink:to="clwt_ExchangeGainLossNet_lbl_7fecc1" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_ExchangeGainLossNet_lbl_7fecc1" xml:lang="en-US">Exchange gain / (loss), net</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RentalIncomeNonoperating" xlink:label="us-gaap_RentalIncomeNonoperating" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RentalIncomeNonoperating" xlink:to="us-gaap_RentalIncomeNonoperating_lbl_ad11f7" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RentalIncomeNonoperating_lbl_ad11f7" xml:lang="en-US">Rental income</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_GovernmentSubsidies" xlink:label="clwt_GovernmentSubsidies" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_GovernmentSubsidies" xlink:to="clwt_GovernmentSubsidies_lbl_1edaad" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_GovernmentSubsidies_lbl_1edaad" xml:lang="en-US">Government subsidies - Employment Support Scheme</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_OtherNonoperatingIncomeNet" xlink:to="clwt_OtherNonoperatingIncomeNet_lbl_b1f647" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="clwt_OtherNonoperatingIncomeNet_lbl_b1f647" xml:lang="en-US">Other income, net</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OtherNonoperatingIncomeNet" xlink:label="clwt_OtherNonoperatingIncomeNet" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_OtherNonoperatingIncomeNet" xlink:to="clwt_OtherNonoperatingIncomeNet_lbl_5" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_OtherNonoperatingIncomeNet_lbl_5" xml:lang="en-US">[Other income, net 1]</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CurrentTaxExpensesPrcAndHongKong" xlink:label="clwt_CurrentTaxExpensesPrcAndHongKong" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_CurrentTaxExpensesPrcAndHongKong" xlink:to="clwt_CurrentTaxExpensesPrcAndHongKong_lbl_41db08" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_CurrentTaxExpensesPrcAndHongKong_lbl_41db08" xml:lang="en-US">Current taxes (expense): Hong Kong profits tax and the PRC EIT</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_IncomeTaxExpensePrcEit" xlink:label="clwt_IncomeTaxExpensePrcEit" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_IncomeTaxExpensePrcEit" xlink:to="clwt_IncomeTaxExpensePrcEit_lbl_55f874" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_IncomeTaxExpensePrcEit_lbl_55f874" xml:lang="en-US">Income tax expense/(credit) PRC EIT</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:to="us-gaap_CurrentIncomeTaxExpenseBenefit_lbl_130684" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CurrentIncomeTaxExpenseBenefit_lbl_130684" xml:lang="en-US">Income tax expense</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_DeferredTaxBenefitPrcAndHongKong" xlink:label="clwt_DeferredTaxBenefitPrcAndHongKong" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_DeferredTaxBenefitPrcAndHongKong" xlink:to="clwt_DeferredTaxBenefitPrcAndHongKong_lbl_1212ac" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_DeferredTaxBenefitPrcAndHongKong_lbl_1212ac" xml:lang="en-US">Deferred tax credit / (expenses): Hong Kong and the PRC</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredOtherTaxExpenseBenefit" xlink:label="us-gaap_DeferredOtherTaxExpenseBenefit" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredOtherTaxExpenseBenefit" xlink:to="us-gaap_DeferredOtherTaxExpenseBenefit_lbl_1ffc98" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredOtherTaxExpenseBenefit_lbl_1ffc98" xml:lang="en-US">Deferred tax expense / (credit)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl_c19bcf" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl_c19bcf" xml:lang="en-US">Total deferred tax credit / (expense)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit_lbl_eb298a" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl_eb298a" xml:lang="en-US">Total credit / (expense)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityNameAxis" xlink:label="us-gaap_IncomeTaxAuthorityNameAxis" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxAuthorityNameAxis" xlink:to="us-gaap_IncomeTaxAuthorityNameAxis_lbl_ce4a7c" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxAuthorityNameAxis_lbl_ce4a7c" xml:lang="en-US">Income Tax Authority, Name [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_HongKongProfitTaxMember" xlink:to="clwt_HongKongProfitTaxMember_lbl_d6d338" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="clwt_HongKongProfitTaxMember_lbl_d6d338" xml:lang="en-US">Hong Kong</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_HongKongProfitTaxMember" xlink:label="clwt_HongKongProfitTaxMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_HongKongProfitTaxMember" xlink:to="clwt_HongKongProfitTaxMember_lbl_33" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_HongKongProfitTaxMember_lbl_33" xml:lang="en-US">[Hong Kong]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl_364434" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl_364434" xml:lang="en-US">Income before income tax</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" xlink:to="us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate_lbl_c7228d" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate_lbl_c7228d" xml:lang="en-US">Computed tax using respective companies' statutory tax rates</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_OverProvisionForIncomeTaxInPriorYears" xlink:to="clwt_OverProvisionForIncomeTaxInPriorYears_lbl_a9beeb" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="clwt_OverProvisionForIncomeTaxInPriorYears_lbl_a9beeb" xml:lang="en-US">(Over)-provision for income tax in prior years</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OverProvisionForIncomeTaxInPriorYears" xlink:label="clwt_OverProvisionForIncomeTaxInPriorYears" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_OverProvisionForIncomeTaxInPriorYears" xlink:to="clwt_OverProvisionForIncomeTaxInPriorYears_lbl_4" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_OverProvisionForIncomeTaxInPriorYears_lbl_4" xml:lang="en-US">[(Over)-provision for income tax in prior years]</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_TemporaryDifferences" xlink:label="clwt_TemporaryDifferences" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_TemporaryDifferences" xlink:to="clwt_TemporaryDifferences_lbl_875589" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_TemporaryDifferences_lbl_875589" xml:lang="en-US">Temporary differences</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationNondeductibleExpense" xlink:label="us-gaap_IncomeTaxReconciliationNondeductibleExpense" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationNondeductibleExpense" xlink:to="us-gaap_IncomeTaxReconciliationNondeductibleExpense_lbl_161d3b" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxReconciliationNondeductibleExpense_lbl_161d3b" xml:lang="en-US">Tax effect of expenses not deductible for tax purposes</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationNondeductibleExpenseResearchAndDevelopment" xlink:to="us-gaap_IncomeTaxReconciliationNondeductibleExpenseResearchAndDevelopment_lbl_9e3e0f" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_IncomeTaxReconciliationNondeductibleExpenseResearchAndDevelopment_lbl_9e3e0f" xml:lang="en-US">Tax effect of special deduction for research and development costs</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationNondeductibleExpenseResearchAndDevelopment" xlink:label="us-gaap_IncomeTaxReconciliationNondeductibleExpenseResearchAndDevelopment" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationNondeductibleExpenseResearchAndDevelopment" xlink:to="us-gaap_IncomeTaxReconciliationNondeductibleExpenseResearchAndDevelopment_lbl_7" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxReconciliationNondeductibleExpenseResearchAndDevelopment_lbl_7" xml:lang="en-US">[Effective Income Tax Rate Reconciliation, Nondeductible Expense, Research and Development, Amount]</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_TaxEffectOfRevenueNotSubjectToTax" xlink:label="clwt_TaxEffectOfRevenueNotSubjectToTax" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_TaxEffectOfRevenueNotSubjectToTax" xlink:to="clwt_TaxEffectOfRevenueNotSubjectToTax_lbl_ab68e4" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_TaxEffectOfRevenueNotSubjectToTax_lbl_ab68e4" xml:lang="en-US">Tax effect of revenue not subject to tax</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationOtherAdjustments" xlink:to="us-gaap_IncomeTaxReconciliationOtherAdjustments_lbl_9a1d96" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncomeTaxReconciliationOtherAdjustments_lbl_9a1d96" xml:lang="en-US">Others</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationOtherAdjustments" xlink:label="us-gaap_IncomeTaxReconciliationOtherAdjustments" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationOtherAdjustments" xlink:to="us-gaap_IncomeTaxReconciliationOtherAdjustments_lbl_9" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxReconciliationOtherAdjustments_lbl_9" xml:lang="en-US">[Effective Income Tax Rate Reconciliation, Other Adjustments, Amount]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:to="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance_lbl_c69537" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance_lbl_c69537" xml:lang="en-US">Change in valuation allowances</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_IncomeTaxesCreditExpenseAtEffectiveTaxRate" xlink:label="clwt_IncomeTaxesCreditExpenseAtEffectiveTaxRate" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_IncomeTaxesCreditExpenseAtEffectiveTaxRate" xlink:to="clwt_IncomeTaxesCreditExpenseAtEffectiveTaxRate_lbl_30f350" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_IncomeTaxesCreditExpenseAtEffectiveTaxRate_lbl_30f350" xml:lang="en-US">Income taxes credit / (expense) at effective tax rate</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_DeferredTaxAssetTaxLosses" xlink:label="clwt_DeferredTaxAssetTaxLosses" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_DeferredTaxAssetTaxLosses" xlink:to="clwt_DeferredTaxAssetTaxLosses_lbl_ee2785" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_DeferredTaxAssetTaxLosses_lbl_ee2785" xml:lang="en-US">Tax losses</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_DeferredTaxAssetTemporaryDifferences" xlink:to="clwt_DeferredTaxAssetTemporaryDifferences_lbl_c1b944" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="clwt_DeferredTaxAssetTemporaryDifferences_lbl_c1b944" xml:lang="en-US">Temporary differences</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_DeferredTaxAssetTemporaryDifferences" xlink:label="clwt_DeferredTaxAssetTemporaryDifferences" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_DeferredTaxAssetTemporaryDifferences" xlink:to="clwt_DeferredTaxAssetTemporaryDifferences_lbl_3" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_DeferredTaxAssetTemporaryDifferences_lbl_3" xml:lang="en-US">[Temporary differences]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsValuationAllowance" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance_lbl_5e54b5" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_lbl_5e54b5" xml:lang="en-US">Less: valuation allowances</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsValuationAllowance" xlink:to="us-gaap_DeferredTaxAssetsValuationAllowance_lbl_4" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsValuationAllowance_lbl_4" xml:lang="en-US">[Deferred Tax Assets, Valuation Allowance]</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_NetDeferredTaxAssetsLiabilities" xlink:label="clwt_NetDeferredTaxAssetsLiabilities" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_NetDeferredTaxAssetsLiabilities" xlink:to="clwt_NetDeferredTaxAssetsLiabilities_lbl_9a8273" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_NetDeferredTaxAssetsLiabilities_lbl_9a8273" xml:lang="en-US">Net deferred tax assets / (liabilities)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_lbl_ea9745" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_lbl_ea9745" xml:lang="en-US">Allowance for doubtful accounts</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsDeferredIncome" xlink:to="us-gaap_DeferredTaxAssetsDeferredIncome_lbl_f396b1" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DeferredTaxAssetsDeferredIncome_lbl_f396b1" xml:lang="en-US">Deferred government grant</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsDeferredIncome" xlink:label="us-gaap_DeferredTaxAssetsDeferredIncome" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsDeferredIncome" xlink:to="us-gaap_DeferredTaxAssetsDeferredIncome_lbl_7" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsDeferredIncome_lbl_7" xml:lang="en-US">[Deferred Tax Assets, Deferred Income]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsImpairmentLosses" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsImpairmentLosses" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsImpairmentLosses" xlink:to="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsImpairmentLosses_lbl_739ff4" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsImpairmentLosses_lbl_739ff4" xml:lang="en-US">Impairment losses on assets</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_DeferredtaxassetstaxdeferrechangeInFairValue" xlink:label="clwt_DeferredtaxassetstaxdeferrechangeInFairValue" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_DeferredtaxassetstaxdeferrechangeInFairValue" xlink:to="clwt_DeferredtaxassetstaxdeferrechangeInFairValue_lbl_dce41d" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_DeferredtaxassetstaxdeferrechangeInFairValue_lbl_dce41d" xml:lang="en-US">Change in fair value</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_InvestmentLoss" xlink:label="clwt_InvestmentLoss" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_InvestmentLoss" xlink:to="clwt_InvestmentLoss_lbl_fd778d" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_InvestmentLoss_lbl_fd778d" xml:lang="en-US">Investment loss</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="us-gaap_DeferredTaxAssetsNet" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsNet" xlink:to="us-gaap_DeferredTaxAssetsNet_lbl_64f7db" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredTaxAssetsNet_lbl_64f7db" xml:lang="en-US">Total deferred tax assets</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_StatementGeographicalAxis_lbl_922158" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_StatementGeographicalAxis_lbl_922158" xml:lang="en-US">Geographical [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_ShanghaiEuroTechLimitedMember" xlink:to="clwt_ShanghaiEuroTechLimitedMember_lbl_a73501" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="clwt_ShanghaiEuroTechLimitedMember_lbl_a73501" xml:lang="en-US">Shanghai Euro Tech Limited</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ShanghaiEuroTechLimitedMember" xlink:label="clwt_ShanghaiEuroTechLimitedMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_ShanghaiEuroTechLimitedMember" xlink:to="clwt_ShanghaiEuroTechLimitedMember_lbl_32" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_ShanghaiEuroTechLimitedMember_lbl_32" xml:lang="en-US">[Shanghai Euro Tech Limited]</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_YixingPactEnvironmentalTechnologyCoLtdMember" xlink:label="clwt_YixingPactEnvironmentalTechnologyCoLtdMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_YixingPactEnvironmentalTechnologyCoLtdMember" xlink:to="clwt_YixingPactEnvironmentalTechnologyCoLtdMember_lbl_eeab93" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_YixingPactEnvironmentalTechnologyCoLtdMember_lbl_eeab93" xml:lang="en-US">Yixing Pact Environmental Technology Co. Ltd.</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_EuroTechTradingShanghaiLimitedMember" xlink:to="clwt_EuroTechTradingShanghaiLimitedMember_lbl_e09dba" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="clwt_EuroTechTradingShanghaiLimitedMember_lbl_e09dba" xml:lang="en-US">Euro Tech Trading (Shanghai) Limited</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_EuroTechTradingShanghaiLimitedMember" xlink:label="clwt_EuroTechTradingShanghaiLimitedMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_EuroTechTradingShanghaiLimitedMember" xlink:to="clwt_EuroTechTradingShanghaiLimitedMember_lbl_34" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_EuroTechTradingShanghaiLimitedMember_lbl_34" xml:lang="en-US">[Euro Tech Trading (Shanghai) Limited]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_HKMember" xlink:to="clwt_HKMember_lbl_7083a2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="clwt_HKMember_lbl_7083a2" xml:lang="en-US">Hong Kong</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_HKMember" xlink:label="clwt_HKMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_HKMember" xlink:to="clwt_HKMember_lbl_35" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_HKMember_lbl_35" xml:lang="en-US">[Hong Kong 1]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl_f97ded" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl_f97ded" xml:lang="en-US">Income 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_UndistributedEarningsDiluted" xlink:label="us-gaap_UndistributedEarningsDiluted" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UndistributedEarningsDiluted" xlink:to="us-gaap_UndistributedEarningsDiluted_lbl_d4024a" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UndistributedEarningsDiluted_lbl_d4024a" xml:lang="en-US">Aggregate undistributed earnings</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_WeightedAverageNumberOfOrdinarySharesForThePurposesOfBasicAndDilutedNetIncomePerShare" xlink:label="clwt_WeightedAverageNumberOfOrdinarySharesForThePurposesOfBasicAndDilutedNetIncomePerShare" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_WeightedAverageNumberOfOrdinarySharesForThePurposesOfBasicAndDilutedNetIncomePerShare" xlink:to="clwt_WeightedAverageNumberOfOrdinarySharesForThePurposesOfBasicAndDilutedNetIncomePerShare_lbl_a41bcf" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_WeightedAverageNumberOfOrdinarySharesForThePurposesOfBasicAndDilutedNetIncomePerShare_lbl_a41bcf" xml:lang="en-US">Weighted average number of ordinary shares for the purposes of basic and diluted net 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_FinancialInstrumentAxis" xlink:label="us-gaap_FinancialInstrumentAxis" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinancialInstrumentAxis" xlink:to="us-gaap_FinancialInstrumentAxis_lbl_6fb4dd" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinancialInstrumentAxis_lbl_6fb4dd" xml:lang="en-US">Financial 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_StockOptionMember" xlink:label="us-gaap_StockOptionMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockOptionMember" xlink:to="us-gaap_StockOptionMember_lbl_c17652" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockOptionMember_lbl_c17652" xml:lang="en-US">Stock Options</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl_724b6d" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl_724b6d" xml:lang="en-US">Outstanding, beginning of year</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl_2" xml:lang="en-US">[Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number]</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_lbl_3dc8e9" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_lbl_3dc8e9" xml:lang="en-US">Granted</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_lbl_4a7657" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_lbl_4a7657" xml:lang="en-US">Cancelled</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_lbl_4" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_lbl_4" xml:lang="en-US">[Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures in Period]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:label="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:to="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_lbl_1d1f8b" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_lbl_1d1f8b" xml:lang="en-US">Bonus shares adjustment</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl_a4e18d" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl_a4e18d" xml:lang="en-US">Outstanding, end of year</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_lbl_98cd3b" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_lbl_98cd3b" xml:lang="en-US">Exercisable, end of year</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_lbl_7" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_lbl_7" xml:lang="en-US">[Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Number]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl_26a76d" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl_26a76d" xml:lang="en-US">Outstanding, beginning of years</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl_8" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl_8" xml:lang="en-US">[Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_lbl_ee69d2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_lbl_ee69d2" xml:lang="en-US">Weighted average exercise price, Granted</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_lbl_823cd5" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_lbl_823cd5" xml:lang="en-US">Cancelled in period</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_lbl_10" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_lbl_10" xml:lang="en-US">[Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Forfeitures in Period, Weighted Average Exercise Price]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BasicEarningsPerShareAdjustmentProForma" xlink:label="us-gaap_BasicEarningsPerShareAdjustmentProForma" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BasicEarningsPerShareAdjustmentProForma" xlink:to="us-gaap_BasicEarningsPerShareAdjustmentProForma_lbl_662f82" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BasicEarningsPerShareAdjustmentProForma_lbl_662f82" xml:lang="en-US">Bonus shares adjustments</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl_cb5bee" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl_cb5bee" xml:lang="en-US">Outstanding, end of years</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_lbl_9ec7e2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_lbl_9ec7e2" xml:lang="en-US">Exercisable, end of years</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:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_lbl_13" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_lbl_13" xml:lang="en-US">[Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Exercise Price]</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_TwoThousandTwentyNineStockOptionAndIncentivePlanMember" xlink:label="clwt_TwoThousandTwentyNineStockOptionAndIncentivePlanMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_TwoThousandTwentyNineStockOptionAndIncentivePlanMember" xlink:to="clwt_TwoThousandTwentyNineStockOptionAndIncentivePlanMember_lbl_ef0351" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_TwoThousandTwentyNineStockOptionAndIncentivePlanMember_lbl_ef0351" xml:lang="en-US">2019 Stock Option and Incentive Plan</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_lbl_b497b7" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_lbl_b497b7" xml:lang="en-US">Cancelled</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsDiscountForPostvestingRestrictions" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsDiscountForPostvestingRestrictions" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsDiscountForPostvestingRestrictions" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsDiscountForPostvestingRestrictions_lbl_a36eb4" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsDiscountForPostvestingRestrictions_lbl_a36eb4" xml:lang="en-US">Fair market value ordinary shares percentage</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:to="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_lbl_425b65" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_lbl_425b65" xml:lang="en-US">Bonus shares adjustment</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockRepurchasedDuringPeriodShares" xlink:to="us-gaap_StockRepurchasedDuringPeriodShares_lbl_02342a" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares_lbl_02342a" xml:lang="en-US">Purchase ordinary shares</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_lbl_d5b3b0" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_lbl_d5b3b0" xml:lang="en-US">Fair value options granted</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensation" xlink:to="us-gaap_ShareBasedCompensation_lbl_83a608" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensation_lbl_83a608" xml:lang="en-US">Compensation expense</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_lbl_73f1c1" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_lbl_73f1c1" xml:lang="en-US">Granted</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum_lbl_5a3211" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum_lbl_5a3211" xml:lang="en-US">Percentage of number of ordinary shares outstanding</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_lbl_25a4db" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_lbl_25a4db" xml:lang="en-US">Exercise price options granted</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_EmployeesPensionPlanDescription" xlink:label="clwt_EmployeesPensionPlanDescription" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_EmployeesPensionPlanDescription" xlink:to="clwt_EmployeesPensionPlanDescription_lbl_a5f0a4" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_EmployeesPensionPlanDescription_lbl_a5f0a4" xml:lang="en-US">Description related to pension plan</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_PensionSchemeBasicSalaryPercentage" xlink:label="clwt_PensionSchemeBasicSalaryPercentage" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_PensionSchemeBasicSalaryPercentage" xlink:to="clwt_PensionSchemeBasicSalaryPercentage_lbl_88115e" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_PensionSchemeBasicSalaryPercentage_lbl_88115e" xml:lang="en-US">Contributions percentage of basic salary for pension scheme</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PensionContributions" xlink:label="us-gaap_PensionContributions" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PensionContributions" xlink:to="us-gaap_PensionContributions_lbl_800928" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PensionContributions_lbl_800928" xml:lang="en-US">Aggregate contributions to pension plans and retirement benefit schemes</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_HongKongAndPRCMember" xlink:label="clwt_HongKongAndPRCMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_HongKongAndPRCMember" xlink:to="clwt_HongKongAndPRCMember_lbl_048935" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_HongKongAndPRCMember_lbl_048935" xml:lang="en-US">Hong Kong and PRC [Member]</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CNMember" xlink:label="clwt_CNMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_CNMember" xlink:to="clwt_CNMember_lbl_4f99ae" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_CNMember_lbl_4f99ae" xml:lang="en-US">PRC</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskCreditRiskFinancialInstrumentMaximumExposure" xlink:label="us-gaap_ConcentrationRiskCreditRiskFinancialInstrumentMaximumExposure" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskCreditRiskFinancialInstrumentMaximumExposure" xlink:to="us-gaap_ConcentrationRiskCreditRiskFinancialInstrumentMaximumExposure_lbl_f263fa" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskCreditRiskFinancialInstrumentMaximumExposure_lbl_f263fa" xml:lang="en-US">Concentration of credit risk</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedCash" xlink:to="us-gaap_RestrictedCash_lbl_d510c1" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_RestrictedCash_lbl_d510c1" xml:lang="en-US">Restricted cash</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedCash" xlink:label="us-gaap_RestrictedCash" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedCash" xlink:to="us-gaap_RestrictedCash_lbl_3" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RestrictedCash_lbl_3" xml:lang="en-US">[Restricted Cash]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_RentalIncome" xlink:to="clwt_RentalIncome_lbl_cad5bc" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="clwt_RentalIncome_lbl_cad5bc" xml:lang="en-US">Rental income</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_RentalIncome" xlink:label="clwt_RentalIncome" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_RentalIncome" xlink:to="clwt_RentalIncome_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_RentalIncome_lbl_2" xml:lang="en-US">[Rental income]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentFairValueDisclosure" xlink:label="us-gaap_PropertyPlantAndEquipmentFairValueDisclosure" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentFairValueDisclosure" xlink:to="us-gaap_PropertyPlantAndEquipmentFairValueDisclosure_lbl_cd430f" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentFairValueDisclosure_lbl_cd430f" xml:lang="en-US">Property book value</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_EngineeringServiceMember" xlink:label="clwt_EngineeringServiceMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_EngineeringServiceMember" xlink:to="clwt_EngineeringServiceMember_lbl_ff3991" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_EngineeringServiceMember_lbl_ff3991" xml:lang="en-US">Engineering Service</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Investments" xlink:to="us-gaap_Investments_lbl_6da9d5" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_Investments_lbl_6da9d5" xml:lang="en-US">Investment</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_Remuneration" xlink:label="clwt_Remuneration" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_Remuneration" xlink:to="clwt_Remuneration_lbl_012b9d" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_Remuneration_lbl_012b9d" xml:lang="en-US">Remuneration</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_FairValueOfPutOptions" xlink:to="clwt_FairValueOfPutOptions_lbl_fece64" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="clwt_FairValueOfPutOptions_lbl_fece64" xml:lang="en-US">Balance, December 31, 2023</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_FairValueOfPutOptions" xlink:label="clwt_FairValueOfPutOptions" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_FairValueOfPutOptions" xlink:to="clwt_FairValueOfPutOptions_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_FairValueOfPutOptions_lbl_2" xml:lang="en-US">[Balance, December 31, 2023]</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_NetIncomeLossToPutOptions" xlink:label="clwt_NetIncomeLossToPutOptions" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_NetIncomeLossToPutOptions" xlink:to="clwt_NetIncomeLossToPutOptions_lbl_106a35" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_NetIncomeLossToPutOptions_lbl_106a35" xml:lang="en-US">Net income (loss)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_ForeignCurrencyTranslation" xlink:to="clwt_ForeignCurrencyTranslation_lbl_2e14fd" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="clwt_ForeignCurrencyTranslation_lbl_2e14fd" xml:lang="en-US">Foreign currency translation</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ForeignCurrencyTranslation" xlink:label="clwt_ForeignCurrencyTranslation" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_ForeignCurrencyTranslation" xlink:to="clwt_ForeignCurrencyTranslation_lbl_4" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_ForeignCurrencyTranslation_lbl_4" xml:lang="en-US">[Foreign currency translation]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_FairValueOfPutOptions" xlink:to="clwt_FairValueOfPutOptions_lbl_b75fe5" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="clwt_FairValueOfPutOptions_lbl_b75fe5" xml:lang="en-US">Balance, 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_RelatedPartyTransactionAxis" xlink:label="us-gaap_RelatedPartyTransactionAxis" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RelatedPartyTransactionAxis" xlink:to="us-gaap_RelatedPartyTransactionAxis_lbl_1c6b0a" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RelatedPartyTransactionAxis_lbl_1c6b0a" xml:lang="en-US">Related Party Transaction [Axis]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_PactAsiaPacificLimitedMember" xlink:to="clwt_PactAsiaPacificLimitedMember_lbl_6b3af9" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="clwt_PactAsiaPacificLimitedMember_lbl_6b3af9" xml:lang="en-US">Pact Asia Pacific Limited</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_PactAsiaPacificLimitedMember" xlink:label="clwt_PactAsiaPacificLimitedMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_PactAsiaPacificLimitedMember" xlink:to="clwt_PactAsiaPacificLimitedMember_lbl_22" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_PactAsiaPacificLimitedMember_lbl_22" xml:lang="en-US">[Pact Asia Pacific Limited]</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_UtilisedForIssuanceOfBankGuarantees" xlink:label="clwt_UtilisedForIssuanceOfBankGuarantees" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_UtilisedForIssuanceOfBankGuarantees" xlink:to="clwt_UtilisedForIssuanceOfBankGuarantees_lbl_057046" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_UtilisedForIssuanceOfBankGuarantees_lbl_057046" xml:lang="en-US">Utilised for issuance of bank guarantees</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_TangibleNetWorth" xlink:label="clwt_TangibleNetWorth" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_TangibleNetWorth" xlink:to="clwt_TangibleNetWorth_lbl_eca5c8" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_TangibleNetWorth_lbl_eca5c8" xml:lang="en-US">Tangible net worth</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" xlink:to="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity_lbl_40e900" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity_lbl_40e900" xml:lang="en-US">Banking facilities available for overdraft and import and export credits</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SecurityDeposit" xlink:label="us-gaap_SecurityDeposit" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SecurityDeposit" xlink:to="us-gaap_SecurityDeposit_lbl_0997ca" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SecurityDeposit_lbl_0997ca" xml:lang="en-US">Secured by bank deposit</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_VolatilityRateForCompanies" xlink:label="clwt_VolatilityRateForCompanies" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_VolatilityRateForCompanies" xlink:to="clwt_VolatilityRateForCompanies_lbl_be963e" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_VolatilityRateForCompanies_lbl_be963e" xml:lang="en-US">Volatility rate</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtWeightedAverageInterestRate" xlink:label="us-gaap_DebtWeightedAverageInterestRate" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtWeightedAverageInterestRate" xlink:to="us-gaap_DebtWeightedAverageInterestRate_lbl_1943f3" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtWeightedAverageInterestRate_lbl_1943f3" xml:lang="en-US">Weighted average interest rate</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LoansAssumed1" xlink:to="us-gaap_LoansAssumed1_lbl_bd330f" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_LoansAssumed1_lbl_bd330f" xml:lang="en-US">Bank borrowings</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LoansAssumed1" xlink:label="us-gaap_LoansAssumed1" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LoansAssumed1" xlink:to="us-gaap_LoansAssumed1_lbl_8" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LoansAssumed1_lbl_8" xml:lang="en-US">[Loans Assumed]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermDebtInterestRateIncrease" xlink:label="us-gaap_ShortTermDebtInterestRateIncrease" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermDebtInterestRateIncrease" xlink:to="us-gaap_ShortTermDebtInterestRateIncrease_lbl_6c5e7b" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShortTermDebtInterestRateIncrease_lbl_6c5e7b" xml:lang="en-US">Average interest rates</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_MediumDiscountForLackOfMarketability" xlink:label="clwt_MediumDiscountForLackOfMarketability" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_MediumDiscountForLackOfMarketability" xlink:to="clwt_MediumDiscountForLackOfMarketability_lbl_c9ab3c" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_MediumDiscountForLackOfMarketability_lbl_c9ab3c" xml:lang="en-US">Lack of marketability medium discount</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_EarningsRatioMediumPriceDescription" xlink:label="clwt_EarningsRatioMediumPriceDescription" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_EarningsRatioMediumPriceDescription" xlink:to="clwt_EarningsRatioMediumPriceDescription_lbl_f7e4c9" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_EarningsRatioMediumPriceDescription_lbl_f7e4c9" xml:lang="en-US">Description of earnings ratio price</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_AverageUsefulLifeOfACompany" xlink:label="clwt_AverageUsefulLifeOfACompany" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_AverageUsefulLifeOfACompany" xlink:to="clwt_AverageUsefulLifeOfACompany_lbl_1ff6f8" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_AverageUsefulLifeOfACompany_lbl_1ff6f8" xml:lang="en-US">Average life of a company</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OptionsEstimatedUsefulLife" xlink:label="clwt_OptionsEstimatedUsefulLife" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_OptionsEstimatedUsefulLife" xlink:to="clwt_OptionsEstimatedUsefulLife_lbl_8f5fbe" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_OptionsEstimatedUsefulLife_lbl_8f5fbe" xml:lang="en-US">Options useful life</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_RiskFreeRateForCompany" xlink:label="clwt_RiskFreeRateForCompany" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_RiskFreeRateForCompany" xlink:to="clwt_RiskFreeRateForCompany_lbl_37d30e" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_RiskFreeRateForCompany_lbl_37d30e" xml:lang="en-US">Risk-free rate</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_DividendYieldRate" xlink:label="clwt_DividendYieldRate" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_DividendYieldRate" xlink:to="clwt_DividendYieldRate_lbl_2c8891" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_DividendYieldRate_lbl_2c8891" xml:lang="en-US">Dividend yield rate</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_IntermediateLifePlantsUsefulLifes" xlink:label="clwt_IntermediateLifePlantsUsefulLifes" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_IntermediateLifePlantsUsefulLifes" xlink:to="clwt_IntermediateLifePlantsUsefulLifes_lbl_b0d3aa" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_IntermediateLifePlantsUsefulLifes_lbl_b0d3aa" xml:lang="en-US">Useful life</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OptionsStrikePrice" xlink:label="clwt_OptionsStrikePrice" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_OptionsStrikePrice" xlink:to="clwt_OptionsStrikePrice_lbl_2ca153" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_OptionsStrikePrice_lbl_2ca153" xml:lang="en-US">Strike price of options value</link:label>
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_FairValueOfOptions" xlink:label="clwt_FairValueOfOptions" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="clwt_FairValueOfOptions" xlink:to="clwt_FairValueOfOptions_lbl_b91507" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="clwt_FairValueOfOptions_lbl_b91507" xml:lang="en-US">Fair value of options</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeAxis_lbl_e5e716" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventTypeAxis_lbl_e5e716" xml:lang="en-US">Subsequent Event 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_SubsequentEventMember" xlink:label="us-gaap_SubsequentEventMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventMember" xlink:to="us-gaap_SubsequentEventMember_lbl_0731ca" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventMember_lbl_0731ca" xml:lang="en-US">Subsequent Event [Member]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RepurchaseAgreementsInterestExpenseAmount" xlink:label="us-gaap_RepurchaseAgreementsInterestExpenseAmount" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RepurchaseAgreementsInterestExpenseAmount" xlink:to="us-gaap_RepurchaseAgreementsInterestExpenseAmount_lbl_4090ae" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RepurchaseAgreementsInterestExpenseAmount_lbl_4090ae" xml:lang="en-US">Purchase ordinary amount</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockRepurchasedDuringPeriodShares" xlink:to="us-gaap_StockRepurchasedDuringPeriodShares_lbl_3e7c68" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_StockRepurchasedDuringPeriodShares_lbl_3e7c68" xml:lang="en-US">Purchase ordinary shares</link:label>
  </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>11
<FILENAME>clwt-20241231_cal.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION CALCULATION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii" standalone="yes"?>
<!--XBRL Document Created with XBRLMaster-->
<!--Version: 2.3.08-->
<!--Based on XBRL 2.1-->
<!--Date of creation: 04/30/2025-->
<!--Software architectural design and coding: A'c Dharmapremananda Avt.-->
<!--Copyright (c) 2025 I-NET Business Solutions, Inc. All Rights Reserved.-->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef roleURI="http://euro-tech.com/role/Cover" xlink:href="clwt-20241231.xsd#Cover" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/ConsolidatedBalanceSheets" xlink:href="clwt-20241231.xsd#ConsolidatedBalanceSheets" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/ConsolidatedBalanceSheetsParenthetical" xlink:href="clwt-20241231.xsd#ConsolidatedBalanceSheetsParenthetical" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss" xlink:href="clwt-20241231.xsd#ConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows" xlink:href="clwt-20241231.xsd#ConsolidatedStatementsOfCashFlows" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity" xlink:href="clwt-20241231.xsd#ConsolidatedStatementsOfChangesInShareholdersEquity" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/OrganizationAndBusinessBackground" xlink:href="clwt-20241231.xsd#OrganizationAndBusinessBackground" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/SummaryOfSignificantAccountingPolicies" xlink:href="clwt-20241231.xsd#SummaryOfSignificantAccountingPolicies" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/SegmentInformation" xlink:href="clwt-20241231.xsd#SegmentInformation" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/AccountsReceivableNet" xlink:href="clwt-20241231.xsd#AccountsReceivableNet" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/PrepaymentsAndOtherCurrentAssets" xlink:href="clwt-20241231.xsd#PrepaymentsAndOtherCurrentAssets" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/ContractAssetsAndLiabilities" xlink:href="clwt-20241231.xsd#ContractAssetsAndLiabilities" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/Inventories" xlink:href="clwt-20241231.xsd#Inventories" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/ShortTermAndLongTermInvestments" xlink:href="clwt-20241231.xsd#ShortTermAndLongTermInvestments" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/PropertyPlantAndEquipmentNet" xlink:href="clwt-20241231.xsd#PropertyPlantAndEquipmentNet" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/IntangibleAssetsNet" xlink:href="clwt-20241231.xsd#IntangibleAssetsNet" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/LandUseRightNet" xlink:href="clwt-20241231.xsd#LandUseRightNet" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/BankBorrowings" xlink:href="clwt-20241231.xsd#BankBorrowings" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/InvestmentsInAffiliates" xlink:href="clwt-20241231.xsd#InvestmentsInAffiliates" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/Goodwill" xlink:href="clwt-20241231.xsd#Goodwill" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/OtherPayablesAndAccruedExpenses" xlink:href="clwt-20241231.xsd#OtherPayablesAndAccruedExpenses" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/OtherTaxesPayable" xlink:href="clwt-20241231.xsd#OtherTaxesPayable" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/CapitalReserve" xlink:href="clwt-20241231.xsd#CapitalReserve" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/OtherIncomeAndOtherLosses" xlink:href="clwt-20241231.xsd#OtherIncomeAndOtherLosses" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/LeaseObligations" xlink:href="clwt-20241231.xsd#LeaseObligations" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/OrdinaryShare" xlink:href="clwt-20241231.xsd#OrdinaryShare" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/TreasuryStock" xlink:href="clwt-20241231.xsd#TreasuryStock" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/PrcStatutoryReserves" xlink:href="clwt-20241231.xsd#PrcStatutoryReserves" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/OtherIncomeNet" xlink:href="clwt-20241231.xsd#OtherIncomeNet" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/IncomeTaxes" xlink:href="clwt-20241231.xsd#IncomeTaxes" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/NetIncomePerOrdinaryShare" xlink:href="clwt-20241231.xsd#NetIncomePerOrdinaryShare" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/StockOptions" xlink:href="clwt-20241231.xsd#StockOptions" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/PensionPlan" xlink:href="clwt-20241231.xsd#PensionPlan" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/RiskFactors" xlink:href="clwt-20241231.xsd#RiskFactors" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/RiskAndUncertainty" xlink:href="clwt-20241231.xsd#RiskAndUncertainty" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/RelatedPartyTransactions" xlink:href="clwt-20241231.xsd#RelatedPartyTransactions" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/CommitmentsAndContingencies" xlink:href="clwt-20241231.xsd#CommitmentsAndContingencies" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/SubsequentEvents" xlink:href="clwt-20241231.xsd#SubsequentEvents" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies" xlink:href="clwt-20241231.xsd#SummaryOfSignificantAccountingPoliciesPolicies" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/OrganizationAndBusinessBackgroundTables" xlink:href="clwt-20241231.xsd#OrganizationAndBusinessBackgroundTables" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesTables" xlink:href="clwt-20241231.xsd#SummaryOfSignificantAccountingPoliciesTables" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/SegmentInformationTables" xlink:href="clwt-20241231.xsd#SegmentInformationTables" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/AccountsReceivableNetTables" xlink:href="clwt-20241231.xsd#AccountsReceivableNetTables" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/PrepaymentsAndOtherCurrentAssetsTables" xlink:href="clwt-20241231.xsd#PrepaymentsAndOtherCurrentAssetsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/ContractAssetsAndLiabilitiesTables" xlink:href="clwt-20241231.xsd#ContractAssetsAndLiabilitiesTables" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/IntangibleAssetsNetTable" xlink:href="clwt-20241231.xsd#IntangibleAssetsNetTable" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/LandUseRightNetTable" xlink:href="clwt-20241231.xsd#LandUseRightNetTable" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/BankBorrowingsTable" xlink:href="clwt-20241231.xsd#BankBorrowingsTable" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/InventoriesTables" xlink:href="clwt-20241231.xsd#InventoriesTables" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/PropertyPlantAndEquipmentNetTables" xlink:href="clwt-20241231.xsd#PropertyPlantAndEquipmentNetTables" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/InvestmentsInAffiliatesTables" xlink:href="clwt-20241231.xsd#InvestmentsInAffiliatesTables" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/OtherPayablesAndAccruedExpensesTables" xlink:href="clwt-20241231.xsd#OtherPayablesAndAccruedExpensesTables" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/LeaseObligationsTables" xlink:href="clwt-20241231.xsd#LeaseObligationsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/OrdinaryShareTables" xlink:href="clwt-20241231.xsd#OrdinaryShareTables" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/OtherIncomeTables" xlink:href="clwt-20241231.xsd#OtherIncomeTables" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/IncomeTaxesTables" xlink:href="clwt-20241231.xsd#IncomeTaxesTables" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/OtherIncomeAndOtherLossesTable" xlink:href="clwt-20241231.xsd#OtherIncomeAndOtherLossesTable" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/NetIncomePerOrdinaryShareTables" xlink:href="clwt-20241231.xsd#NetIncomePerOrdinaryShareTables" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/StockOptionsTables" xlink:href="clwt-20241231.xsd#StockOptionsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/CommitmentsAndContingenciesTables" xlink:href="clwt-20241231.xsd#CommitmentsAndContingenciesTables" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/OrganizationAndBusinessDetails" xlink:href="clwt-20241231.xsd#OrganizationAndBusinessDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetails" xlink:href="clwt-20241231.xsd#SummaryOfSignificantAccountingPoliciesDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetails1" xlink:href="clwt-20241231.xsd#SummaryOfSignificantAccountingPoliciesDetails1" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" xlink:href="clwt-20241231.xsd#SummaryOfSignificantAccountingPoliciesDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/SegmentInformationDetails" xlink:href="clwt-20241231.xsd#SegmentInformationDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/SegmentInformationDetails1" xlink:href="clwt-20241231.xsd#SegmentInformationDetails1" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/SegmentInformationDetails2" xlink:href="clwt-20241231.xsd#SegmentInformationDetails2" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/SegmentInformationDetails3" xlink:href="clwt-20241231.xsd#SegmentInformationDetails3" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/LeaseObligationsDetails" xlink:href="clwt-20241231.xsd#LeaseObligationsDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/LeaseObligationsDetails1" xlink:href="clwt-20241231.xsd#LeaseObligationsDetails1" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/LeaseObligationsDetails2" xlink:href="clwt-20241231.xsd#LeaseObligationsDetails2" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/LeaseObligationsDetails3" xlink:href="clwt-20241231.xsd#LeaseObligationsDetails3" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/LeaseObligationsDetailsNarrative" xlink:href="clwt-20241231.xsd#LeaseObligationsDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/AccountsReceivableNetDetails" xlink:href="clwt-20241231.xsd#AccountsReceivableNetDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/AccountsReceivableNetDetails1" xlink:href="clwt-20241231.xsd#AccountsReceivableNetDetails1" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/AccountsReceivableNetDetails2" xlink:href="clwt-20241231.xsd#AccountsReceivableNetDetails2" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/PrepaymentsAndOtherCurrentAssetsDetails" xlink:href="clwt-20241231.xsd#PrepaymentsAndOtherCurrentAssetsDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails" xlink:href="clwt-20241231.xsd#ContractAssetsAndLiabilitiesDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails1" xlink:href="clwt-20241231.xsd#ContractAssetsAndLiabilitiesDetails1" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails2" xlink:href="clwt-20241231.xsd#ContractAssetsAndLiabilitiesDetails2" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails3" xlink:href="clwt-20241231.xsd#ContractAssetsAndLiabilitiesDetails3" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails4" xlink:href="clwt-20241231.xsd#ContractAssetsAndLiabilitiesDetails4" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails5" xlink:href="clwt-20241231.xsd#ContractAssetsAndLiabilitiesDetails5" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetailsNarrative" xlink:href="clwt-20241231.xsd#ContractAssetsAndLiabilitiesDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/InventoriesDetails" xlink:href="clwt-20241231.xsd#InventoriesDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/InventoriesDetailsNarrative" xlink:href="clwt-20241231.xsd#InventoriesDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/ShortTermAndLongTermInvestmentsDetailsNarrative" xlink:href="clwt-20241231.xsd#ShortTermAndLongTermInvestmentsDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/PropertyPlantAndEquipmentNetDetails" xlink:href="clwt-20241231.xsd#PropertyPlantAndEquipmentNetDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/PropertyPlantAndEquipmentNetDetails1" xlink:href="clwt-20241231.xsd#PropertyPlantAndEquipmentNetDetails1" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/PropertyPlantAndEquipmentNetDetailsNarrative" xlink:href="clwt-20241231.xsd#PropertyPlantAndEquipmentNetDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/IntangibleAssetsNetDetails" xlink:href="clwt-20241231.xsd#IntangibleAssetsNetDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/IntangibleAssetsNetDetails1" xlink:href="clwt-20241231.xsd#IntangibleAssetsNetDetails1" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/IntangibleAssetsNetDetails2" xlink:href="clwt-20241231.xsd#IntangibleAssetsNetDetails2" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/LandUseRightNetDetails" xlink:href="clwt-20241231.xsd#LandUseRightNetDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/LandUseRightNetDetails1" xlink:href="clwt-20241231.xsd#LandUseRightNetDetails1" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/LandUseRightNetDetails2" xlink:href="clwt-20241231.xsd#LandUseRightNetDetails2" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/LandUseRightNetDetailsNarrative" xlink:href="clwt-20241231.xsd#LandUseRightNetDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/BankBorrowingsDetails" xlink:href="clwt-20241231.xsd#BankBorrowingsDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/BankBorrowingsDetailsNarrative" xlink:href="clwt-20241231.xsd#BankBorrowingsDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/InvestmentsInAffiliatesDetails" xlink:href="clwt-20241231.xsd#InvestmentsInAffiliatesDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/InvestmentsInAffiliatesDetails1" xlink:href="clwt-20241231.xsd#InvestmentsInAffiliatesDetails1" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/InvestmentsInAffiliatesDetails2" xlink:href="clwt-20241231.xsd#InvestmentsInAffiliatesDetails2" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/InvestmentsInAffiliatesDetailsNarrative" xlink:href="clwt-20241231.xsd#InvestmentsInAffiliatesDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/GoodwillDetailsNarrative" xlink:href="clwt-20241231.xsd#GoodwillDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/OtherPayablesAndAccruedExpensesDetails" xlink:href="clwt-20241231.xsd#OtherPayablesAndAccruedExpensesDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/OtherTaxesPayableDetailsNarrative" xlink:href="clwt-20241231.xsd#OtherTaxesPayableDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/OtherIncomeAndOtherLossesDetails" xlink:href="clwt-20241231.xsd#OtherIncomeAndOtherLossesDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/OtherIncomeAndOtherLossesDetails1" xlink:href="clwt-20241231.xsd#OtherIncomeAndOtherLossesDetails1" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/OrdinaryShareDetails" xlink:href="clwt-20241231.xsd#OrdinaryShareDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/OrdinaryShareDetailsNarrative" xlink:href="clwt-20241231.xsd#OrdinaryShareDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/TreasuryStockDetailsNarrative" xlink:href="clwt-20241231.xsd#TreasuryStockDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/PrcStatutoryReservesDetailsNarrative" xlink:href="clwt-20241231.xsd#PrcStatutoryReservesDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/OtherIncomeNetDetails" xlink:href="clwt-20241231.xsd#OtherIncomeNetDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/IncomeTaxesDetails" xlink:href="clwt-20241231.xsd#IncomeTaxesDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/IncomeTaxesDetails1" xlink:href="clwt-20241231.xsd#IncomeTaxesDetails1" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/IncomeTaxesDetails2" xlink:href="clwt-20241231.xsd#IncomeTaxesDetails2" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/IncomeTaxesDetailsNarrative" xlink:href="clwt-20241231.xsd#IncomeTaxesDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/NetIncomePerOrdinaryShareDetails" xlink:href="clwt-20241231.xsd#NetIncomePerOrdinaryShareDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/StockOptionsDetails" xlink:href="clwt-20241231.xsd#StockOptionsDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/StockOptionsDetailsNarrative" xlink:href="clwt-20241231.xsd#StockOptionsDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/PensionPlanDetailsNarrative" xlink:href="clwt-20241231.xsd#PensionPlanDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/RiskFactorsDetailsNarrative" xlink:href="clwt-20241231.xsd#RiskFactorsDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/RiskAndUncertaintyDetailsNarrative" xlink:href="clwt-20241231.xsd#RiskAndUncertaintyDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/RelatedPartyTransactionsDetailsNarrative" xlink:href="clwt-20241231.xsd#RelatedPartyTransactionsDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/CommitmentsAndContingenciesDetails" xlink:href="clwt-20241231.xsd#CommitmentsAndContingenciesDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/CommitmentsAndContingenciesDetailsNarrative" xlink:href="clwt-20241231.xsd#CommitmentsAndContingenciesDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/SubsequentEventsDetailsNarrative" xlink:href="clwt-20241231.xsd#SubsequentEventsDetailsNarrative" xlink:type="simple" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/Cover" xlink:title="00000001 - Document - Document and Entity Information" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/ConsolidatedBalanceSheets" xlink:title="110200 - Statement - CONSOLIDATED BALANCE SHEETS" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/ConsolidatedBalanceSheetsParenthetical" xlink:title="110201 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss" xlink:title="124100 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME (LOSS)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows" xlink:title="170000 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity" xlink:title="170001 - Statement - CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS' EQUITY" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/OrganizationAndBusinessBackground" xlink:title="995551 - Disclosure - Organization and Business Background" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/SummaryOfSignificantAccountingPolicies" xlink:title="995552 - Disclosure - Summary of significant accounting policies" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/SegmentInformation" xlink:title="995553 - Disclosure - Segment information" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/AccountsReceivableNet" xlink:title="995554 - Disclosure - Accounts receivable net" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/PrepaymentsAndOtherCurrentAssets" xlink:title="995555 - Disclosure - Prepayments and other current assets" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/ContractAssetsAndLiabilities" xlink:title="995556 - Disclosure - Contract assets and liabilities" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/Inventories" xlink:title="995557 - Disclosure - Inventories" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/ShortTermAndLongTermInvestments" xlink:title="995558 - Disclosure - Short-term and long-term investments" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/PropertyPlantAndEquipmentNet" xlink:title="995559 - Disclosure - Property plant and equipment net" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/IntangibleAssetsNet" xlink:title="995560 - Disclosure - Intangible assets, net" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/LandUseRightNet" xlink:title="995561 - Disclosure - Land use right, net" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/BankBorrowings" xlink:title="995562 - Disclosure - Bank borrowings" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/InvestmentsInAffiliates" xlink:title="995563 - Disclosure - Investments in affiliates" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/Goodwill" xlink:title="995564 - Disclosure - Goodwill" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/OtherPayablesAndAccruedExpenses" xlink:title="995565 - Disclosure - Other payables and accrued expenses" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/OtherTaxesPayable" xlink:title="995566 - Disclosure - Other taxes payable" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/CapitalReserve" xlink:title="995567 - Disclosure - Capital reserve" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/OtherIncomeAndOtherLosses" xlink:title="995568 - Disclosure - Other income and other losses" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/LeaseObligations" xlink:title="995569 - Disclosure - Lease obligations" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/OrdinaryShare" xlink:title="995570 - Disclosure - Ordinary share" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/TreasuryStock" xlink:title="995571 - Disclosure - Treasury stock" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/PrcStatutoryReserves" xlink:title="995572 - Disclosure - PRC statutory reserves" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/OtherIncomeNet" xlink:title="995573 - Disclosure - Other income net" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/IncomeTaxes" xlink:title="995574 - Disclosure - Income taxes" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/NetIncomePerOrdinaryShare" xlink:title="995575 - Disclosure - Net income per ordinary share" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/StockOptions" xlink:title="995576 - Disclosure - Stock options" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/PensionPlan" xlink:title="995577 - Disclosure - Pension plan" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/RiskFactors" xlink:title="995578 - Disclosure - Risk factors" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/RiskAndUncertainty" xlink:title="995579 - Disclosure - Risk and uncertainty" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/RelatedPartyTransactions" xlink:title="995580 - Disclosure - Related party transactions" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/CommitmentsAndContingencies" xlink:title="995581 - Disclosure - Commitments and contingencies" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/SubsequentEvents" xlink:title="995582 - Disclosure - Subsequent events" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies" xlink:title="995583 - Disclosure - Summary of significant accounting policies (Policies)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/OrganizationAndBusinessBackgroundTables" xlink:title="995584 - Disclosure - Organization and Business Background (Tables)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesTables" xlink:title="995585 - Disclosure - Summary of significant accounting policies (Tables)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/SegmentInformationTables" xlink:title="995586 - Disclosure - Segment information (Tables)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/AccountsReceivableNetTables" xlink:title="995587 - Disclosure - Accounts receivable net (Tables)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/PrepaymentsAndOtherCurrentAssetsTables" xlink:title="995588 - Disclosure - Prepayments and other current assets (Tables)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/ContractAssetsAndLiabilitiesTables" xlink:title="995589 - Disclosure - Contract assets and liabilities (Tables)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/IntangibleAssetsNetTable" xlink:title="995590 - Disclosure - Intangible assets, net (Table)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/LandUseRightNetTable" xlink:title="995591 - Disclosure - Land use right, net (Table)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/BankBorrowingsTable" xlink:title="995592 - Disclosure - Bank borrowings (Table)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/InventoriesTables" xlink:title="995593 - Disclosure - Inventories (Tables)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/PropertyPlantAndEquipmentNetTables" xlink:title="995594 - Disclosure - Property plant and equipment net (Tables)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/InvestmentsInAffiliatesTables" xlink:title="995595 - Disclosure - Investments in affiliates (Tables)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/OtherPayablesAndAccruedExpensesTables" xlink:title="995596 - Disclosure - Other payables and accrued expenses (Tables)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/LeaseObligationsTables" xlink:title="995597 - Disclosure - Lease obligations (Tables)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/OrdinaryShareTables" xlink:title="995598 - Disclosure - Ordinary share (Tables)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/OtherIncomeTables" xlink:title="995599 - Disclosure - Other income (Tables)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/IncomeTaxesTables" xlink:title="995600 - Disclosure - Income taxes (Tables)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/OtherIncomeAndOtherLossesTable" xlink:title="995601 - Disclosure - Other income and other losses (Table)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/NetIncomePerOrdinaryShareTables" xlink:title="995602 - Disclosure - Net income per ordinary share (Tables)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/StockOptionsTables" xlink:title="995603 - Disclosure - Stock options (Tables)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/CommitmentsAndContingenciesTables" xlink:title="995604 - Disclosure - Commitments and contingencies (Tables)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/OrganizationAndBusinessDetails" xlink:title="995605 - Disclosure - Organization and business (Details)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetails" xlink:title="995606 - Disclosure - Summary of significant accounting policies (Details)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetails1" xlink:title="995607 - Disclosure - Summary of significant accounting policies (Details 1)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" xlink:title="995608 - Disclosure - Summary of significant accounting policies (Details Narrative)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/SegmentInformationDetails" xlink:title="995609 - Disclosure - Segment information (Details)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/SegmentInformationDetails1" xlink:title="995610 - Disclosure - Segment information (Details 1)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/SegmentInformationDetails2" xlink:title="995611 - Disclosure - Segment information (Details 2)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/SegmentInformationDetails3" xlink:title="995612 - Disclosure - Segment information (Details 3)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/LeaseObligationsDetails" xlink:title="995613 - Disclosure - Lease obligations (Details)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/LeaseObligationsDetails1" xlink:title="995614 - Disclosure - Lease obligations (Details 1)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/LeaseObligationsDetails2" xlink:title="995615 - Disclosure - Lease obligations (Details 2)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/LeaseObligationsDetails3" xlink:title="995616 - Disclosure - Lease obligations (Details 3)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/LeaseObligationsDetailsNarrative" xlink:title="995617 - Disclosure - Lease obligations (Details Narrative)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/AccountsReceivableNetDetails" xlink:title="995618 - Disclosure - Accounts receivable net (Details)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/AccountsReceivableNetDetails1" xlink:title="995619 - Disclosure - Accounts receivable net (Details 1)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/AccountsReceivableNetDetails2" xlink:title="995620 - Disclosure - Accounts receivable net (Details 2)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/PrepaymentsAndOtherCurrentAssetsDetails" xlink:title="995621 - Disclosure - Prepayments and other current assets (Details)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails" xlink:title="995622 - Disclosure - Contract assets and liabilities (Details)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails1" xlink:title="995623 - Disclosure - Contract assets and liabilities (Details 1)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails2" xlink:title="995624 - Disclosure - Contract assets and liabilities (Details 2)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails3" xlink:title="995625 - Disclosure - Contract assets and liabilities (Details 3)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails4" xlink:title="995626 - Disclosure - Contract assets and liabilities (Details 4)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails5" xlink:title="995627 - Disclosure - Contract assets and liabilities (Details 5)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetailsNarrative" xlink:title="995628 - Disclosure - Contract assets and liabilities (Details Narrative)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/InventoriesDetails" xlink:title="995629 - Disclosure - Inventories (Details)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/InventoriesDetailsNarrative" xlink:title="995630 - Disclosure - Inventories (Details Narrative)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/ShortTermAndLongTermInvestmentsDetailsNarrative" xlink:title="995631 - Disclosure - Short-term and long-term investments (Details Narrative)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/PropertyPlantAndEquipmentNetDetails" xlink:title="995632 - Disclosure - Property plant and equipment net (Details)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/PropertyPlantAndEquipmentNetDetails1" xlink:title="995633 - Disclosure - Property plant and equipment net (Details 1)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/PropertyPlantAndEquipmentNetDetailsNarrative" xlink:title="995634 - Disclosure - Property plant and equipment net (Details Narrative)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/IntangibleAssetsNetDetails" xlink:title="995635 - Disclosure - Intangible assets, net (Details)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/IntangibleAssetsNetDetails1" xlink:title="995636 - Disclosure - Intangible assets, net (Details 1)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/IntangibleAssetsNetDetails2" xlink:title="995637 - Disclosure - Intangible assets, net (Details 2)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/LandUseRightNetDetails" xlink:title="995638 - Disclosure - Land use right net (Details)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/LandUseRightNetDetails1" xlink:title="995639 - Disclosure - Land use right net (Details 1)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/LandUseRightNetDetails2" xlink:title="995640 - Disclosure - Land use right net (Details 2)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/LandUseRightNetDetailsNarrative" xlink:title="995641 - Disclosure - Land use right net (Details Narrative)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/BankBorrowingsDetails" xlink:title="995642 - Disclosure - Bank borrowings (Details)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/BankBorrowingsDetailsNarrative" xlink:title="995643 - Disclosure - Bank borrowings (Details Narrative)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/InvestmentsInAffiliatesDetails" xlink:title="995644 - Disclosure - Investments in affiliates (Details)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/InvestmentsInAffiliatesDetails1" xlink:title="995645 - Disclosure - Investments in affiliates (Details 1)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/InvestmentsInAffiliatesDetails2" xlink:title="995646 - Disclosure - Investments in affiliates (Details 2)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/InvestmentsInAffiliatesDetailsNarrative" xlink:title="995647 - Disclosure - Investments in affiliates (Details Narrative)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/GoodwillDetailsNarrative" xlink:title="995648 - Disclosure - Goodwill (Details Narrative)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/OtherPayablesAndAccruedExpensesDetails" xlink:title="995649 - Disclosure - Other payables and accrued expenses (Details)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/OtherTaxesPayableDetailsNarrative" xlink:title="995650 - Disclosure - Other taxes payable (Details Narrative)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/OtherIncomeAndOtherLossesDetails" xlink:title="995651 - Disclosure - Other income and other losses (Details)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/OtherIncomeAndOtherLossesDetails1" xlink:title="995652 - Disclosure - Other income and other losses (Details 1)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/OrdinaryShareDetails" xlink:title="995653 - Disclosure - Ordinary share (Details)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/OrdinaryShareDetailsNarrative" xlink:title="995654 - Disclosure - Ordinary share (Details Narrative)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/TreasuryStockDetailsNarrative" xlink:title="995655 - Disclosure - Treasury stock (Details Narrative)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/PrcStatutoryReservesDetailsNarrative" xlink:title="995656 - Disclosure - PRC statutory reserves (Details Narrative)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/OtherIncomeNetDetails" xlink:title="995657 - Disclosure - Other income net (Details)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/IncomeTaxesDetails" xlink:title="995658 - Disclosure - Income taxes (Details)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/IncomeTaxesDetails1" xlink:title="995659 - Disclosure - Income taxes (Details 1)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/IncomeTaxesDetails2" xlink:title="995660 - Disclosure - Income taxes (Details 2)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/IncomeTaxesDetailsNarrative" xlink:title="995661 - Disclosure - Income taxes (Details Narrative)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/NetIncomePerOrdinaryShareDetails" xlink:title="995662 - Disclosure - Net income per ordinary share (Details)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/StockOptionsDetails" xlink:title="995663 - Disclosure - Stock options (Details)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/StockOptionsDetailsNarrative" xlink:title="995664 - Disclosure - Stock options (Details Narrative)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/PensionPlanDetailsNarrative" xlink:title="995665 - Disclosure - Pension plan (Details Narrative)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/RiskFactorsDetailsNarrative" xlink:title="995666 - Disclosure - Risk factors (Details Narrative)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/RiskAndUncertaintyDetailsNarrative" xlink:title="995667 - Disclosure - Risk and uncertainty (Details Narrative)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/RelatedPartyTransactionsDetailsNarrative" xlink:title="995668 - Disclosure - Related party transactions (Details Narrative)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/CommitmentsAndContingenciesDetails" xlink:title="995669 - Disclosure - Commitments and contingencies (Details)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/CommitmentsAndContingenciesDetailsNarrative" xlink:title="995670 - Disclosure - Commitments and contingencies (Details Narrative)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/SubsequentEventsDetailsNarrative" xlink:title="995671 - Disclosure - Subsequent events (Details Narrative)" />
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>12
<FILENAME>clwt-20241231_pre.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii" standalone="yes"?>
<!--XBRL Document Created with XBRLMaster-->
<!--Version: 2.3.08-->
<!--Based on XBRL 2.1-->
<!--Date of creation: 04/30/2025-->
<!--Software architectural design and coding: A'c Dharmapremananda Avt.-->
<!--Copyright (c) 2025 I-NET Business Solutions, Inc. All Rights Reserved.-->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef roleURI="http://euro-tech.com/role/Cover" xlink:href="clwt-20241231.xsd#Cover" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/ConsolidatedBalanceSheets" xlink:href="clwt-20241231.xsd#ConsolidatedBalanceSheets" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/ConsolidatedBalanceSheetsParenthetical" xlink:href="clwt-20241231.xsd#ConsolidatedBalanceSheetsParenthetical" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss" xlink:href="clwt-20241231.xsd#ConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows" xlink:href="clwt-20241231.xsd#ConsolidatedStatementsOfCashFlows" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity" xlink:href="clwt-20241231.xsd#ConsolidatedStatementsOfChangesInShareholdersEquity" xlink:type="simple" />
  <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#InsiderTradingArrangements" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/OrganizationAndBusinessBackground" xlink:href="clwt-20241231.xsd#OrganizationAndBusinessBackground" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/SummaryOfSignificantAccountingPolicies" xlink:href="clwt-20241231.xsd#SummaryOfSignificantAccountingPolicies" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/SegmentInformation" xlink:href="clwt-20241231.xsd#SegmentInformation" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/AccountsReceivableNet" xlink:href="clwt-20241231.xsd#AccountsReceivableNet" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/PrepaymentsAndOtherCurrentAssets" xlink:href="clwt-20241231.xsd#PrepaymentsAndOtherCurrentAssets" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/ContractAssetsAndLiabilities" xlink:href="clwt-20241231.xsd#ContractAssetsAndLiabilities" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/Inventories" xlink:href="clwt-20241231.xsd#Inventories" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/ShortTermAndLongTermInvestments" xlink:href="clwt-20241231.xsd#ShortTermAndLongTermInvestments" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/PropertyPlantAndEquipmentNet" xlink:href="clwt-20241231.xsd#PropertyPlantAndEquipmentNet" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/IntangibleAssetsNet" xlink:href="clwt-20241231.xsd#IntangibleAssetsNet" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/LandUseRightNet" xlink:href="clwt-20241231.xsd#LandUseRightNet" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/BankBorrowings" xlink:href="clwt-20241231.xsd#BankBorrowings" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/InvestmentsInAffiliates" xlink:href="clwt-20241231.xsd#InvestmentsInAffiliates" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/Goodwill" xlink:href="clwt-20241231.xsd#Goodwill" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/OtherPayablesAndAccruedExpenses" xlink:href="clwt-20241231.xsd#OtherPayablesAndAccruedExpenses" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/OtherTaxesPayable" xlink:href="clwt-20241231.xsd#OtherTaxesPayable" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/CapitalReserve" xlink:href="clwt-20241231.xsd#CapitalReserve" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/OtherIncomeAndOtherLosses" xlink:href="clwt-20241231.xsd#OtherIncomeAndOtherLosses" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/LeaseObligations" xlink:href="clwt-20241231.xsd#LeaseObligations" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/OrdinaryShare" xlink:href="clwt-20241231.xsd#OrdinaryShare" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/TreasuryStock" xlink:href="clwt-20241231.xsd#TreasuryStock" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/PrcStatutoryReserves" xlink:href="clwt-20241231.xsd#PrcStatutoryReserves" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/OtherIncomeNet" xlink:href="clwt-20241231.xsd#OtherIncomeNet" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/IncomeTaxes" xlink:href="clwt-20241231.xsd#IncomeTaxes" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/NetIncomePerOrdinaryShare" xlink:href="clwt-20241231.xsd#NetIncomePerOrdinaryShare" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/StockOptions" xlink:href="clwt-20241231.xsd#StockOptions" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/PensionPlan" xlink:href="clwt-20241231.xsd#PensionPlan" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/RiskFactors" xlink:href="clwt-20241231.xsd#RiskFactors" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/RiskAndUncertainty" xlink:href="clwt-20241231.xsd#RiskAndUncertainty" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/RelatedPartyTransactions" xlink:href="clwt-20241231.xsd#RelatedPartyTransactions" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/CommitmentsAndContingencies" xlink:href="clwt-20241231.xsd#CommitmentsAndContingencies" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/SubsequentEvents" xlink:href="clwt-20241231.xsd#SubsequentEvents" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies" xlink:href="clwt-20241231.xsd#SummaryOfSignificantAccountingPoliciesPolicies" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/OrganizationAndBusinessBackgroundTables" xlink:href="clwt-20241231.xsd#OrganizationAndBusinessBackgroundTables" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesTables" xlink:href="clwt-20241231.xsd#SummaryOfSignificantAccountingPoliciesTables" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/SegmentInformationTables" xlink:href="clwt-20241231.xsd#SegmentInformationTables" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/AccountsReceivableNetTables" xlink:href="clwt-20241231.xsd#AccountsReceivableNetTables" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/PrepaymentsAndOtherCurrentAssetsTables" xlink:href="clwt-20241231.xsd#PrepaymentsAndOtherCurrentAssetsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/ContractAssetsAndLiabilitiesTables" xlink:href="clwt-20241231.xsd#ContractAssetsAndLiabilitiesTables" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/IntangibleAssetsNetTable" xlink:href="clwt-20241231.xsd#IntangibleAssetsNetTable" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/LandUseRightNetTable" xlink:href="clwt-20241231.xsd#LandUseRightNetTable" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/BankBorrowingsTable" xlink:href="clwt-20241231.xsd#BankBorrowingsTable" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/InventoriesTables" xlink:href="clwt-20241231.xsd#InventoriesTables" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/PropertyPlantAndEquipmentNetTables" xlink:href="clwt-20241231.xsd#PropertyPlantAndEquipmentNetTables" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/InvestmentsInAffiliatesTables" xlink:href="clwt-20241231.xsd#InvestmentsInAffiliatesTables" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/OtherPayablesAndAccruedExpensesTables" xlink:href="clwt-20241231.xsd#OtherPayablesAndAccruedExpensesTables" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/LeaseObligationsTables" xlink:href="clwt-20241231.xsd#LeaseObligationsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/OrdinaryShareTables" xlink:href="clwt-20241231.xsd#OrdinaryShareTables" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/OtherIncomeTables" xlink:href="clwt-20241231.xsd#OtherIncomeTables" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/IncomeTaxesTables" xlink:href="clwt-20241231.xsd#IncomeTaxesTables" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/OtherIncomeAndOtherLossesTable" xlink:href="clwt-20241231.xsd#OtherIncomeAndOtherLossesTable" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/NetIncomePerOrdinaryShareTables" xlink:href="clwt-20241231.xsd#NetIncomePerOrdinaryShareTables" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/StockOptionsTables" xlink:href="clwt-20241231.xsd#StockOptionsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/CommitmentsAndContingenciesTables" xlink:href="clwt-20241231.xsd#CommitmentsAndContingenciesTables" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/OrganizationAndBusinessDetails" xlink:href="clwt-20241231.xsd#OrganizationAndBusinessDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetails" xlink:href="clwt-20241231.xsd#SummaryOfSignificantAccountingPoliciesDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetails1" xlink:href="clwt-20241231.xsd#SummaryOfSignificantAccountingPoliciesDetails1" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" xlink:href="clwt-20241231.xsd#SummaryOfSignificantAccountingPoliciesDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/SegmentInformationDetails" xlink:href="clwt-20241231.xsd#SegmentInformationDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/SegmentInformationDetails1" xlink:href="clwt-20241231.xsd#SegmentInformationDetails1" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/SegmentInformationDetails2" xlink:href="clwt-20241231.xsd#SegmentInformationDetails2" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/SegmentInformationDetails3" xlink:href="clwt-20241231.xsd#SegmentInformationDetails3" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/LeaseObligationsDetails" xlink:href="clwt-20241231.xsd#LeaseObligationsDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/LeaseObligationsDetails1" xlink:href="clwt-20241231.xsd#LeaseObligationsDetails1" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/LeaseObligationsDetails2" xlink:href="clwt-20241231.xsd#LeaseObligationsDetails2" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/LeaseObligationsDetails3" xlink:href="clwt-20241231.xsd#LeaseObligationsDetails3" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/LeaseObligationsDetailsNarrative" xlink:href="clwt-20241231.xsd#LeaseObligationsDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/AccountsReceivableNetDetails" xlink:href="clwt-20241231.xsd#AccountsReceivableNetDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/AccountsReceivableNetDetails1" xlink:href="clwt-20241231.xsd#AccountsReceivableNetDetails1" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/AccountsReceivableNetDetails2" xlink:href="clwt-20241231.xsd#AccountsReceivableNetDetails2" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/PrepaymentsAndOtherCurrentAssetsDetails" xlink:href="clwt-20241231.xsd#PrepaymentsAndOtherCurrentAssetsDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails" xlink:href="clwt-20241231.xsd#ContractAssetsAndLiabilitiesDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails1" xlink:href="clwt-20241231.xsd#ContractAssetsAndLiabilitiesDetails1" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails2" xlink:href="clwt-20241231.xsd#ContractAssetsAndLiabilitiesDetails2" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails3" xlink:href="clwt-20241231.xsd#ContractAssetsAndLiabilitiesDetails3" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails4" xlink:href="clwt-20241231.xsd#ContractAssetsAndLiabilitiesDetails4" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails5" xlink:href="clwt-20241231.xsd#ContractAssetsAndLiabilitiesDetails5" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetailsNarrative" xlink:href="clwt-20241231.xsd#ContractAssetsAndLiabilitiesDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/InventoriesDetails" xlink:href="clwt-20241231.xsd#InventoriesDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/InventoriesDetailsNarrative" xlink:href="clwt-20241231.xsd#InventoriesDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/ShortTermAndLongTermInvestmentsDetailsNarrative" xlink:href="clwt-20241231.xsd#ShortTermAndLongTermInvestmentsDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/PropertyPlantAndEquipmentNetDetails" xlink:href="clwt-20241231.xsd#PropertyPlantAndEquipmentNetDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/PropertyPlantAndEquipmentNetDetails1" xlink:href="clwt-20241231.xsd#PropertyPlantAndEquipmentNetDetails1" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/PropertyPlantAndEquipmentNetDetailsNarrative" xlink:href="clwt-20241231.xsd#PropertyPlantAndEquipmentNetDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/IntangibleAssetsNetDetails" xlink:href="clwt-20241231.xsd#IntangibleAssetsNetDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/IntangibleAssetsNetDetails1" xlink:href="clwt-20241231.xsd#IntangibleAssetsNetDetails1" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/IntangibleAssetsNetDetails2" xlink:href="clwt-20241231.xsd#IntangibleAssetsNetDetails2" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/LandUseRightNetDetails" xlink:href="clwt-20241231.xsd#LandUseRightNetDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/LandUseRightNetDetails1" xlink:href="clwt-20241231.xsd#LandUseRightNetDetails1" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/LandUseRightNetDetails2" xlink:href="clwt-20241231.xsd#LandUseRightNetDetails2" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/LandUseRightNetDetailsNarrative" xlink:href="clwt-20241231.xsd#LandUseRightNetDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/BankBorrowingsDetails" xlink:href="clwt-20241231.xsd#BankBorrowingsDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/BankBorrowingsDetailsNarrative" xlink:href="clwt-20241231.xsd#BankBorrowingsDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/InvestmentsInAffiliatesDetails" xlink:href="clwt-20241231.xsd#InvestmentsInAffiliatesDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/InvestmentsInAffiliatesDetails1" xlink:href="clwt-20241231.xsd#InvestmentsInAffiliatesDetails1" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/InvestmentsInAffiliatesDetails2" xlink:href="clwt-20241231.xsd#InvestmentsInAffiliatesDetails2" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/InvestmentsInAffiliatesDetailsNarrative" xlink:href="clwt-20241231.xsd#InvestmentsInAffiliatesDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/GoodwillDetailsNarrative" xlink:href="clwt-20241231.xsd#GoodwillDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/OtherPayablesAndAccruedExpensesDetails" xlink:href="clwt-20241231.xsd#OtherPayablesAndAccruedExpensesDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/OtherTaxesPayableDetailsNarrative" xlink:href="clwt-20241231.xsd#OtherTaxesPayableDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/OtherIncomeAndOtherLossesDetails" xlink:href="clwt-20241231.xsd#OtherIncomeAndOtherLossesDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/OtherIncomeAndOtherLossesDetails1" xlink:href="clwt-20241231.xsd#OtherIncomeAndOtherLossesDetails1" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/OrdinaryShareDetails" xlink:href="clwt-20241231.xsd#OrdinaryShareDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/OrdinaryShareDetailsNarrative" xlink:href="clwt-20241231.xsd#OrdinaryShareDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/TreasuryStockDetailsNarrative" xlink:href="clwt-20241231.xsd#TreasuryStockDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/PrcStatutoryReservesDetailsNarrative" xlink:href="clwt-20241231.xsd#PrcStatutoryReservesDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/OtherIncomeNetDetails" xlink:href="clwt-20241231.xsd#OtherIncomeNetDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/IncomeTaxesDetails" xlink:href="clwt-20241231.xsd#IncomeTaxesDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/IncomeTaxesDetails1" xlink:href="clwt-20241231.xsd#IncomeTaxesDetails1" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/IncomeTaxesDetails2" xlink:href="clwt-20241231.xsd#IncomeTaxesDetails2" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/IncomeTaxesDetailsNarrative" xlink:href="clwt-20241231.xsd#IncomeTaxesDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/NetIncomePerOrdinaryShareDetails" xlink:href="clwt-20241231.xsd#NetIncomePerOrdinaryShareDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/StockOptionsDetails" xlink:href="clwt-20241231.xsd#StockOptionsDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/StockOptionsDetailsNarrative" xlink:href="clwt-20241231.xsd#StockOptionsDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/PensionPlanDetailsNarrative" xlink:href="clwt-20241231.xsd#PensionPlanDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/RiskFactorsDetailsNarrative" xlink:href="clwt-20241231.xsd#RiskFactorsDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/RiskAndUncertaintyDetailsNarrative" xlink:href="clwt-20241231.xsd#RiskAndUncertaintyDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/RelatedPartyTransactionsDetailsNarrative" xlink:href="clwt-20241231.xsd#RelatedPartyTransactionsDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/CommitmentsAndContingenciesDetails" xlink:href="clwt-20241231.xsd#CommitmentsAndContingenciesDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/CommitmentsAndContingenciesDetailsNarrative" xlink:href="clwt-20241231.xsd#CommitmentsAndContingenciesDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/SubsequentEventsDetailsNarrative" xlink:href="clwt-20241231.xsd#SubsequentEventsDetailsNarrative" xlink:type="simple" />
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/Cover" xlink:title="00000001 - Document - Cover Page Information">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CoverAbstract" xlink:label="loc_deiCoverAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentInformationTable" xlink:label="loc_deiDocumentInformationTable" />
    <link:presentationArc order="500" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentInformationTable" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentInformationLineItems" xlink:label="loc_deiDocumentInformationLineItems" />
    <link:presentationArc order="501" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiDocumentInformationTable" xlink:to="loc_deiDocumentInformationLineItems" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityRegistrantName" xlink:label="loc_deiEntityRegistrantName" />
    <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiDocumentInformationLineItems" xlink:to="loc_deiEntityRegistrantName" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCentralIndexKey" xlink:label="loc_deiEntityCentralIndexKey" />
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiDocumentInformationLineItems" xlink:to="loc_deiEntityCentralIndexKey" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentType" xlink:label="loc_deiDocumentType" />
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiDocumentInformationLineItems" xlink:to="loc_deiDocumentType" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AmendmentFlag" xlink:label="loc_deiAmendmentFlag" />
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiDocumentInformationLineItems" xlink:to="loc_deiAmendmentFlag" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityVoluntaryFilers" xlink:label="loc_deiEntityVoluntaryFilers" />
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiDocumentInformationLineItems" xlink:to="loc_deiEntityVoluntaryFilers" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CurrentFiscalYearEndDate" xlink:label="loc_deiCurrentFiscalYearEndDate" />
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiDocumentInformationLineItems" xlink:to="loc_deiCurrentFiscalYearEndDate" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityWellKnownSeasonedIssuer" xlink:label="loc_deiEntityWellKnownSeasonedIssuer" />
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiDocumentInformationLineItems" xlink:to="loc_deiEntityWellKnownSeasonedIssuer" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityShellCompany" xlink:label="loc_deiEntityShellCompany" />
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiDocumentInformationLineItems" xlink:to="loc_deiEntityShellCompany" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityEmergingGrowthCompany" xlink:label="loc_deiEntityEmergingGrowthCompany" />
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiDocumentInformationLineItems" xlink:to="loc_deiEntityEmergingGrowthCompany" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCurrentReportingStatus" xlink:label="loc_deiEntityCurrentReportingStatus" />
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiDocumentInformationLineItems" xlink:to="loc_deiEntityCurrentReportingStatus" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentPeriodEndDate" xlink:label="loc_deiDocumentPeriodEndDate" />
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiDocumentInformationLineItems" xlink:to="loc_deiDocumentPeriodEndDate" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityFilerCategory" xlink:label="loc_deiEntityFilerCategory" />
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiDocumentInformationLineItems" xlink:to="loc_deiEntityFilerCategory" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="loc_deiDocumentFiscalPeriodFocus" />
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiDocumentInformationLineItems" xlink:to="loc_deiDocumentFiscalPeriodFocus" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentFiscalYearFocus" xlink:label="loc_deiDocumentFiscalYearFocus" />
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiDocumentInformationLineItems" xlink:to="loc_deiDocumentFiscalYearFocus" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="loc_deiEntityCommonStockSharesOutstanding" />
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiDocumentInformationLineItems" xlink:to="loc_deiEntityCommonStockSharesOutstanding" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentAnnualReport" xlink:label="loc_deiDocumentAnnualReport" />
    <link:presentationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiDocumentInformationLineItems" xlink:to="loc_deiDocumentAnnualReport" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentTransitionReport" xlink:label="loc_deiDocumentTransitionReport" />
    <link:presentationArc order="16" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiDocumentInformationLineItems" xlink:to="loc_deiDocumentTransitionReport" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityFileNumber" xlink:label="loc_deiEntityFileNumber" />
    <link:presentationArc order="17" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiDocumentInformationLineItems" xlink:to="loc_deiEntityFileNumber" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="loc_deiEntityIncorporationStateCountryCode" />
    <link:presentationArc order="18" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiDocumentInformationLineItems" xlink:to="loc_deiEntityIncorporationStateCountryCode" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressAddressLine1" xlink:label="loc_deiEntityAddressAddressLine1" />
    <link:presentationArc order="19" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiDocumentInformationLineItems" xlink:to="loc_deiEntityAddressAddressLine1" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressAddressLine2" xlink:label="loc_deiEntityAddressAddressLine2" />
    <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiDocumentInformationLineItems" xlink:to="loc_deiEntityAddressAddressLine2" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressCityOrTown" xlink:label="loc_deiEntityAddressCityOrTown" />
    <link:presentationArc order="21" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiDocumentInformationLineItems" xlink:to="loc_deiEntityAddressCityOrTown" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressCountry" xlink:label="loc_deiEntityAddressCountry" />
    <link:presentationArc order="22" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiDocumentInformationLineItems" xlink:to="loc_deiEntityAddressCountry" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressPostalZipCode" xlink:label="loc_deiEntityAddressPostalZipCode" />
    <link:presentationArc order="23" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiDocumentInformationLineItems" xlink:to="loc_deiEntityAddressPostalZipCode" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_IcfrAuditorAttestationFlag" xlink:label="loc_deiIcfrAuditorAttestationFlag" />
    <link:presentationArc order="24" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiDocumentInformationLineItems" xlink:to="loc_deiIcfrAuditorAttestationFlag" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AuditorName" xlink:label="loc_deiAuditorName" />
    <link:presentationArc order="25" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiDocumentInformationLineItems" xlink:to="loc_deiAuditorName" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AuditorLocation" xlink:label="loc_deiAuditorLocation" />
    <link:presentationArc order="26" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiDocumentInformationLineItems" xlink:to="loc_deiAuditorLocation" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AuditorFirmId" xlink:label="loc_deiAuditorFirmId" />
    <link:presentationArc order="27" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiDocumentInformationLineItems" xlink:to="loc_deiAuditorFirmId" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_Security12bTitle" xlink:label="loc_deiSecurity12bTitle" />
    <link:presentationArc order="28" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiDocumentInformationLineItems" xlink:to="loc_deiSecurity12bTitle" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_TradingSymbol" xlink:label="loc_deiTradingSymbol" />
    <link:presentationArc order="29" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiDocumentInformationLineItems" xlink:to="loc_deiTradingSymbol" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_SecurityExchangeName" xlink:label="loc_deiSecurityExchangeName" />
    <link:presentationArc order="30" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiDocumentInformationLineItems" xlink:to="loc_deiSecurityExchangeName" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityInteractiveDataCurrent" xlink:label="loc_deiEntityInteractiveDataCurrent" />
    <link:presentationArc order="31" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiDocumentInformationLineItems" xlink:to="loc_deiEntityInteractiveDataCurrent" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentShellCompanyReport" xlink:label="loc_deiDocumentShellCompanyReport" />
    <link:presentationArc order="32" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiDocumentInformationLineItems" xlink:to="loc_deiDocumentShellCompanyReport" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentRegistrationStatement" xlink:label="loc_deiDocumentRegistrationStatement" />
    <link:presentationArc order="33" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiDocumentInformationLineItems" xlink:to="loc_deiDocumentRegistrationStatement" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_PhoneFaxNumberDescription" xlink:label="loc_deiPhoneFaxNumberDescription" />
    <link:presentationArc order="34" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiDocumentInformationLineItems" xlink:to="loc_deiPhoneFaxNumberDescription" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_ContactPersonnelName" xlink:label="loc_deiContactPersonnelName" />
    <link:presentationArc order="35" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiDocumentInformationLineItems" xlink:to="loc_deiContactPersonnelName" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentAccountingStandard" xlink:label="loc_deiDocumentAccountingStandard" />
    <link:presentationArc order="36" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiDocumentInformationLineItems" xlink:to="loc_deiDocumentAccountingStandard" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressesAddressTypeAxis" xlink:label="loc_deiEntityAddressesAddressTypeAxis_42b535" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiDocumentInformationLineItems" xlink:to="loc_deiEntityAddressesAddressTypeAxis_42b535" order="50" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AddressTypeDomain" xlink:label="loc_deiAddressTypeDomain_e0ca5c" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiEntityAddressesAddressTypeAxis_42b535" xlink:to="loc_deiAddressTypeDomain_e0ca5c" order="51" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_BusinessContactMember" xlink:label="loc_deiBusinessContactMember_c38d5d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiAddressTypeDomain_e0ca5c" xlink:to="loc_deiBusinessContactMember_c38d5d" order="152" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/ConsolidatedBalanceSheets" xlink:title="110200 - Statement - 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-gaapStatementOfFinancialPositionAbstract_c7a1de" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_8ba667" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract_c7a1de" xlink:to="loc_us-gaapStatementTable_8ba667" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_aa15c2" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_8ba667" xlink:to="loc_us-gaapStatementLineItems_aa15c2" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_a267da" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_8ba667" xlink:to="loc_srtConsolidatedEntitiesAxis_a267da" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_b1dad9" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_a267da" xlink:to="loc_srtConsolidatedEntitiesDomain_b1dad9" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember_28df9e" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_b1dad9" xlink:to="loc_srtSubsidiariesMember_28df9e" order="21" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsAbstract" xlink:label="loc_us-gaapAssetsAbstract_0bc324" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_aa15c2" xlink:to="loc_us-gaapAssetsAbstract_0bc324" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="loc_us-gaapAssetsCurrentAbstract_3f2b4e" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_aa15c2" xlink:to="loc_us-gaapAssetsCurrentAbstract_3f2b4e" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaapCashAndCashEquivalentsAtCarryingValue_a31162" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_aa15c2" xlink:to="loc_us-gaapCashAndCashEquivalentsAtCarryingValue_a31162" order="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedCashCurrent" xlink:label="loc_us-gaapRestrictedCashCurrent_276820" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_aa15c2" xlink:to="loc_us-gaapRestrictedCashCurrent_276820" order="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNet" xlink:label="loc_us-gaapAccountsReceivableNet_78c06d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_aa15c2" xlink:to="loc_us-gaapAccountsReceivableNet_78c06d" order="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="loc_us-gaapPrepaidExpenseAndOtherAssetsCurrent_6a1c7d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_aa15c2" xlink:to="loc_us-gaapPrepaidExpenseAndOtherAssetsCurrent_6a1c7d" order="6" 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_ContractWithCustomerAssetNet" xlink:label="loc_us-gaapContractWithCustomerAssetNet_f5a9ca" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_aa15c2" xlink:to="loc_us-gaapContractWithCustomerAssetNet_f5a9ca" order="7" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaapInventoryNet_d69562" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_aa15c2" xlink:to="loc_us-gaapInventoryNet_d69562" order="8" 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="loc_us-gaapAssetsCurrent_aabcf4" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_aa15c2" xlink:to="loc_us-gaapAssetsCurrent_aabcf4" order="9" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsNoncurrentAbstract" xlink:label="loc_us-gaapAssetsNoncurrentAbstract_2d01cf" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_aa15c2" xlink:to="loc_us-gaapAssetsNoncurrentAbstract_2d01cf" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaapPropertyPlantAndEquipmentNet_e5a8ea" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_aa15c2" xlink:to="loc_us-gaapPropertyPlantAndEquipmentNet_e5a8ea" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVentures" xlink:label="loc_us-gaapInvestmentsInAffiliatesSubsidiariesAssociatesAndJointVentures_bc39dd" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_aa15c2" xlink:to="loc_us-gaapInvestmentsInAffiliatesSubsidiariesAssociatesAndJointVentures_bc39dd" order="12" 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="loc_us-gaapGoodwill_c1b5e9" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_aa15c2" xlink:to="loc_us-gaapGoodwill_c1b5e9" order="13" 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_OperatingLeaseRightOfUseAsset" xlink:label="loc_us-gaapOperatingLeaseRightOfUseAsset_d420d8" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_aa15c2" xlink:to="loc_us-gaapOperatingLeaseRightOfUseAsset_d420d8" order="14" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_DeferredTaxAssets" xlink:label="loc_clwtDeferredTaxAssets_c46289" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_aa15c2" xlink:to="loc_clwtDeferredTaxAssets_c46289" order="15" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedCashNoncurrent" xlink:label="loc_us-gaapRestrictedCashNoncurrent_795c68" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_aa15c2" xlink:to="loc_us-gaapRestrictedCashNoncurrent_795c68" order="16" 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="loc_us-gaapAssets_c49c9b" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_aa15c2" xlink:to="loc_us-gaapAssets_c49c9b" order="17" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract_0d6939" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_aa15c2" xlink:to="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract_0d6939" order="18" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="loc_us-gaapLiabilitiesCurrentAbstract_aeca7d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_aa15c2" xlink:to="loc_us-gaapLiabilitiesCurrentAbstract_aeca7d" order="19" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermBankLoansAndNotesPayable" xlink:label="loc_us-gaapShortTermBankLoansAndNotesPayable_8b0fb3" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_aa15c2" xlink:to="loc_us-gaapShortTermBankLoansAndNotesPayable_8b0fb3" order="20" 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="loc_us-gaapAccountsPayableCurrent_b071c3" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_aa15c2" xlink:to="loc_us-gaapAccountsPayableCurrent_b071c3" order="21" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="loc_us-gaapContractWithCustomerLiabilityCurrent_1d829a" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_aa15c2" xlink:to="loc_us-gaapContractWithCustomerLiabilityCurrent_1d829a" order="22" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAccountsPayableAndAccruedLiabilities" xlink:label="loc_us-gaapOtherAccountsPayableAndAccruedLiabilities_a384b4" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_aa15c2" xlink:to="loc_us-gaapOtherAccountsPayableAndAccruedLiabilities_a384b4" order="23" 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_OperatingLeaseLiabilityCurrent" xlink:label="loc_us-gaapOperatingLeaseLiabilityCurrent_133486" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_aa15c2" xlink:to="loc_us-gaapOperatingLeaseLiabilityCurrent_133486" order="24" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TaxesPayableCurrent" xlink:label="loc_us-gaapTaxesPayableCurrent_403edc" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_aa15c2" xlink:to="loc_us-gaapTaxesPayableCurrent_403edc" order="25" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrent" xlink:label="loc_us-gaapLiabilitiesCurrent_3504fe" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_aa15c2" xlink:to="loc_us-gaapLiabilitiesCurrent_3504fe" order="26" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesNoncurrentAbstract" xlink:label="loc_us-gaapLiabilitiesNoncurrentAbstract_5b8486" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_aa15c2" xlink:to="loc_us-gaapLiabilitiesNoncurrentAbstract_5b8486" order="27" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="loc_us-gaapOperatingLeaseLiabilityNoncurrent_f223fa" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_aa15c2" xlink:to="loc_us-gaapOperatingLeaseLiabilityNoncurrent_f223fa" order="28" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Liabilities" xlink:label="loc_us-gaapLiabilities_9a8693" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_aa15c2" xlink:to="loc_us-gaapLiabilities_9a8693" order="29" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="loc_us-gaapCommitmentsAndContingencies_d5ce45" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_aa15c2" xlink:to="loc_us-gaapCommitmentsAndContingencies_d5ce45" order="30" 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_StockholdersEquityAbstract" xlink:label="loc_us-gaapStockholdersEquityAbstract_374508" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_aa15c2" xlink:to="loc_us-gaapStockholdersEquityAbstract_374508" order="31" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockValue" xlink:label="loc_us-gaapCommonStockValue_7964e9" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_aa15c2" xlink:to="loc_us-gaapCommonStockValue_7964e9" order="32" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="loc_us-gaapAdditionalPaidInCapital_8d82c6" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_aa15c2" xlink:to="loc_us-gaapAdditionalPaidInCapital_8d82c6" order="33" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockValue" xlink:label="loc_us-gaapTreasuryStockValue_7fe6a8" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_aa15c2" xlink:to="loc_us-gaapTreasuryStockValue_7fe6a8" order="34" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_PRCStatutoryReserve" xlink:label="loc_clwtPRCStatutoryReserve_7d31be" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_aa15c2" xlink:to="loc_clwtPRCStatutoryReserve_7d31be" order="35" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossNetOfTax_4134fd" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_aa15c2" xlink:to="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossNetOfTax_4134fd" order="36" 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_RetainedEarningsAccumulatedDeficit" xlink:label="loc_us-gaapRetainedEarningsAccumulatedDeficit_1fa93e" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_aa15c2" xlink:to="loc_us-gaapRetainedEarningsAccumulatedDeficit_1fa93e" order="37" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaapStockholdersEquity_7f814d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_aa15c2" xlink:to="loc_us-gaapStockholdersEquity_7f814d" order="38" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MinorityInterest" xlink:label="loc_us-gaapMinorityInterest_86def0" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_aa15c2" xlink:to="loc_us-gaapMinorityInterest_86def0" order="39" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapStockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_443b0d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_aa15c2" xlink:to="loc_us-gaapStockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_443b0d" order="40" />
    <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-gaapLiabilitiesAndStockholdersEquity_2f0175" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_aa15c2" xlink:to="loc_us-gaapLiabilitiesAndStockholdersEquity_2f0175" order="41" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Cash" xlink:label="loc_us-gaapCash_44e124" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_aa15c2" xlink:to="loc_us-gaapCash_44e124" order="42" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Investments" xlink:label="loc_us-gaapInvestments_1dd4e6" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_aa15c2" xlink:to="loc_us-gaapInvestments_1dd4e6" order="43" 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_ShortTermInvestments" xlink:label="loc_us-gaapShortTermInvestments_5fdf8d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_aa15c2" xlink:to="loc_us-gaapShortTermInvestments_5fdf8d" order="44" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherIntangibleAssetsNet" xlink:label="loc_us-gaapOtherIntangibleAssetsNet_bee4db" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_aa15c2" xlink:to="loc_us-gaapOtherIntangibleAssetsNet_bee4db" order="45" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_LandLeaseRightOfUseAsset" xlink:label="loc_clwtLandLeaseRightOfUseAsset_d84a30" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_aa15c2" xlink:to="loc_clwtLandLeaseRightOfUseAsset_d84a30" order="46" 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_LongTermInvestments" xlink:label="loc_us-gaapLongTermInvestments_165ade" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_aa15c2" xlink:to="loc_us-gaapLongTermInvestments_165ade" order="47" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsNoncurrent" xlink:label="loc_us-gaapAssetsNoncurrent_2bd72d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_aa15c2" xlink:to="loc_us-gaapAssetsNoncurrent_2bd72d" order="48" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherBorrowings" xlink:label="loc_us-gaapOtherBorrowings_b00b9b" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_aa15c2" xlink:to="loc_us-gaapOtherBorrowings_b00b9b" order="49" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ContractLiabilitiesCurrent" xlink:label="loc_clwtContractLiabilitiesCurrent_9d4b63" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_aa15c2" xlink:to="loc_clwtContractLiabilitiesCurrent_9d4b63" order="50" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OtherTaxesPayableCurrentLiabilities" xlink:label="loc_clwtOtherTaxesPayableCurrentLiabilities_a8c472" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_aa15c2" xlink:to="loc_clwtOtherTaxesPayableCurrentLiabilities_a8c472" order="51" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_DeferredGovernmentGrant" xlink:label="loc_clwtDeferredGovernmentGrant_5a1f1a" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_aa15c2" xlink:to="loc_clwtDeferredGovernmentGrant_5a1f1a" order="52" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesNoncurrent" xlink:label="loc_us-gaapLiabilitiesNoncurrent_c23e6b" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_aa15c2" xlink:to="loc_us-gaapLiabilitiesNoncurrent_c23e6b" order="53" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ShareCapital" xlink:label="loc_clwtShareCapital_9a0fa3" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_aa15c2" xlink:to="loc_clwtShareCapital_9a0fa3" order="54" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CapitalReserve" xlink:label="loc_clwtCapitalReserve_0dcd09" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_aa15c2" xlink:to="loc_clwtCapitalReserve_0dcd09" order="55" 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_StatutoryAccountingPracticesStatutoryCapitalAndSurplusBalance" xlink:label="loc_us-gaapStatutoryAccountingPracticesStatutoryCapitalAndSurplusBalance_d2ad09" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_aa15c2" xlink:to="loc_us-gaapStatutoryAccountingPracticesStatutoryCapitalAndSurplusBalance_d2ad09" order="56" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/ConsolidatedBalanceSheetsParenthetical" xlink:title="110201 - Statement - 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-gaapStatementOfFinancialPositionAbstract_322431" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_471356" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract_322431" xlink:to="loc_us-gaapStatementTable_471356" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_a1530b" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_471356" xlink:to="loc_us-gaapStatementLineItems_a1530b" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_33be97" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_471356" xlink:to="loc_srtConsolidatedEntitiesAxis_33be97" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_735b6e" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_33be97" xlink:to="loc_srtConsolidatedEntitiesDomain_735b6e" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember_de0a5f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_735b6e" xlink:to="loc_srtSubsidiariesMember_de0a5f" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="loc_us-gaapCommonStockSharesAuthorized_1b2e3d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_a1530b" xlink:to="loc_us-gaapCommonStockSharesAuthorized_1b2e3d" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesIssued" xlink:label="loc_us-gaapCommonStockSharesIssued_388f3f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_a1530b" xlink:to="loc_us-gaapCommonStockSharesIssued_388f3f" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="loc_us-gaapCommonStockSharesOutstanding_bbf4ef" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_a1530b" xlink:to="loc_us-gaapCommonStockSharesOutstanding_bbf4ef" order="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockCommonShares" xlink:label="loc_us-gaapTreasuryStockCommonShares_61efca" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_a1530b" xlink:to="loc_us-gaapTreasuryStockCommonShares_61efca" order="4" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss" xlink:title="124100 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME (LOSS)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementAbstract" xlink:label="loc_us-gaapIncomeStatementAbstract_b93eca" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_d564fd" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract_b93eca" xlink:to="loc_us-gaapStatementTable_d564fd" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_e6d578" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_d564fd" xlink:to="loc_us-gaapStatementLineItems_e6d578" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_7eab09" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_d564fd" xlink:to="loc_srtConsolidatedEntitiesAxis_7eab09" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_c3a6d9" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_7eab09" xlink:to="loc_srtConsolidatedEntitiesDomain_c3a6d9" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember_4b5730" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_c3a6d9" xlink:to="loc_srtSubsidiariesMember_4b5730" order="11" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_RevenueFromTradingAndManufacturing" xlink:label="loc_clwtRevenueFromTradingAndManufacturing_81ad2d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_e6d578" xlink:to="loc_clwtRevenueFromTradingAndManufacturing_81ad2d" order="1" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_RevenueFromEngineering" xlink:label="loc_clwtRevenueFromEngineering_760e1e" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_e6d578" xlink:to="loc_clwtRevenueFromEngineering_760e1e" order="2" 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_Revenues" xlink:label="loc_us-gaapRevenues_693c68" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_e6d578" xlink:to="loc_us-gaapRevenues_693c68" order="3" 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_CostOfRevenueAbstract" xlink:label="loc_us-gaapCostOfRevenueAbstract_b2de74" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_e6d578" xlink:to="loc_us-gaapCostOfRevenueAbstract_b2de74" order="4" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CostOfTradingAndManufacturing" xlink:label="loc_clwtCostOfTradingAndManufacturing_35bbd8" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCostOfRevenueAbstract_b2de74" xlink:to="loc_clwtCostOfTradingAndManufacturing_35bbd8" order="5" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CostOfEngineering" xlink:label="loc_clwtCostOfEngineering_9f6184" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCostOfRevenueAbstract_b2de74" xlink:to="loc_clwtCostOfEngineering_9f6184" order="6" 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_CostOfRevenue" xlink:label="loc_us-gaapCostOfRevenue_a98686" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_e6d578" xlink:to="loc_us-gaapCostOfRevenue_a98686" order="7" 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_GrossProfit" xlink:label="loc_us-gaapGrossProfit_93345f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_e6d578" xlink:to="loc_us-gaapGrossProfit_93345f" order="8" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingExpensesAbstract" xlink:label="loc_us-gaapOperatingExpensesAbstract_8909c2" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_e6d578" xlink:to="loc_us-gaapOperatingExpensesAbstract_8909c2" order="9" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_FinanceCosts" xlink:label="loc_clwtFinanceCosts_139d11" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract_8909c2" xlink:to="loc_clwtFinanceCosts_139d11" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="loc_us-gaapGeneralAndAdministrativeExpense_1fe4df" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_e6d578" xlink:to="loc_us-gaapGeneralAndAdministrativeExpense_1fe4df" order="11" 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_GainLossOnDispositionOfAssets" xlink:label="loc_us-gaapGainLossOnDispositionOfAssets_02fd48" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_e6d578" xlink:to="loc_us-gaapGainLossOnDispositionOfAssets_02fd48" order="12" 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_OperatingExpenses" xlink:label="loc_us-gaapOperatingExpenses_0fba0f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_e6d578" xlink:to="loc_us-gaapOperatingExpenses_0fba0f" order="13" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLoss" xlink:label="loc_us-gaapOperatingIncomeLoss_87a8cf" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_e6d578" xlink:to="loc_us-gaapOperatingIncomeLoss_87a8cf" order="14" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:label="loc_us-gaapOtherNonoperatingIncomeExpenseAbstract_7a2a24" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_e6d578" xlink:to="loc_us-gaapOtherNonoperatingIncomeExpenseAbstract_7a2a24" order="15" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestIncomeOther" xlink:label="loc_us-gaapInterestIncomeOther_3338f9" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_e6d578" xlink:to="loc_us-gaapInterestIncomeOther_3338f9" order="16" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquitySecuritiesFvNiRealizedGainLoss" xlink:label="loc_us-gaapEquitySecuritiesFvNiRealizedGainLoss_a27c6a" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_e6d578" xlink:to="loc_us-gaapEquitySecuritiesFvNiRealizedGainLoss_a27c6a" order="17" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OtherIncomeNet" xlink:label="loc_clwtOtherIncomeNet_007782" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_e6d578" xlink:to="loc_clwtOtherIncomeNet_007782" order="18" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="loc_us-gaapOtherNonoperatingIncomeExpense_df256e" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_e6d578" xlink:to="loc_us-gaapOtherNonoperatingIncomeExpense_df256e" order="19" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_8fb041" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_e6d578" xlink:to="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_8fb041" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaapIncomeTaxExpenseBenefit_b07fa6" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_e6d578" xlink:to="loc_us-gaapIncomeTaxExpenseBenefit_b07fa6" order="21" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_NetIncome" xlink:label="loc_clwtNetIncome_e2bbb4" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_e6d578" xlink:to="loc_clwtNetIncome_e2bbb4" order="22" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapNetIncomeLossAttributableToNoncontrollingInterest_d39aab" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_e6d578" xlink:to="loc_us-gaapNetIncomeLossAttributableToNoncontrollingInterest_d39aab" order="23" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_NetIncomeAttributableToEuroTechHoldingsCompanyLimited" xlink:label="loc_clwtNetIncomeAttributableToEuroTechHoldingsCompanyLimited_3a91c0" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_e6d578" xlink:to="loc_clwtNetIncomeAttributableToEuroTechHoldingsCompanyLimited_3a91c0" order="24" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:label="loc_us-gaapComprehensiveIncomeNetOfTaxAbstract_9030b1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_e6d578" xlink:to="loc_us-gaapComprehensiveIncomeNetOfTaxAbstract_9030b1" order="25" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss_d3ac5f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_e6d578" xlink:to="loc_us-gaapNetIncomeLoss_d3ac5f" order="26" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="loc_us-gaapOtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_3ecff2" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_e6d578" xlink:to="loc_us-gaapOtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_3ecff2" order="27" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="loc_us-gaapComprehensiveIncomeNetOfTax_fa37cc" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_e6d578" xlink:to="loc_us-gaapComprehensiveIncomeNetOfTax_fa37cc" order="28" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_c814d6" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_e6d578" xlink:to="loc_us-gaapComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest_c814d6" order="29" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossTaxPortionAttributableToParent1" xlink:label="loc_us-gaapOtherComprehensiveIncomeLossTaxPortionAttributableToParent1_f79f91" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_e6d578" xlink:to="loc_us-gaapOtherComprehensiveIncomeLossTaxPortionAttributableToParent1_f79f91" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="loc_us-gaapEarningsPerShareDiluted_f08b48" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_e6d578" xlink:to="loc_us-gaapEarningsPerShareDiluted_f08b48" order="31" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding_265cf9" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_e6d578" xlink:to="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding_265cf9" order="32" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="loc_us-gaapSellingGeneralAndAdministrativeExpense_cfb211" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_e6d578" xlink:to="loc_us-gaapSellingGeneralAndAdministrativeExpense_cfb211" order="33" 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_InterestExpense" xlink:label="loc_us-gaapInterestExpense_f3a358" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_e6d578" xlink:to="loc_us-gaapInterestExpense_f3a358" order="34" 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_OtherIncome" xlink:label="loc_us-gaapOtherIncome_0a1399" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_e6d578" xlink:to="loc_us-gaapOtherIncome_0a1399" order="35" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OtherNonoperatingExpenses" xlink:label="loc_clwtOtherNonoperatingExpenses_22fd0f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_e6d578" xlink:to="loc_clwtOtherNonoperatingExpenses_22fd0f" order="36" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProfitLoss" xlink:label="loc_us-gaapProfitLoss_b0b143" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_e6d578" xlink:to="loc_us-gaapProfitLoss_b0b143" order="37" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows" xlink:title="170000 - Statement - 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="loc_us-gaapStatementOfCashFlowsAbstract_69e297" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_4c9795" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract_69e297" xlink:to="loc_us-gaapStatementTable_4c9795" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_8baf99" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_4c9795" xlink:to="loc_us-gaapStatementLineItems_8baf99" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_e9dd27" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_4c9795" xlink:to="loc_srtConsolidatedEntitiesAxis_e9dd27" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_32fed7" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_e9dd27" xlink:to="loc_srtConsolidatedEntitiesDomain_32fed7" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember_952f13" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_32fed7" xlink:to="loc_srtSubsidiariesMember_952f13" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesAbstract_9b65a6" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8baf99" xlink:to="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesAbstract_9b65a6" order="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="loc_us-gaapProfitLoss_4f75b5" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8baf99" xlink:to="loc_us-gaapProfitLoss_4f75b5" order="2" 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_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_346039" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8baf99" xlink:to="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_346039" order="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Depreciation" xlink:label="loc_us-gaapDepreciation_f87453" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8baf99" xlink:to="loc_us-gaapDepreciation_f87453" order="4" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_AmortizationOnRightOfUseAssets" xlink:label="loc_clwtAmortizationOnRightOfUseAssets_0a3994" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8baf99" xlink:to="loc_clwtAmortizationOnRightOfUseAssets_0a3994" order="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainLossOnDispositionOfAssets" xlink:label="loc_us-gaapGainLossOnDispositionOfAssets_ee9677" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8baf99" xlink:to="loc_us-gaapGainLossOnDispositionOfAssets_ee9677" order="6" 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_ShareBasedCompensation" xlink:label="loc_us-gaapShareBasedCompensation_ede2d6" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8baf99" xlink:to="loc_us-gaapShareBasedCompensation_ede2d6" order="7" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_NonControllingInterestsInIncomeLossOfSubsidiaries" xlink:label="loc_clwtNonControllingInterestsInIncomeLossOfSubsidiaries_c6cc89" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8baf99" xlink:to="loc_clwtNonControllingInterestsInIncomeLossOfSubsidiaries_c6cc89" order="8" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_AdjustmentInAdvancesToAffiliatesAmountOfEquityProfit" xlink:label="loc_clwtAdjustmentInAdvancesToAffiliatesAmountOfEquityProfit_5e76b8" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8baf99" xlink:to="loc_clwtAdjustmentInAdvancesToAffiliatesAmountOfEquityProfit_5e76b8" order="9" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xlink:label="loc_us-gaapIncreaseDecreaseInDeferredIncomeTaxes_b9f2be" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8baf99" xlink:to="loc_us-gaapIncreaseDecreaseInDeferredIncomeTaxes_b9f2be" order="10" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ChangeInNonCurrentAssetsAndLiabilitiesAbstract" xlink:label="loc_clwtChangeInNonCurrentAssetsAndLiabilitiesAbstract_7e9325" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8baf99" xlink:to="loc_clwtChangeInNonCurrentAssetsAndLiabilitiesAbstract_7e9325" order="11" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_IncreaseDecreaseInOperatingLeaseLiabiltyCurrent" xlink:label="loc_clwtIncreaseDecreaseInOperatingLeaseLiabiltyCurrent_94e295" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_clwtChangeInNonCurrentAssetsAndLiabilitiesAbstract_7e9325" xlink:to="loc_clwtIncreaseDecreaseInOperatingLeaseLiabiltyCurrent_94e295" order="12" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract_ad14b4" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8baf99" xlink:to="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract_ad14b4" order="13" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="loc_us-gaapIncreaseDecreaseInAccountsReceivable_d30814" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8baf99" xlink:to="loc_us-gaapIncreaseDecreaseInAccountsReceivable_d30814" order="14" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="loc_us-gaapIncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_4f9dfe" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8baf99" xlink:to="loc_us-gaapIncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_4f9dfe" order="15" 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_IncreaseDecreaseInContractWithCustomerAsset" xlink:label="loc_us-gaapIncreaseDecreaseInContractWithCustomerAsset_e5c988" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8baf99" xlink:to="loc_us-gaapIncreaseDecreaseInContractWithCustomerAsset_e5c988" order="16" 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_IncreaseDecreaseInInventories" xlink:label="loc_us-gaapIncreaseDecreaseInInventories_ba971b" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8baf99" xlink:to="loc_us-gaapIncreaseDecreaseInInventories_ba971b" order="17" 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_IncreaseDecreaseInAccountsPayable" xlink:label="loc_us-gaapIncreaseDecreaseInAccountsPayable_e93699" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8baf99" xlink:to="loc_us-gaapIncreaseDecreaseInAccountsPayable_e93699" order="18" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="loc_us-gaapIncreaseDecreaseInContractWithCustomerLiability_1bdc1f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8baf99" xlink:to="loc_us-gaapIncreaseDecreaseInContractWithCustomerLiability_1bdc1f" order="19" 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_IncreaseDecreaseInOtherAccountsPayableAndAccruedLiabilities" xlink:label="loc_us-gaapIncreaseDecreaseInOtherAccountsPayableAndAccruedLiabilities_3e4928" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8baf99" xlink:to="loc_us-gaapIncreaseDecreaseInOtherAccountsPayableAndAccruedLiabilities_3e4928" order="20" 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_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:label="loc_us-gaapIncreaseDecreaseInAccruedIncomeTaxesPayable_e8fb99" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8baf99" xlink:to="loc_us-gaapIncreaseDecreaseInAccruedIncomeTaxesPayable_e8fb99" order="21" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_IncreaseDecreaseInRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:label="loc_clwtIncreaseDecreaseInRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_eb4ce0" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8baf99" xlink:to="loc_clwtIncreaseDecreaseInRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_eb4ce0" order="22" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInOperatingActivities_bae6e6" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8baf99" xlink:to="loc_us-gaapNetCashProvidedByUsedInOperatingActivities_bae6e6" order="23" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract_d1ac7b" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8baf99" xlink:to="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract_d1ac7b" order="24" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment_c5a1e6" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8baf99" xlink:to="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment_c5a1e6" order="25" 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_ProceedsFromDividendsReceived" xlink:label="loc_us-gaapProceedsFromDividendsReceived_65e7fe" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8baf99" xlink:to="loc_us-gaapProceedsFromDividendsReceived_65e7fe" order="26" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInInvestingActivities_a8961c" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8baf99" xlink:to="loc_us-gaapNetCashProvidedByUsedInInvestingActivities_a8961c" order="27" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract_50ce6e" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8baf99" xlink:to="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract_50ce6e" order="28" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsOfDividends" xlink:label="loc_us-gaapPaymentsOfDividends_cfe9ec" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8baf99" xlink:to="loc_us-gaapPaymentsOfDividends_cfe9ec" order="29" 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_PaymentsForRepurchaseOfCommonStock" xlink:label="loc_us-gaapPaymentsForRepurchaseOfCommonStock_99b450" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8baf99" xlink:to="loc_us-gaapPaymentsForRepurchaseOfCommonStock_99b450" order="30" 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_ProceedsFromBankDebt" xlink:label="loc_us-gaapProceedsFromBankDebt_c97d08" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8baf99" xlink:to="loc_us-gaapProceedsFromBankDebt_c97d08" order="31" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RepaymentsOfBankDebt" xlink:label="loc_us-gaapRepaymentsOfBankDebt_680c78" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8baf99" xlink:to="loc_us-gaapRepaymentsOfBankDebt_680c78" order="32" 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_NetCashProvidedByUsedInFinancingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInFinancingActivities_746918" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8baf99" xlink:to="loc_us-gaapNetCashProvidedByUsedInFinancingActivities_746918" order="33" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="loc_us-gaapEffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_33e173" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8baf99" xlink:to="loc_us-gaapEffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_33e173" order="34" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_9664ec" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8baf99" xlink:to="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_9664ec" order="35" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_e41629" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8baf99" xlink:to="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_e41629" order="36" 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="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_8c2020" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8baf99" xlink:to="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_8c2020" order="37" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_RepresentedByAbstract" xlink:label="loc_clwtRepresentedByAbstract_b30752" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8baf99" xlink:to="loc_clwtRepresentedByAbstract_b30752" order="38" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_EffectOfExchangeRateOnCashCashEquivalents" xlink:label="loc_clwtEffectOfExchangeRateOnCashCashEquivalents_5f6889" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_clwtRepresentedByAbstract_b30752" xlink:to="loc_clwtEffectOfExchangeRateOnCashCashEquivalents_5f6889" order="39" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_EffectOfExchangeRateOnRestrictedCash" xlink:label="loc_clwtEffectOfExchangeRateOnRestrictedCash_0dd7e9" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_clwtRepresentedByAbstract_b30752" xlink:to="loc_clwtEffectOfExchangeRateOnRestrictedCash_0dd7e9" order="40" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCash" xlink:label="loc_clwtEffectOfExchangeRateOnCashCashEquivalentsRestrictedCash_a3b87e" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_clwtRepresentedByAbstract_b30752" xlink:to="loc_clwtEffectOfExchangeRateOnCashCashEquivalentsRestrictedCash_a3b87e" order="41" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="loc_us-gaapSupplementalCashFlowInformationAbstract_8b69bb" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8baf99" xlink:to="loc_us-gaapSupplementalCashFlowInformationAbstract_8b69bb" order="42" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxesPaidNet" xlink:label="loc_us-gaapIncomeTaxesPaidNet_f33c38" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8baf99" xlink:to="loc_us-gaapIncomeTaxesPaidNet_f33c38" order="43" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestPaidNet" xlink:label="loc_us-gaapInterestPaidNet_3ca97d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8baf99" xlink:to="loc_us-gaapInterestPaidNet_3ca97d" order="44" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="loc_us-gaapAmortizationOfIntangibleAssets_1608c1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8baf99" xlink:to="loc_us-gaapAmortizationOfIntangibleAssets_1608c1" order="45" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_AmortizationOfLandUseRight" xlink:label="loc_clwtAmortizationOfLandUseRight_9abb90" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8baf99" xlink:to="loc_clwtAmortizationOfLandUseRight_9abb90" order="46" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:label="loc_us-gaapOperatingLeaseRightOfUseAssetAmortizationExpense_0ce469" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8baf99" xlink:to="loc_us-gaapOperatingLeaseRightOfUseAssetAmortizationExpense_0ce469" order="47" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CapitalizedContractCostImpairmentLoss" xlink:label="loc_us-gaapCapitalizedContractCostImpairmentLoss_c34c70" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8baf99" xlink:to="loc_us-gaapCapitalizedContractCostImpairmentLoss_c34c70" order="48" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ImpairmentLossOnShortTermInvestments" xlink:label="loc_clwtImpairmentLossOnShortTermInvestments_64e740" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8baf99" xlink:to="loc_clwtImpairmentLossOnShortTermInvestments_64e740" order="49" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainOnSaleOfInvestments" xlink:label="loc_us-gaapGainOnSaleOfInvestments_08a912" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8baf99" xlink:to="loc_us-gaapGainOnSaleOfInvestments_08a912" order="50" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ProceedsFromDeferredGovernmentGrant" xlink:label="loc_clwtProceedsFromDeferredGovernmentGrant_c20415" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8baf99" xlink:to="loc_clwtProceedsFromDeferredGovernmentGrant_c20415" order="51" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_PropertyPlantAndEquipmentWrittenOff" xlink:label="loc_clwtPropertyPlantAndEquipmentWrittenOff_17f31d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8baf99" xlink:to="loc_clwtPropertyPlantAndEquipmentWrittenOff_17f31d" order="52" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ReversalOfAllowanceForDoubtfulAccounts" xlink:label="loc_clwtReversalOfAllowanceForDoubtfulAccounts_410eb1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8baf99" xlink:to="loc_clwtReversalOfAllowanceForDoubtfulAccounts_410eb1" order="53" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_IncreaseDecreaseInDeferredGovernmentGrant" xlink:label="loc_clwtIncreaseDecreaseInDeferredGovernmentGrant_5f549b" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8baf99" xlink:to="loc_clwtIncreaseDecreaseInDeferredGovernmentGrant_5f549b" order="54" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_IncreaseDecreaseInOperatingLeaseRightOfUseAssets" xlink:label="loc_clwtIncreaseDecreaseInOperatingLeaseRightOfUseAssets_ad6e46" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8baf99" xlink:to="loc_clwtIncreaseDecreaseInOperatingLeaseRightOfUseAssets_ad6e46" order="55" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:label="loc_us-gaapIncreaseDecreaseInOperatingLeaseLiability_bf8bf6" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8baf99" xlink:to="loc_us-gaapIncreaseDecreaseInOperatingLeaseLiability_bf8bf6" order="56" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_IncreaseDecreaseInShortTermInvestments" xlink:label="loc_clwtIncreaseDecreaseInShortTermInvestments_b1e582" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8baf99" xlink:to="loc_clwtIncreaseDecreaseInShortTermInvestments_b1e582" order="57" 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_IncreaseDecreaseInPropertyAndOtherTaxesPayable" xlink:label="loc_us-gaapIncreaseDecreaseInPropertyAndOtherTaxesPayable_337791" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8baf99" xlink:to="loc_us-gaapIncreaseDecreaseInPropertyAndOtherTaxesPayable_337791" order="58" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_IncreaseDecreaseInOperatingLeaseLiabilitiesCurrent" xlink:label="loc_clwtIncreaseDecreaseInOperatingLeaseLiabilitiesCurrent_348780" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8baf99" xlink:to="loc_clwtIncreaseDecreaseInOperatingLeaseLiabilitiesCurrent_348780" order="59" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CapitalInjectionProceedFromInvestment" xlink:label="loc_clwtCapitalInjectionProceedFromInvestment_ab1c6d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8baf99" xlink:to="loc_clwtCapitalInjectionProceedFromInvestment_ab1c6d" order="60" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:label="loc_us-gaapProceedsFromSaleOfPropertyPlantAndEquipment_4ccf43" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8baf99" xlink:to="loc_us-gaapProceedsFromSaleOfPropertyPlantAndEquipment_4ccf43" order="61" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireIntangibleAssets" xlink:label="loc_us-gaapPaymentsToAcquireIntangibleAssets_0d7057" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8baf99" xlink:to="loc_us-gaapPaymentsToAcquireIntangibleAssets_0d7057" order="62" 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_PaymentsToAcquireShortTermInvestments" xlink:label="loc_us-gaapPaymentsToAcquireShortTermInvestments_9f8ff9" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8baf99" xlink:to="loc_us-gaapPaymentsToAcquireShortTermInvestments_9f8ff9" order="63" 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_DividendsAndInterestPaid" xlink:label="loc_us-gaapDividendsAndInterestPaid_02c12c" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8baf99" xlink:to="loc_us-gaapDividendsAndInterestPaid_02c12c" order="64" 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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect_71f0a2" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8baf99" xlink:to="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect_71f0a2" order="65" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_NonCashFinanceLeases" xlink:label="loc_clwtNonCashFinanceLeases_b88ece" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8baf99" xlink:to="loc_clwtNonCashFinanceLeases_b88ece" order="66" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity" xlink:title="170001 - Statement - CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS' 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-gaapStatementOfStockholdersEquityAbstract_6c98db" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_816726" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfStockholdersEquityAbstract_6c98db" xlink:to="loc_us-gaapStatementTable_816726" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_72f373" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_816726" xlink:to="loc_us-gaapStatementLineItems_72f373" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaapStatementEquityComponentsAxis_e82ae4" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_816726" xlink:to="loc_us-gaapStatementEquityComponentsAxis_e82ae4" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain_e5fb7d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis_e82ae4" xlink:to="loc_us-gaapEquityComponentDomain_e5fb7d" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockMember" xlink:label="loc_us-gaapCommonStockMember_a3d04f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityComponentDomain_e5fb7d" xlink:to="loc_us-gaapCommonStockMember_a3d04f" order="21" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="loc_us-gaapAdditionalPaidInCapitalMember_30c34f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityComponentDomain_e5fb7d" xlink:to="loc_us-gaapAdditionalPaidInCapitalMember_30c34f" order="22" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="loc_us-gaapAccumulatedOtherComprehensiveIncomeMember_d9f7fb" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityComponentDomain_e5fb7d" xlink:to="loc_us-gaapAccumulatedOtherComprehensiveIncomeMember_d9f7fb" order="23" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_PRCStatutoryReserveMember" xlink:label="loc_clwtPRCStatutoryReserveMember_ba2d14" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityComponentDomain_e5fb7d" xlink:to="loc_clwtPRCStatutoryReserveMember_ba2d14" order="24" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsMember" xlink:label="loc_us-gaapRetainedEarningsMember_29f27e" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityComponentDomain_e5fb7d" xlink:to="loc_us-gaapRetainedEarningsMember_29f27e" order="25" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NoncontrollingInterestMember" xlink:label="loc_us-gaapNoncontrollingInterestMember_713774" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityComponentDomain_e5fb7d" xlink:to="loc_us-gaapNoncontrollingInterestMember_713774" order="26" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockCommonMember" xlink:label="loc_us-gaapTreasuryStockCommonMember_533e49" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityComponentDomain_e5fb7d" xlink:to="loc_us-gaapTreasuryStockCommonMember_533e49" order="27" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_SubsidiaryMember" xlink:label="loc_clwtSubsidiaryMember_cff9eb" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityComponentDomain_e5fb7d" xlink:to="loc_clwtSubsidiaryMember_cff9eb" order="28" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ZhejiangTianlanShareCapitalMember" xlink:label="loc_clwtZhejiangTianlanShareCapitalMember_351010" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityComponentDomain_e5fb7d" xlink:to="loc_clwtZhejiangTianlanShareCapitalMember_351010" order="29" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ZhejiangTianlanCapitalReserveMember" xlink:label="loc_clwtZhejiangTianlanCapitalReserveMember_7e9d98" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityComponentDomain_e5fb7d" xlink:to="loc_clwtZhejiangTianlanCapitalReserveMember_7e9d98" order="30" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ZhejiangTianlanPrcStatutoryReserveMember" xlink:label="loc_clwtZhejiangTianlanPrcStatutoryReserveMember_2c4da5" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityComponentDomain_e5fb7d" xlink:to="loc_clwtZhejiangTianlanPrcStatutoryReserveMember_2c4da5" order="31" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ZhejiangTianlanRetainedEarningsMember" xlink:label="loc_clwtZhejiangTianlanRetainedEarningsMember_83ca50" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityComponentDomain_e5fb7d" xlink:to="loc_clwtZhejiangTianlanRetainedEarningsMember_83ca50" order="32" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ZhejiangTianlanNonControllingInterestsMember" xlink:label="loc_clwtZhejiangTianlanNonControllingInterestsMember_0b6274" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityComponentDomain_e5fb7d" xlink:to="loc_clwtZhejiangTianlanNonControllingInterestsMember_0b6274" order="33" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapStockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_215e12" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_72f373" xlink:to="loc_us-gaapStockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_215e12" order="1" 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_SharesIssued" xlink:label="loc_us-gaapSharesIssued_c56b2a" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_72f373" xlink:to="loc_us-gaapSharesIssued_c56b2a" order="2" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ForeignCurrencyTranslationAdjustment" xlink:label="loc_clwtForeignCurrencyTranslationAdjustment_e33f7b" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_72f373" xlink:to="loc_clwtForeignCurrencyTranslationAdjustment_e33f7b" order="3" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_AppropriationOfReserves" xlink:label="loc_clwtAppropriationOfReserves_b7f653" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_72f373" xlink:to="loc_clwtAppropriationOfReserves_b7f653" order="4" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_DividendPaidAmount" xlink:label="loc_clwtDividendPaidAmount_d2cf11" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_72f373" xlink:to="loc_clwtDividendPaidAmount_d2cf11" order="5" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_StockBasedCompensationExpenseAmount" xlink:label="loc_clwtStockBasedCompensationExpenseAmount_2ffc6a" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_72f373" xlink:to="loc_clwtStockBasedCompensationExpenseAmount_2ffc6a" order="6" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_AppropriationToStatutoryReserve" xlink:label="loc_clwtAppropriationToStatutoryReserve_03caf6" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_72f373" xlink:to="loc_clwtAppropriationToStatutoryReserve_03caf6" order="7" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss_e4c495" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_72f373" xlink:to="loc_us-gaapNetIncomeLoss_e4c495" order="8" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_PurchaseSharesOfTreasuryStock" xlink:label="loc_clwtPurchaseSharesOfTreasuryStock_27e7d3" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_72f373" xlink:to="loc_clwtPurchaseSharesOfTreasuryStock_27e7d3" order="9" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_DividendPaid" xlink:label="loc_clwtDividendPaid_1cf7aa" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_72f373" xlink:to="loc_clwtDividendPaid_1cf7aa" order="10" 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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapStockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_a515ef" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_72f373" xlink:to="loc_us-gaapStockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_a515ef" order="11" 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_SharesIssued" xlink:label="loc_us-gaapSharesIssued_93735a" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_72f373" xlink:to="loc_us-gaapSharesIssued_93735a" order="12" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" xlink:title="995445 - Disclosure - Insider Trading Arragements">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_InsiderTradingArrLineItems" xlink:label="loc_ecdInsiderTradingArrLineItems_692ac3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_Rule10b51ArrAdoptedFlag" xlink:label="loc_ecdRule10b51ArrAdoptedFlag_351c98" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingArrLineItems_692ac3" xlink:to="loc_ecdRule10b51ArrAdoptedFlag_351c98" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_Rule10b51ArrTrmntdFlag" xlink:label="loc_ecdRule10b51ArrTrmntdFlag_7165d1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingArrLineItems_692ac3" xlink:to="loc_ecdRule10b51ArrTrmntdFlag_7165d1" order="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_NonRule10b51ArrAdoptedFlag" xlink:label="loc_ecdNonRule10b51ArrAdoptedFlag_fcf210" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingArrLineItems_692ac3" xlink:to="loc_ecdNonRule10b51ArrAdoptedFlag_fcf210" order="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_NonRule10b51ArrTrmntdFlag" xlink:label="loc_ecdNonRule10b51ArrTrmntdFlag_c211eb" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_ecdInsiderTradingArrLineItems_692ac3" xlink:to="loc_ecdNonRule10b51ArrTrmntdFlag_c211eb" order="5" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/OrganizationAndBusinessBackground" xlink:title="995551 - Disclosure - Organization and Business Background">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="loc_us-gaapOrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_16d10f" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_c8a7e3" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_16d10f" xlink:to="loc_us-gaapStatementTable_c8a7e3" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_79274d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_c8a7e3" xlink:to="loc_us-gaapStatementLineItems_79274d" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_31aff9" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_c8a7e3" xlink:to="loc_srtConsolidatedEntitiesAxis_31aff9" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_c70092" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_31aff9" xlink:to="loc_srtConsolidatedEntitiesDomain_c70092" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember_fa7690" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_c70092" xlink:to="loc_srtSubsidiariesMember_fa7690" order="11" 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_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" xlink:label="loc_us-gaapOrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock_9ec7d4" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_16d10f" xlink:to="loc_us-gaapOrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock_9ec7d4" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/SummaryOfSignificantAccountingPolicies" xlink:title="995552 - Disclosure - Summary of significant accounting 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-gaapAccountingPoliciesAbstract_309716" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_9c69b1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract_309716" xlink:to="loc_us-gaapStatementTable_9c69b1" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_a3893c" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_9c69b1" xlink:to="loc_us-gaapStatementLineItems_a3893c" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_47fdfc" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_9c69b1" xlink:to="loc_srtConsolidatedEntitiesAxis_47fdfc" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_2b0213" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_47fdfc" xlink:to="loc_srtConsolidatedEntitiesDomain_2b0213" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember_cc33a3" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_2b0213" xlink:to="loc_srtSubsidiariesMember_cc33a3" order="11" 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_SignificantAccountingPoliciesTextBlock" xlink:label="loc_us-gaapSignificantAccountingPoliciesTextBlock_a8096d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_a3893c" xlink:to="loc_us-gaapSignificantAccountingPoliciesTextBlock_a8096d" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/SegmentInformation" xlink:title="995553 - Disclosure - Segment information">
    <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-gaapSegmentReportingAbstract_776040" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingDisclosureTextBlock" xlink:label="loc_us-gaapSegmentReportingDisclosureTextBlock_fe2989" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentReportingAbstract_776040" xlink:to="loc_us-gaapSegmentReportingDisclosureTextBlock_fe2989" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/AccountsReceivableNet" xlink:title="995554 - Disclosure - Accounts receivable net">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetAbstract" xlink:label="loc_us-gaapAccountsReceivableNetAbstract_9bc693" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_04d047" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountsReceivableNetAbstract_9bc693" xlink:to="loc_us-gaapStatementTable_04d047" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_e6c257" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_04d047" xlink:to="loc_us-gaapStatementLineItems_e6c257" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_d9ee19" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_04d047" xlink:to="loc_srtConsolidatedEntitiesAxis_d9ee19" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_d98185" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_d9ee19" xlink:to="loc_srtConsolidatedEntitiesDomain_d98185" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember_2a7619" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_d98185" xlink:to="loc_srtSubsidiariesMember_2a7619" order="11" 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_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" xlink:label="loc_us-gaapLoansNotesTradeAndOtherReceivablesDisclosureTextBlock_70f175" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_e6c257" xlink:to="loc_us-gaapLoansNotesTradeAndOtherReceivablesDisclosureTextBlock_70f175" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/PrepaymentsAndOtherCurrentAssets" xlink:title="995555 - Disclosure - Prepayments and other current assets">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrentAbstract" xlink:label="loc_us-gaapPrepaidExpenseAndOtherAssetsCurrentAbstract_b750e8" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_910c5c" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPrepaidExpenseAndOtherAssetsCurrentAbstract_b750e8" xlink:to="loc_us-gaapStatementTable_910c5c" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_0a7ed7" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_910c5c" xlink:to="loc_us-gaapStatementLineItems_0a7ed7" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_9c4b6e" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_910c5c" xlink:to="loc_srtConsolidatedEntitiesAxis_9c4b6e" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_fa0e35" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_9c4b6e" xlink:to="loc_srtConsolidatedEntitiesDomain_fa0e35" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember_a51973" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_fa0e35" xlink:to="loc_srtSubsidiariesMember_a51973" order="11" 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_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock" xlink:label="loc_us-gaapDeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock_0acbf6" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_0a7ed7" xlink:to="loc_us-gaapDeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock_0acbf6" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/ContractAssetsAndLiabilities" xlink:title="995556 - Disclosure - Contract assets and liabilities">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityAbstract" xlink:label="loc_us-gaapContractWithCustomerAssetAndLiabilityAbstract_d08a3b" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_a355ca" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapContractWithCustomerAssetAndLiabilityAbstract_d08a3b" xlink:to="loc_us-gaapStatementTable_a355ca" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_c949ba" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_a355ca" xlink:to="loc_us-gaapStatementLineItems_c949ba" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_3f3c92" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_a355ca" xlink:to="loc_srtConsolidatedEntitiesAxis_3f3c92" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_847380" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_3f3c92" xlink:to="loc_srtConsolidatedEntitiesDomain_847380" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember_a91409" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_847380" xlink:to="loc_srtSubsidiariesMember_a91409" order="11" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ContractWithCustomerAssetAndLiabilityDisclosureTextBlock" xlink:label="loc_clwtContractWithCustomerAssetAndLiabilityDisclosureTextBlock_f42055" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_c949ba" xlink:to="loc_clwtContractWithCustomerAssetAndLiabilityDisclosureTextBlock_f42055" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/Inventories" xlink:title="995557 - Disclosure - Inventories">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="loc_us-gaapInventoryDisclosureAbstract_ef3333" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_8a0b49" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapInventoryDisclosureAbstract_ef3333" xlink:to="loc_us-gaapStatementTable_8a0b49" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_eb01dc" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_8a0b49" xlink:to="loc_us-gaapStatementLineItems_eb01dc" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_4ce86b" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_8a0b49" xlink:to="loc_srtConsolidatedEntitiesAxis_4ce86b" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_eaaa59" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_4ce86b" xlink:to="loc_srtConsolidatedEntitiesDomain_eaaa59" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember_b95da8" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_eaaa59" xlink:to="loc_srtSubsidiariesMember_b95da8" order="11" 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_InventoryDisclosureTextBlock" xlink:label="loc_us-gaapInventoryDisclosureTextBlock_2d9c5f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapInventoryDisclosureAbstract_ef3333" xlink:to="loc_us-gaapInventoryDisclosureTextBlock_2d9c5f" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/ShortTermAndLongTermInvestments" xlink:title="995558 - Disclosure - Short-term and long-term investments">
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ShortTermAndLongTermInvestmentsDisclosureAbstract" xlink:label="loc_clwtShortTermAndLongTermInvestmentsDisclosureAbstract_016614" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_2d8f58" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_clwtShortTermAndLongTermInvestmentsDisclosureAbstract_016614" xlink:to="loc_us-gaapStatementTable_2d8f58" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_888d0b" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_2d8f58" xlink:to="loc_us-gaapStatementLineItems_888d0b" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_972f4a" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_2d8f58" xlink:to="loc_srtConsolidatedEntitiesAxis_972f4a" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_49ea14" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_972f4a" xlink:to="loc_srtConsolidatedEntitiesDomain_49ea14" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember_b19044" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_49ea14" xlink:to="loc_srtSubsidiariesMember_b19044" order="11" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CashCashEquivalentsAndShortTermAndLongTermInvestmentsTextBlock" xlink:label="loc_clwtCashCashEquivalentsAndShortTermAndLongTermInvestmentsTextBlock_9d693b" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_888d0b" xlink:to="loc_clwtCashCashEquivalentsAndShortTermAndLongTermInvestmentsTextBlock_9d693b" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/PropertyPlantAndEquipmentNet" xlink:title="995559 - Disclosure - Property plant and equipment net">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="loc_us-gaapPropertyPlantAndEquipmentAbstract_e742b7" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_81edb5" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentAbstract_e742b7" xlink:to="loc_us-gaapStatementTable_81edb5" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_f25339" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_81edb5" xlink:to="loc_us-gaapStatementLineItems_f25339" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_4a8e46" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_81edb5" xlink:to="loc_srtConsolidatedEntitiesAxis_4a8e46" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_c3ea8f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_4a8e46" xlink:to="loc_srtConsolidatedEntitiesDomain_c3ea8f" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember_f0f32e" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_c3ea8f" xlink:to="loc_srtSubsidiariesMember_f0f32e" order="11" 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_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:label="loc_us-gaapPropertyPlantAndEquipmentDisclosureTextBlock_780ecc" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentAbstract_e742b7" xlink:to="loc_us-gaapPropertyPlantAndEquipmentDisclosureTextBlock_780ecc" order="1" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/IntangibleAssetsNet" xlink:title="995560 - Disclosure - Intangible assets, net">
    <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-gaapGoodwillAndIntangibleAssetsDisclosureAbstract_ec9177" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_c35243" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract_ec9177" xlink:to="loc_us-gaapStatementTable_c35243" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_e9eaa0" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_c35243" xlink:to="loc_us-gaapStatementLineItems_e9eaa0" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_fe89e3" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_c35243" xlink:to="loc_srtConsolidatedEntitiesAxis_fe89e3" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_6a9e01" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_fe89e3" xlink:to="loc_srtConsolidatedEntitiesDomain_6a9e01" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember_90bcd2" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_6a9e01" xlink:to="loc_srtSubsidiariesMember_90bcd2" order="11" 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_IntangibleAssetsDisclosureTextBlock" xlink:label="loc_us-gaapIntangibleAssetsDisclosureTextBlock_60481e" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_e9eaa0" xlink:to="loc_us-gaapIntangibleAssetsDisclosureTextBlock_60481e" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/LandUseRightNet" xlink:title="995561 - Disclosure - Land use right, net">
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_LandUseRightNetDisclosureAbstract" xlink:label="loc_clwtLandUseRightNetDisclosureAbstract_32f83d" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_aaeae2" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_clwtLandUseRightNetDisclosureAbstract_32f83d" xlink:to="loc_us-gaapStatementTable_aaeae2" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_f5029a" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_aaeae2" xlink:to="loc_us-gaapStatementLineItems_f5029a" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_7a74fc" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_aaeae2" xlink:to="loc_srtConsolidatedEntitiesAxis_7a74fc" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_7f029d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_7a74fc" xlink:to="loc_srtConsolidatedEntitiesDomain_7f029d" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember_a05289" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_7f029d" xlink:to="loc_srtSubsidiariesMember_a05289" order="11" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_LandUseRightNetDisclosureTextBlock" xlink:label="loc_clwtLandUseRightNetDisclosureTextBlock_fdfb60" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_f5029a" xlink:to="loc_clwtLandUseRightNetDisclosureTextBlock_fdfb60" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/BankBorrowings" xlink:title="995562 - Disclosure - Bank borrowings">
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_BankBorrowingsDisclosureAbstract" xlink:label="loc_clwtBankBorrowingsDisclosureAbstract_f68af4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_8345d6" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_clwtBankBorrowingsDisclosureAbstract_f68af4" xlink:to="loc_us-gaapStatementTable_8345d6" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_bb6e64" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_8345d6" xlink:to="loc_us-gaapStatementLineItems_bb6e64" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_ebb47e" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_8345d6" xlink:to="loc_srtConsolidatedEntitiesAxis_ebb47e" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_05f6d4" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_ebb47e" xlink:to="loc_srtConsolidatedEntitiesDomain_05f6d4" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember_42b4ab" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_05f6d4" xlink:to="loc_srtSubsidiariesMember_42b4ab" order="11" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_BankBorrowingsDisclosureTextBlock" xlink:label="loc_clwtBankBorrowingsDisclosureTextBlock_5f21c4" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_bb6e64" xlink:to="loc_clwtBankBorrowingsDisclosureTextBlock_5f21c4" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/InvestmentsInAffiliates" xlink:title="995563 - Disclosure - Investments in affiliates">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVenturesAbstract" xlink:label="loc_us-gaapInvestmentsInAffiliatesSubsidiariesAssociatesAndJointVenturesAbstract_32c0d7" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentsInAndAdvancesToAffiliatesTextBlock" xlink:label="loc_us-gaapInvestmentsInAndAdvancesToAffiliatesTextBlock_00861e" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapInvestmentsInAffiliatesSubsidiariesAssociatesAndJointVenturesAbstract_32c0d7" xlink:to="loc_us-gaapInvestmentsInAndAdvancesToAffiliatesTextBlock_00861e" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/Goodwill" xlink:title="995564 - Disclosure - Goodwill">
    <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-gaapGoodwillAndIntangibleAssetsDisclosureAbstract_12df0f" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillDisclosureTextBlock" xlink:label="loc_us-gaapGoodwillDisclosureTextBlock_6bb785" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract_12df0f" xlink:to="loc_us-gaapGoodwillDisclosureTextBlock_6bb785" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/OtherPayablesAndAccruedExpenses" xlink:title="995565 - Disclosure - Other payables and accrued expenses">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PayablesAndAccrualsAbstract" xlink:label="loc_us-gaapPayablesAndAccrualsAbstract_b3539b" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_a3349d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPayablesAndAccrualsAbstract_b3539b" xlink:to="loc_us-gaapStatementTable_a3349d" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_24b731" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_a3349d" xlink:to="loc_us-gaapStatementLineItems_24b731" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_a526c6" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_a3349d" xlink:to="loc_srtConsolidatedEntitiesAxis_a526c6" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_892813" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_a526c6" xlink:to="loc_srtConsolidatedEntitiesDomain_892813" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember_788375" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_892813" xlink:to="loc_srtSubsidiariesMember_788375" order="11" 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_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:label="loc_us-gaapAccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_893f7f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPayablesAndAccrualsAbstract_b3539b" xlink:to="loc_us-gaapAccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_893f7f" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/OtherTaxesPayable" xlink:title="995566 - Disclosure - Other taxes payable">
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OtherTaxesPayableDisclosureAbstract" xlink:label="loc_clwtOtherTaxesPayableDisclosureAbstract_f7b33f" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_81f015" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_clwtOtherTaxesPayableDisclosureAbstract_f7b33f" xlink:to="loc_us-gaapStatementTable_81f015" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_f9847d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_81f015" xlink:to="loc_us-gaapStatementLineItems_f9847d" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_ca212e" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_81f015" xlink:to="loc_srtConsolidatedEntitiesAxis_ca212e" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_9dc1ab" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_ca212e" xlink:to="loc_srtConsolidatedEntitiesDomain_9dc1ab" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember_78b94e" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_9dc1ab" xlink:to="loc_srtSubsidiariesMember_78b94e" order="11" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OtherTaxesPayableDisclosureTextBlock" xlink:label="loc_clwtOtherTaxesPayableDisclosureTextBlock_42451c" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_f9847d" xlink:to="loc_clwtOtherTaxesPayableDisclosureTextBlock_42451c" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/CapitalReserve" xlink:title="995567 - Disclosure - Capital reserve">
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CapitalReserveDisclosureAbstract" xlink:label="loc_clwtCapitalReserveDisclosureAbstract_7f1654" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_565afb" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_clwtCapitalReserveDisclosureAbstract_7f1654" xlink:to="loc_us-gaapStatementTable_565afb" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_adf990" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_565afb" xlink:to="loc_us-gaapStatementLineItems_adf990" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_f21b01" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_565afb" xlink:to="loc_srtConsolidatedEntitiesAxis_f21b01" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_3d1ac4" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_f21b01" xlink:to="loc_srtConsolidatedEntitiesDomain_3d1ac4" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember_e2be00" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_3d1ac4" xlink:to="loc_srtSubsidiariesMember_e2be00" order="11" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CapitalReserveDisclosureTextBlock" xlink:label="loc_clwtCapitalReserveDisclosureTextBlock_eba056" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_adf990" xlink:to="loc_clwtCapitalReserveDisclosureTextBlock_eba056" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/OtherIncomeAndOtherLosses" xlink:title="995568 - Disclosure - Other income and other losses">
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OtherIncomeAndOtherLossesDisclosureAbstract" xlink:label="loc_clwtOtherIncomeAndOtherLossesDisclosureAbstract_5d0bee" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_39bf73" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_clwtOtherIncomeAndOtherLossesDisclosureAbstract_5d0bee" xlink:to="loc_us-gaapStatementTable_39bf73" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_fba0b4" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_39bf73" xlink:to="loc_us-gaapStatementLineItems_fba0b4" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_96bb21" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_39bf73" xlink:to="loc_srtConsolidatedEntitiesAxis_96bb21" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_ab49d7" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_96bb21" xlink:to="loc_srtConsolidatedEntitiesDomain_ab49d7" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember_2821bd" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_ab49d7" xlink:to="loc_srtSubsidiariesMember_2821bd" order="11" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OtherIncomeAndOtherLossesDisclosureTextBlock" xlink:label="loc_clwtOtherIncomeAndOtherLossesDisclosureTextBlock_93c002" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_fba0b4" xlink:to="loc_clwtOtherIncomeAndOtherLossesDisclosureTextBlock_93c002" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/LeaseObligations" xlink:title="995569 - Disclosure - Lease obligations">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeasesAbstract" xlink:label="loc_us-gaapLeasesAbstract_95970c" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_0f7dd7" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLeasesAbstract_95970c" xlink:to="loc_us-gaapStatementTable_0f7dd7" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_019170" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_0f7dd7" xlink:to="loc_us-gaapStatementLineItems_019170" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_2cd129" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_0f7dd7" xlink:to="loc_srtConsolidatedEntitiesAxis_2cd129" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_5612e9" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_2cd129" xlink:to="loc_srtConsolidatedEntitiesDomain_5612e9" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember_0054db" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_5612e9" xlink:to="loc_srtSubsidiariesMember_0054db" order="11" 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_LeasesOfLesseeDisclosureTextBlock" xlink:label="loc_us-gaapLeasesOfLesseeDisclosureTextBlock_c6579b" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLeasesAbstract_95970c" xlink:to="loc_us-gaapLeasesOfLesseeDisclosureTextBlock_c6579b" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/OrdinaryShare" xlink:title="995570 - Disclosure - Ordinary share">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityAbstract" xlink:label="loc_us-gaapEquityAbstract_6cd82b" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:label="loc_us-gaapStockholdersEquityNoteDisclosureTextBlock_5cfa3f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract_6cd82b" xlink:to="loc_us-gaapStockholdersEquityNoteDisclosureTextBlock_5cfa3f" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/TreasuryStock" xlink:title="995571 - Disclosure - Treasury stock">
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_TreasuryStockAbstract" xlink:label="loc_clwtTreasuryStockAbstract_0abcc0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockTextBlock" xlink:label="loc_us-gaapTreasuryStockTextBlock_e2fbf0" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_clwtTreasuryStockAbstract_0abcc0" xlink:to="loc_us-gaapTreasuryStockTextBlock_e2fbf0" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/PrcStatutoryReserves" xlink:title="995572 - Disclosure - PRC statutory reserves">
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_PrcStatutoryReservesAbstract" xlink:label="loc_clwtPrcStatutoryReservesAbstract_ad2866" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_PrcStatutoryReservesTextBlock" xlink:label="loc_clwtPrcStatutoryReservesTextBlock_9e7b3a" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_clwtPrcStatutoryReservesAbstract_ad2866" xlink:to="loc_clwtPrcStatutoryReservesTextBlock_9e7b3a" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/OtherIncomeNet" xlink:title="995573 - Disclosure - Other income net">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherIncomeAbstract" xlink:label="loc_us-gaapOtherIncomeAbstract_de7d65" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OtherIncomeNetTextBlock" xlink:label="loc_clwtOtherIncomeNetTextBlock_ce129c" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOtherIncomeAbstract_de7d65" xlink:to="loc_clwtOtherIncomeNetTextBlock_ce129c" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/IncomeTaxes" xlink:title="995574 - 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-gaapIncomeTaxDisclosureAbstract_b4ee7e" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_17d19d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract_b4ee7e" xlink:to="loc_us-gaapStatementTable_17d19d" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_131cf4" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_17d19d" xlink:to="loc_us-gaapStatementLineItems_131cf4" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_75390b" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_17d19d" xlink:to="loc_srtConsolidatedEntitiesAxis_75390b" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_fe60d6" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_75390b" xlink:to="loc_srtConsolidatedEntitiesDomain_fe60d6" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember_ca92f0" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_fe60d6" xlink:to="loc_srtSubsidiariesMember_ca92f0" order="11" 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_IncomeTaxDisclosureTextBlock" xlink:label="loc_us-gaapIncomeTaxDisclosureTextBlock_3dd315" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract_b4ee7e" xlink:to="loc_us-gaapIncomeTaxDisclosureTextBlock_3dd315" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/NetIncomePerOrdinaryShare" xlink:title="995575 - Disclosure - Net income per ordinary 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-gaapEarningsPerShareAbstract_6472f2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="loc_us-gaapEarningsPerShareTextBlock_6c2922" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract_6472f2" xlink:to="loc_us-gaapEarningsPerShareTextBlock_6c2922" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/StockOptions" xlink:title="995576 - Disclosure - Stock options">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationAbstract" xlink:label="loc_us-gaapShareBasedCompensationAbstract_ce4378" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:label="loc_us-gaapScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_e31f67" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationAbstract_ce4378" xlink:to="loc_us-gaapScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_e31f67" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/PensionPlan" xlink:title="995577 - Disclosure - Pension plan">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PensionAndOtherPostretirementBenefitContributionsAbstract" xlink:label="loc_us-gaapPensionAndOtherPostretirementBenefitContributionsAbstract_7e1c4c" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_bb2f24" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPensionAndOtherPostretirementBenefitContributionsAbstract_7e1c4c" xlink:to="loc_us-gaapStatementTable_bb2f24" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_767f9f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_bb2f24" xlink:to="loc_us-gaapStatementLineItems_767f9f" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_6507e1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_bb2f24" xlink:to="loc_srtConsolidatedEntitiesAxis_6507e1" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_0d6165" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_6507e1" xlink:to="loc_srtConsolidatedEntitiesDomain_0d6165" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember_3d40aa" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_0d6165" xlink:to="loc_srtSubsidiariesMember_3d40aa" order="11" 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_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:label="loc_us-gaapPensionAndOtherPostretirementBenefitsDisclosureTextBlock_0db396" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPensionAndOtherPostretirementBenefitContributionsAbstract_7e1c4c" xlink:to="loc_us-gaapPensionAndOtherPostretirementBenefitsDisclosureTextBlock_0db396" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/RiskFactors" xlink:title="995578 - Disclosure - Risk factors">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeInstrumentDetailAbstract" xlink:label="loc_us-gaapDerivativeInstrumentDetailAbstract_8b77f0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_95c6bc" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDerivativeInstrumentDetailAbstract_8b77f0" xlink:to="loc_us-gaapStatementTable_95c6bc" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_ebfe3a" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_95c6bc" xlink:to="loc_us-gaapStatementLineItems_ebfe3a" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_cdeb55" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_95c6bc" xlink:to="loc_srtConsolidatedEntitiesAxis_cdeb55" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_01d66d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_cdeb55" xlink:to="loc_srtConsolidatedEntitiesDomain_01d66d" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember_cf4c3e" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_01d66d" xlink:to="loc_srtSubsidiariesMember_cf4c3e" order="11" 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_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock" xlink:label="loc_us-gaapDerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_3cc581" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDerivativeInstrumentDetailAbstract_8b77f0" xlink:to="loc_us-gaapDerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_3cc581" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/RiskAndUncertainty" xlink:title="995579 - Disclosure - Risk and uncertainty">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RisksAndUncertaintiesAbstract" xlink:label="loc_us-gaapRisksAndUncertaintiesAbstract_3b38d4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UnusualRisksAndUncertaintiesTextBlock" xlink:label="loc_us-gaapUnusualRisksAndUncertaintiesTextBlock_82b6fc" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRisksAndUncertaintiesAbstract_3b38d4" xlink:to="loc_us-gaapUnusualRisksAndUncertaintiesTextBlock_82b6fc" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/RelatedPartyTransactions" xlink:title="995580 - Disclosure - Related party transactions">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionsAbstract" xlink:label="loc_us-gaapRelatedPartyTransactionsAbstract_65e1ef" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_8eef7a" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionsAbstract_65e1ef" xlink:to="loc_us-gaapStatementTable_8eef7a" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_143ff2" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_8eef7a" xlink:to="loc_us-gaapStatementLineItems_143ff2" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_3234fc" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_8eef7a" xlink:to="loc_srtConsolidatedEntitiesAxis_3234fc" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_f0781c" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_3234fc" xlink:to="loc_srtConsolidatedEntitiesDomain_f0781c" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember_ece9bc" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_f0781c" xlink:to="loc_srtSubsidiariesMember_ece9bc" order="11" 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_RelatedPartyTransactionsDisclosureTextBlock" xlink:label="loc_us-gaapRelatedPartyTransactionsDisclosureTextBlock_e3f9f8" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionsAbstract_65e1ef" xlink:to="loc_us-gaapRelatedPartyTransactionsDisclosureTextBlock_e3f9f8" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/CommitmentsAndContingencies" xlink:title="995581 - 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-gaapCommitmentsAndContingenciesDisclosureAbstract_3b6459" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_abe535" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract_3b6459" xlink:to="loc_us-gaapStatementTable_abe535" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_a3507f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_abe535" xlink:to="loc_us-gaapStatementLineItems_a3507f" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_9b6f21" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_abe535" xlink:to="loc_srtConsolidatedEntitiesAxis_9b6f21" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_713d2f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_9b6f21" xlink:to="loc_srtConsolidatedEntitiesDomain_713d2f" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember_3a92a7" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_713d2f" xlink:to="loc_srtSubsidiariesMember_3a92a7" order="11" 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_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="loc_us-gaapCommitmentsAndContingenciesDisclosureTextBlock_72286c" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract_3b6459" xlink:to="loc_us-gaapCommitmentsAndContingenciesDisclosureTextBlock_72286c" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/SubsequentEvents" xlink:title="995582 - Disclosure - Subsequent events">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="loc_us-gaapSubsequentEventsAbstract_648a2b" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_0be775" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsequentEventsAbstract_648a2b" xlink:to="loc_us-gaapStatementTable_0be775" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_d08bf9" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_0be775" xlink:to="loc_us-gaapStatementLineItems_d08bf9" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_8d6c97" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_0be775" xlink:to="loc_srtConsolidatedEntitiesAxis_8d6c97" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_974b4e" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_8d6c97" xlink:to="loc_srtConsolidatedEntitiesDomain_974b4e" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember_ae6aa9" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_974b4e" xlink:to="loc_srtSubsidiariesMember_ae6aa9" order="11" 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_SubsequentEventsTextBlock" xlink:label="loc_us-gaapSubsequentEventsTextBlock_eeaff9" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsequentEventsAbstract_648a2b" xlink:to="loc_us-gaapSubsequentEventsTextBlock_eeaff9" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies" xlink:title="995583 - Disclosure - Summary of significant accounting policies (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-gaapAccountingPoliciesAbstract_7a8f94" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_9c3084" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract_7a8f94" xlink:to="loc_us-gaapStatementTable_9c3084" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_52c077" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_9c3084" xlink:to="loc_us-gaapStatementLineItems_52c077" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_9bc1ba" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_9c3084" xlink:to="loc_srtConsolidatedEntitiesAxis_9bc1ba" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_738dfb" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_9bc1ba" xlink:to="loc_srtConsolidatedEntitiesDomain_738dfb" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember_9c7fc8" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_738dfb" xlink:to="loc_srtSubsidiariesMember_9c7fc8" order="11" 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_UseOfEstimates" xlink:label="loc_us-gaapUseOfEstimates_96fce5" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_52c077" xlink:to="loc_us-gaapUseOfEstimates_96fce5" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConsolidationPolicyTextBlock" xlink:label="loc_us-gaapConsolidationPolicyTextBlock_fe016b" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_52c077" xlink:to="loc_us-gaapConsolidationPolicyTextBlock_fe016b" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConsolidationSubsidiariesOrOtherInvestmentsConsolidatedEntitiesPolicy" xlink:label="loc_us-gaapConsolidationSubsidiariesOrOtherInvestmentsConsolidatedEntitiesPolicy_faf27f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_52c077" xlink:to="loc_us-gaapConsolidationSubsidiariesOrOtherInvestmentsConsolidatedEntitiesPolicy_faf27f" order="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestmentsPolicy" xlink:label="loc_us-gaapEquityMethodInvestmentsPolicy_bfd9af" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_52c077" xlink:to="loc_us-gaapEquityMethodInvestmentsPolicy_bfd9af" order="4" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_NoncontrollingInterestsPolicyTextBlock" xlink:label="loc_clwtNoncontrollingInterestsPolicyTextBlock_01fbed" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_52c077" xlink:to="loc_clwtNoncontrollingInterestsPolicyTextBlock_01fbed" order="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:label="loc_us-gaapSegmentReportingPolicyPolicyTextBlock_569a3e" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_52c077" xlink:to="loc_us-gaapSegmentReportingPolicyPolicyTextBlock_569a3e" order="6" 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_RevenueRecognitionPolicyTextBlock" xlink:label="loc_us-gaapRevenueRecognitionPolicyTextBlock_93392b" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_52c077" xlink:to="loc_us-gaapRevenueRecognitionPolicyTextBlock_93392b" order="7" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:label="loc_us-gaapResearchAndDevelopmentExpensePolicy_7d3a2c" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_52c077" xlink:to="loc_us-gaapResearchAndDevelopmentExpensePolicy_7d3a2c" order="8" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdvertisingCostsPolicyTextBlock" xlink:label="loc_us-gaapAdvertisingCostsPolicyTextBlock_1c82f1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_52c077" xlink:to="loc_us-gaapAdvertisingCostsPolicyTextBlock_1c82f1" order="9" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxPolicyTextBlock" xlink:label="loc_us-gaapIncomeTaxPolicyTextBlock_93a756" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_52c077" xlink:to="loc_us-gaapIncomeTaxPolicyTextBlock_93a756" order="10" 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_CashAndCashEquivalentsPolicyTextBlock" xlink:label="loc_us-gaapCashAndCashEquivalentsPolicyTextBlock_480e51" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_52c077" xlink:to="loc_us-gaapCashAndCashEquivalentsPolicyTextBlock_480e51" order="11" 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_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy" xlink:label="loc_us-gaapCashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy_661c40" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_52c077" xlink:to="loc_us-gaapCashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy_661c40" order="12" 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_ReceivablesPolicyTextBlock" xlink:label="loc_us-gaapReceivablesPolicyTextBlock_7c8a63" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_52c077" xlink:to="loc_us-gaapReceivablesPolicyTextBlock_7c8a63" order="13" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryPolicyTextBlock" xlink:label="loc_us-gaapInventoryPolicyTextBlock_965d5f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_52c077" xlink:to="loc_us-gaapInventoryPolicyTextBlock_965d5f" order="14" 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_PropertyPlantAndEquipmentPolicyTextBlock" xlink:label="loc_us-gaapPropertyPlantAndEquipmentPolicyTextBlock_0aa227" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_52c077" xlink:to="loc_us-gaapPropertyPlantAndEquipmentPolicyTextBlock_0aa227" order="15" 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_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:label="loc_us-gaapImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_910749" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_52c077" xlink:to="loc_us-gaapImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock_910749" order="16" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentPolicyTextBlock" xlink:label="loc_us-gaapInvestmentPolicyTextBlock_bf47c0" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_52c077" xlink:to="loc_us-gaapInvestmentPolicyTextBlock_bf47c0" order="17" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeLeasesPolicyTextBlock" xlink:label="loc_us-gaapLesseeLeasesPolicyTextBlock_f0711e" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_52c077" xlink:to="loc_us-gaapLesseeLeasesPolicyTextBlock_f0711e" order="18" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy" xlink:label="loc_us-gaapGoodwillAndIntangibleAssetsGoodwillPolicy_33969b" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_52c077" xlink:to="loc_us-gaapGoodwillAndIntangibleAssetsGoodwillPolicy_33969b" order="19" 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_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:label="loc_us-gaapForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_796e0a" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_52c077" xlink:to="loc_us-gaapForeignCurrencyTransactionsAndTranslationsPolicyTextBlock_796e0a" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomePolicyPolicyTextBlock" xlink:label="loc_us-gaapComprehensiveIncomePolicyPolicyTextBlock_5271d6" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_52c077" xlink:to="loc_us-gaapComprehensiveIncomePolicyPolicyTextBlock_5271d6" order="21" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OrdinaryShares" xlink:label="loc_clwtOrdinaryShares_e5eec8" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_52c077" xlink:to="loc_clwtOrdinaryShares_e5eec8" order="22" 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_EarningsPerSharePolicyTextBlock" xlink:label="loc_us-gaapEarningsPerSharePolicyTextBlock_adfc7b" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_52c077" xlink:to="loc_us-gaapEarningsPerSharePolicyTextBlock_adfc7b" order="23" 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_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:label="loc_us-gaapShareBasedCompensationOptionAndIncentivePlansPolicy_9f6f44" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_52c077" xlink:to="loc_us-gaapShareBasedCompensationOptionAndIncentivePlansPolicy_9f6f44" order="24" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_RelatedPartiesPolicy" xlink:label="loc_clwtRelatedPartiesPolicy_0292a2" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_52c077" xlink:to="loc_clwtRelatedPartiesPolicy_0292a2" order="25" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskCreditRisk" xlink:label="loc_us-gaapConcentrationRiskCreditRisk_ff9284" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_52c077" xlink:to="loc_us-gaapConcentrationRiskCreditRisk_ff9284" order="26" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_FinanceCostsPolicyTextBlock" xlink:label="loc_clwtFinanceCostsPolicyTextBlock_8cf2ec" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_52c077" xlink:to="loc_clwtFinanceCostsPolicyTextBlock_8cf2ec" order="27" 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_ExtendedProductWarrantyPolicy" xlink:label="loc_us-gaapExtendedProductWarrantyPolicy_2f7758" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_52c077" xlink:to="loc_us-gaapExtendedProductWarrantyPolicy_2f7758" order="28" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ContractAssetsAndContractLiabilitiesPolicyTextBlock" xlink:label="loc_clwtContractAssetsAndContractLiabilitiesPolicyTextBlock_86cef3" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_52c077" xlink:to="loc_clwtContractAssetsAndContractLiabilitiesPolicyTextBlock_86cef3" order="29" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShippingAndHandlingCostPolicyTextBlock" xlink:label="loc_us-gaapShippingAndHandlingCostPolicyTextBlock_301d2f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_52c077" xlink:to="loc_us-gaapShippingAndHandlingCostPolicyTextBlock_301d2f" order="30" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_RetirementPlanCostsPolicyTextBlock" xlink:label="loc_clwtRetirementPlanCostsPolicyTextBlock_581c55" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_52c077" xlink:to="loc_clwtRetirementPlanCostsPolicyTextBlock_581c55" order="31" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_StatutoryReservesPolicyTextBlock" xlink:label="loc_clwtStatutoryReservesPolicyTextBlock_30b3ad" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_52c077" xlink:to="loc_clwtStatutoryReservesPolicyTextBlock_30b3ad" order="32" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:label="loc_us-gaapFairValueMeasurementPolicyPolicyTextBlock_d75520" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_52c077" xlink:to="loc_us-gaapFairValueMeasurementPolicyPolicyTextBlock_d75520" order="33" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="loc_us-gaapNewAccountingPronouncementsPolicyPolicyTextBlock_e1f9f3" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_52c077" xlink:to="loc_us-gaapNewAccountingPronouncementsPolicyPolicyTextBlock_e1f9f3" order="34" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Reclassifications" xlink:label="loc_us-gaapReclassifications_f05e3a" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_52c077" xlink:to="loc_us-gaapReclassifications_f05e3a" order="35" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:label="loc_us-gaapBasisOfPresentationAndSignificantAccountingPoliciesTextBlock_357b87" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_52c077" xlink:to="loc_us-gaapBasisOfPresentationAndSignificantAccountingPoliciesTextBlock_357b87" order="36" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ClassificationOfContractAssetsNetAndLiabilitiesPolicyTextBlock" xlink:label="loc_clwtClassificationOfContractAssetsNetAndLiabilitiesPolicyTextBlock_264367" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_52c077" xlink:to="loc_clwtClassificationOfContractAssetsNetAndLiabilitiesPolicyTextBlock_264367" order="37" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntangibleAssetsFiniteLivedPolicy" xlink:label="loc_us-gaapIntangibleAssetsFiniteLivedPolicy_b8d686" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_52c077" xlink:to="loc_us-gaapIntangibleAssetsFiniteLivedPolicy_b8d686" order="38" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_GovernmentGrantIncomePolicyTextBlock" xlink:label="loc_clwtGovernmentGrantIncomePolicyTextBlock_cbacda" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_52c077" xlink:to="loc_clwtGovernmentGrantIncomePolicyTextBlock_cbacda" order="39" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ShareCapitalPolicyTextBlock" xlink:label="loc_clwtShareCapitalPolicyTextBlock_25ce8d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_52c077" xlink:to="loc_clwtShareCapitalPolicyTextBlock_25ce8d" order="40" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_NetIncomePerOrdinarySharePolicyTextBlock" xlink:label="loc_clwtNetIncomePerOrdinarySharePolicyTextBlock_1126cd" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_52c077" xlink:to="loc_clwtNetIncomePerOrdinarySharePolicyTextBlock_1126cd" order="41" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ShippingAndHandlingCostsPolicyTextBlock" xlink:label="loc_clwtShippingAndHandlingCostsPolicyTextBlock_67d253" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_52c077" xlink:to="loc_clwtShippingAndHandlingCostsPolicyTextBlock_67d253" order="42" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ShortTermAndLongTermInvestmentsPolicyTextBlock" xlink:label="loc_clwtShortTermAndLongTermInvestmentsPolicyTextBlock_02f967" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_52c077" xlink:to="loc_clwtShortTermAndLongTermInvestmentsPolicyTextBlock_02f967" order="43" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_NonControllingInterestsPolicyTextBlock" xlink:label="loc_clwtNonControllingInterestsPolicyTextBlock_a30de1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_52c077" xlink:to="loc_clwtNonControllingInterestsPolicyTextBlock_a30de1" order="44" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/OrganizationAndBusinessBackgroundTables" xlink:title="995584 - Disclosure - Organization and Business Background (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="loc_us-gaapOrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_a14e16" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_69a82b" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_a14e16" xlink:to="loc_us-gaapStatementTable_69a82b" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_f32156" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_69a82b" xlink:to="loc_us-gaapStatementLineItems_f32156" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_67f749" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_69a82b" xlink:to="loc_srtConsolidatedEntitiesAxis_67f749" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_bf2573" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_67f749" xlink:to="loc_srtConsolidatedEntitiesDomain_bf2573" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember_7e0505" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_bf2573" xlink:to="loc_srtSubsidiariesMember_7e0505" order="11" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ScheduleOfSignificantSubsidiariesTableTextBlock" xlink:label="loc_clwtScheduleOfSignificantSubsidiariesTableTextBlock_711166" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_f32156" xlink:to="loc_clwtScheduleOfSignificantSubsidiariesTableTextBlock_711166" order="1" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesTables" xlink:title="995585 - Disclosure - Summary of significant accounting policies (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="loc_us-gaapAccountingPoliciesAbstract_5538c9" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_c0243f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract_5538c9" xlink:to="loc_us-gaapStatementTable_c0243f" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_7d2523" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_c0243f" xlink:to="loc_us-gaapStatementLineItems_7d2523" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_72613e" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_c0243f" xlink:to="loc_srtConsolidatedEntitiesAxis_72613e" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_dd59e3" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_72613e" xlink:to="loc_srtConsolidatedEntitiesDomain_dd59e3" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember_a50f3f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_dd59e3" xlink:to="loc_srtSubsidiariesMember_a50f3f" order="11" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_PropertyPlantAndEquipmentUsefulLifeTableTextblock" xlink:label="loc_clwtPropertyPlantAndEquipmentUsefulLifeTableTextblock_2aa4b9" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_7d2523" xlink:to="loc_clwtPropertyPlantAndEquipmentUsefulLifeTableTextblock_2aa4b9" order="1" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ScheduleOfReconciliationOfBacklogRepresentingTheAmountOfRevenueTableTextBlock" xlink:label="loc_clwtScheduleOfReconciliationOfBacklogRepresentingTheAmountOfRevenueTableTextBlock_6a08b3" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_7d2523" xlink:to="loc_clwtScheduleOfReconciliationOfBacklogRepresentingTheAmountOfRevenueTableTextBlock_6a08b3" order="2" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/SegmentInformationTables" xlink:title="995586 - Disclosure - Segment information (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-gaapSegmentReportingAbstract_70049a" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:label="loc_us-gaapScheduleOfSegmentReportingInformationBySegmentTextBlock_adf245" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentReportingAbstract_70049a" xlink:to="loc_us-gaapScheduleOfSegmentReportingInformationBySegmentTextBlock_adf245" order="1" 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_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock" xlink:label="loc_us-gaapScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock_c008ad" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentReportingAbstract_70049a" xlink:to="loc_us-gaapScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock_c008ad" order="2" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ScheduleOfMajorSuppliersAndCustomers" xlink:label="loc_clwtScheduleOfMajorSuppliersAndCustomers_d9c7e8" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentReportingAbstract_70049a" xlink:to="loc_clwtScheduleOfMajorSuppliersAndCustomers_d9c7e8" order="3" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/AccountsReceivableNetTables" xlink:title="995587 - Disclosure - Accounts receivable net (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetAbstract" xlink:label="loc_us-gaapAccountsReceivableNetAbstract_86febb" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_0c097e" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountsReceivableNetAbstract_86febb" xlink:to="loc_us-gaapStatementTable_0c097e" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_dee3e8" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_0c097e" xlink:to="loc_us-gaapStatementLineItems_dee3e8" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_f96dcd" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_0c097e" xlink:to="loc_srtConsolidatedEntitiesAxis_f96dcd" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_70981d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_f96dcd" xlink:to="loc_srtConsolidatedEntitiesDomain_70981d" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember_269221" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_70981d" xlink:to="loc_srtSubsidiariesMember_269221" order="11" 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_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" xlink:label="loc_us-gaapScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_22f88b" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_dee3e8" xlink:to="loc_us-gaapScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock_22f88b" order="1" 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_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock" xlink:label="loc_us-gaapAllowanceForCreditLossesOnFinancingReceivablesTableTextBlock_c2b085" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_dee3e8" xlink:to="loc_us-gaapAllowanceForCreditLossesOnFinancingReceivablesTableTextBlock_c2b085" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PastDueFinancingReceivablesTableTextBlock" xlink:label="loc_us-gaapPastDueFinancingReceivablesTableTextBlock_6cba98" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_dee3e8" xlink:to="loc_us-gaapPastDueFinancingReceivablesTableTextBlock_6cba98" order="3" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/PrepaymentsAndOtherCurrentAssetsTables" xlink:title="995588 - Disclosure - Prepayments and other current assets (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrentAbstract" xlink:label="loc_us-gaapPrepaidExpenseAndOtherAssetsCurrentAbstract_cd1fd8" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_08f5c0" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPrepaidExpenseAndOtherAssetsCurrentAbstract_cd1fd8" xlink:to="loc_us-gaapStatementTable_08f5c0" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_fb60c3" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_08f5c0" xlink:to="loc_us-gaapStatementLineItems_fb60c3" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_eed03a" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_08f5c0" xlink:to="loc_srtConsolidatedEntitiesAxis_eed03a" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_2e27a8" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_eed03a" xlink:to="loc_srtConsolidatedEntitiesDomain_2e27a8" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember_096d58" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_2e27a8" xlink:to="loc_srtSubsidiariesMember_096d58" order="11" 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_ScheduleOfOtherCurrentAssetsTableTextBlock" xlink:label="loc_us-gaapScheduleOfOtherCurrentAssetsTableTextBlock_cc01a3" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_fb60c3" xlink:to="loc_us-gaapScheduleOfOtherCurrentAssetsTableTextBlock_cc01a3" order="1" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/ContractAssetsAndLiabilitiesTables" xlink:title="995589 - Disclosure - Contract assets and liabilities (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityAbstract" xlink:label="loc_us-gaapContractWithCustomerAssetAndLiabilityAbstract_9a1a5f" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_f23af3" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapContractWithCustomerAssetAndLiabilityAbstract_9a1a5f" xlink:to="loc_us-gaapStatementTable_f23af3" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_7829de" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_f23af3" xlink:to="loc_us-gaapStatementLineItems_7829de" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_1cb59f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_f23af3" xlink:to="loc_srtConsolidatedEntitiesAxis_1cb59f" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_113a14" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_1cb59f" xlink:to="loc_srtConsolidatedEntitiesDomain_113a14" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember_6641e0" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_113a14" xlink:to="loc_srtSubsidiariesMember_6641e0" order="11" 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_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:label="loc_us-gaapContractWithCustomerAssetAndLiabilityTableTextBlock_2e5368" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_7829de" xlink:to="loc_us-gaapContractWithCustomerAssetAndLiabilityTableTextBlock_2e5368" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ContractWithCustomerNetAssetLiabilityPositionTableTextBlock" xlink:label="loc_clwtContractWithCustomerNetAssetLiabilityPositionTableTextBlock_365a63" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_7829de" xlink:to="loc_clwtContractWithCustomerNetAssetLiabilityPositionTableTextBlock_365a63" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:label="loc_us-gaapDisaggregationOfRevenueTableTextBlock_b54733" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_7829de" xlink:to="loc_us-gaapDisaggregationOfRevenueTableTextBlock_b54733" order="3" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/IntangibleAssetsNetTable" xlink:title="995590 - Disclosure - Intangible assets, net (Table)">
    <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-gaapGoodwillAndIntangibleAssetsDisclosureAbstract_5f92af" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_b99211" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract_5f92af" xlink:to="loc_us-gaapStatementTable_b99211" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_f322c9" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_b99211" xlink:to="loc_us-gaapStatementLineItems_f322c9" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_5cf874" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_b99211" xlink:to="loc_srtConsolidatedEntitiesAxis_5cf874" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_935ae8" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_5cf874" xlink:to="loc_srtConsolidatedEntitiesDomain_935ae8" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember_77e704" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_935ae8" xlink:to="loc_srtSubsidiariesMember_77e704" order="11" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_IntangibleAssetsDisclosureTableTextBlock" xlink:label="loc_clwtIntangibleAssetsDisclosureTableTextBlock_7b1e6c" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_f322c9" xlink:to="loc_clwtIntangibleAssetsDisclosureTableTextBlock_7b1e6c" order="1" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_EstimatedFutureIntangibleAssetsAmortizationExpenseTableTextBlock" xlink:label="loc_clwtEstimatedFutureIntangibleAssetsAmortizationExpenseTableTextBlock_37cfdd" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_f322c9" xlink:to="loc_clwtEstimatedFutureIntangibleAssetsAmortizationExpenseTableTextBlock_37cfdd" order="2" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/LandUseRightNetTable" xlink:title="995591 - Disclosure - Land use right, net (Table)">
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_LandUseRightNetDisclosureAbstract" xlink:label="loc_clwtLandUseRightNetDisclosureAbstract_76e70e" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_fe8c08" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_clwtLandUseRightNetDisclosureAbstract_76e70e" xlink:to="loc_us-gaapStatementTable_fe8c08" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_7cb5ed" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_fe8c08" xlink:to="loc_us-gaapStatementLineItems_7cb5ed" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_90b750" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_fe8c08" xlink:to="loc_srtConsolidatedEntitiesAxis_90b750" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_8d8499" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_90b750" xlink:to="loc_srtConsolidatedEntitiesDomain_8d8499" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember_49d4df" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_8d8499" xlink:to="loc_srtSubsidiariesMember_49d4df" order="11" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_LandUseRightNetTableTextBlock" xlink:label="loc_clwtLandUseRightNetTableTextBlock_8cda70" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_7cb5ed" xlink:to="loc_clwtLandUseRightNetTableTextBlock_8cda70" order="1" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_LandUseRightNetEstimatedFutureLandUseRightAmortizationExpenseTableTextBlock" xlink:label="loc_clwtLandUseRightNetEstimatedFutureLandUseRightAmortizationExpenseTableTextBlock_ceb965" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_7cb5ed" xlink:to="loc_clwtLandUseRightNetEstimatedFutureLandUseRightAmortizationExpenseTableTextBlock_ceb965" order="2" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/BankBorrowingsTable" xlink:title="995592 - Disclosure - Bank borrowings (Table)">
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_BankBorrowingsDisclosureAbstract" xlink:label="loc_clwtBankBorrowingsDisclosureAbstract_0919aa" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_b09c5e" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_clwtBankBorrowingsDisclosureAbstract_0919aa" xlink:to="loc_us-gaapStatementTable_b09c5e" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_4adc08" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_b09c5e" xlink:to="loc_us-gaapStatementLineItems_4adc08" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_ce63fb" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_b09c5e" xlink:to="loc_srtConsolidatedEntitiesAxis_ce63fb" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_250031" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_ce63fb" xlink:to="loc_srtConsolidatedEntitiesDomain_250031" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember_9b00e3" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_250031" xlink:to="loc_srtSubsidiariesMember_9b00e3" order="11" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ScheduleOfBankBorrowingsTableTextBlock" xlink:label="loc_clwtScheduleOfBankBorrowingsTableTextBlock_dfd29f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_4adc08" xlink:to="loc_clwtScheduleOfBankBorrowingsTableTextBlock_dfd29f" order="1" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/InventoriesTables" xlink:title="995593 - Disclosure - Inventories (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="loc_us-gaapInventoryDisclosureAbstract_29e6c6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_575f29" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapInventoryDisclosureAbstract_29e6c6" xlink:to="loc_us-gaapStatementTable_575f29" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_45a90e" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_575f29" xlink:to="loc_us-gaapStatementLineItems_45a90e" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_4a0e8d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_575f29" xlink:to="loc_srtConsolidatedEntitiesAxis_4a0e8d" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_2ca33e" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_4a0e8d" xlink:to="loc_srtConsolidatedEntitiesDomain_2ca33e" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember_5e8f23" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_2ca33e" xlink:to="loc_srtSubsidiariesMember_5e8f23" order="11" 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_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="loc_us-gaapScheduleOfInventoryCurrentTableTextBlock_0aa1d6" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_45a90e" xlink:to="loc_us-gaapScheduleOfInventoryCurrentTableTextBlock_0aa1d6" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/PropertyPlantAndEquipmentNetTables" xlink:title="995594 - Disclosure - Property plant and equipment net (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="loc_us-gaapPropertyPlantAndEquipmentAbstract_817d04" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_359b3d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentAbstract_817d04" xlink:to="loc_us-gaapStatementTable_359b3d" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_36e4db" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_359b3d" xlink:to="loc_us-gaapStatementLineItems_36e4db" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_b640fc" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_359b3d" xlink:to="loc_srtConsolidatedEntitiesAxis_b640fc" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_48f0a5" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_b640fc" xlink:to="loc_srtConsolidatedEntitiesDomain_48f0a5" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember_dbfcce" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_48f0a5" xlink:to="loc_srtSubsidiariesMember_dbfcce" order="11" 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_PropertyPlantAndEquipmentTextBlock" xlink:label="loc_us-gaapPropertyPlantAndEquipmentTextBlock_64d172" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_36e4db" xlink:to="loc_us-gaapPropertyPlantAndEquipmentTextBlock_64d172" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/InvestmentsInAffiliatesTables" xlink:title="995595 - Disclosure - Investments in affiliates (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVenturesAbstract" xlink:label="loc_us-gaapInvestmentsInAffiliatesSubsidiariesAssociatesAndJointVenturesAbstract_191794" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfInvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTableTextBlock" xlink:label="loc_us-gaapScheduleOfInvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTableTextBlock_fff9c3" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapInvestmentsInAffiliatesSubsidiariesAssociatesAndJointVenturesAbstract_191794" xlink:to="loc_us-gaapScheduleOfInvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTableTextBlock_fff9c3" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_SummaryOfTheFinancialInformationOfTheAffiliates" xlink:label="loc_clwtSummaryOfTheFinancialInformationOfTheAffiliates_d2373c" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapInvestmentsInAffiliatesSubsidiariesAssociatesAndJointVenturesAbstract_191794" xlink:to="loc_clwtSummaryOfTheFinancialInformationOfTheAffiliates_d2373c" order="2" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/OtherPayablesAndAccruedExpensesTables" xlink:title="995596 - Disclosure - Other payables and accrued expenses (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PayablesAndAccrualsAbstract" xlink:label="loc_us-gaapPayablesAndAccrualsAbstract_dfd011" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_9b7e2e" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPayablesAndAccrualsAbstract_dfd011" xlink:to="loc_us-gaapStatementTable_9b7e2e" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_37d0ab" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_9b7e2e" xlink:to="loc_us-gaapStatementLineItems_37d0ab" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_a523d6" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_9b7e2e" xlink:to="loc_srtConsolidatedEntitiesAxis_a523d6" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_288b88" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_a523d6" xlink:to="loc_srtConsolidatedEntitiesDomain_288b88" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember_d413b0" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_288b88" xlink:to="loc_srtSubsidiariesMember_d413b0" order="11" 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_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock" xlink:label="loc_us-gaapScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock_bb2dc3" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPayablesAndAccrualsAbstract_dfd011" xlink:to="loc_us-gaapScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock_bb2dc3" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/LeaseObligationsTables" xlink:title="995597 - Disclosure - Lease obligations (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeasesAbstract" xlink:label="loc_us-gaapLeasesAbstract_8dfbb9" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_521784" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLeasesAbstract_8dfbb9" xlink:to="loc_us-gaapStatementTable_521784" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_c3cd8e" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_521784" xlink:to="loc_us-gaapStatementLineItems_c3cd8e" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_d5802b" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_521784" xlink:to="loc_srtConsolidatedEntitiesAxis_d5802b" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_0b26e8" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_d5802b" xlink:to="loc_srtConsolidatedEntitiesDomain_0b26e8" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember_d3c23d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_0b26e8" xlink:to="loc_srtSubsidiariesMember_d3c23d" order="11" 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_LeaseCostTableTextBlock" xlink:label="loc_us-gaapLeaseCostTableTextBlock_3277ef" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_c3cd8e" xlink:to="loc_us-gaapLeaseCostTableTextBlock_3277ef" order="1" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ScheduleOfSupplementalConsolidatedBalanceSheetInformationRelatedToLeasesTableTextBlock" xlink:label="loc_clwtScheduleOfSupplementalConsolidatedBalanceSheetInformationRelatedToLeasesTableTextBlock_bcce82" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_c3cd8e" xlink:to="loc_clwtScheduleOfSupplementalConsolidatedBalanceSheetInformationRelatedToLeasesTableTextBlock_bcce82" order="2" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ScheduleOfSupplementalConsolidatedCashFlowInformationRelatedToLeasesTableTextBlock" xlink:label="loc_clwtScheduleOfSupplementalConsolidatedCashFlowInformationRelatedToLeasesTableTextBlock_f7f028" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_c3cd8e" xlink:to="loc_clwtScheduleOfSupplementalConsolidatedCashFlowInformationRelatedToLeasesTableTextBlock_f7f028" order="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock" xlink:label="loc_us-gaapScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock_f65be2" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_c3cd8e" xlink:to="loc_us-gaapScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock_f65be2" order="4" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/OrdinaryShareTables" xlink:title="995598 - Disclosure - Ordinary share (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityAbstract" xlink:label="loc_us-gaapEquityAbstract_d266fe" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfStockByClassTextBlock" xlink:label="loc_us-gaapScheduleOfStockByClassTextBlock_f818b8" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract_d266fe" xlink:to="loc_us-gaapScheduleOfStockByClassTextBlock_f818b8" order="1" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/OtherIncomeTables" xlink:title="995599 - Disclosure - Other income (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherIncomeAndExpensesAbstract" xlink:label="loc_us-gaapOtherIncomeAndExpensesAbstract_d3f1d5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfOtherNonoperatingIncomeExpenseTableTextBlock" xlink:label="loc_us-gaapScheduleOfOtherNonoperatingIncomeExpenseTableTextBlock_93d407" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOtherIncomeAndExpensesAbstract_d3f1d5" xlink:to="loc_us-gaapScheduleOfOtherNonoperatingIncomeExpenseTableTextBlock_93d407" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/IncomeTaxesTables" xlink:title="995600 - 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="loc_us-gaapIncomeTaxDisclosureAbstract_5b985f" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_c0ce9c" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract_5b985f" xlink:to="loc_us-gaapStatementTable_c0ce9c" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_2cacba" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_c0ce9c" xlink:to="loc_us-gaapStatementLineItems_2cacba" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_85afe1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_c0ce9c" xlink:to="loc_srtConsolidatedEntitiesAxis_85afe1" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_aaf60c" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_85afe1" xlink:to="loc_srtConsolidatedEntitiesDomain_aaf60c" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember_cdea93" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_aaf60c" xlink:to="loc_srtSubsidiariesMember_cdea93" order="11" 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_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:label="loc_us-gaapScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_87034e" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract_5b985f" xlink:to="loc_us-gaapScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock_87034e" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:label="loc_us-gaapScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_1e2bed" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract_5b985f" xlink:to="loc_us-gaapScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_1e2bed" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:label="loc_us-gaapScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_25ed30" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract_5b985f" xlink:to="loc_us-gaapScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock_25ed30" order="3" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/OtherIncomeAndOtherLossesTable" xlink:title="995601 - Disclosure - Other income and other losses (Table)">
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OtherIncomeAndOtherLossesDisclosureAbstract" xlink:label="loc_clwtOtherIncomeAndOtherLossesDisclosureAbstract_4b84d5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_288bcd" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_clwtOtherIncomeAndOtherLossesDisclosureAbstract_4b84d5" xlink:to="loc_us-gaapStatementTable_288bcd" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_d6a086" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_288bcd" xlink:to="loc_us-gaapStatementLineItems_d6a086" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_7a134e" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_288bcd" xlink:to="loc_srtConsolidatedEntitiesAxis_7a134e" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_eea360" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_7a134e" xlink:to="loc_srtConsolidatedEntitiesDomain_eea360" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember_f829f6" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_eea360" xlink:to="loc_srtSubsidiariesMember_f829f6" order="11" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ScheduleOfOtherIncomeTabletextBlock" xlink:label="loc_clwtScheduleOfOtherIncomeTabletextBlock_7294b9" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_d6a086" xlink:to="loc_clwtScheduleOfOtherIncomeTabletextBlock_7294b9" order="1" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ScheduleOfOtherLossesTabletextBlock" xlink:label="loc_clwtScheduleOfOtherLossesTabletextBlock_24fac5" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_d6a086" xlink:to="loc_clwtScheduleOfOtherLossesTabletextBlock_24fac5" order="2" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/NetIncomePerOrdinaryShareTables" xlink:title="995602 - Disclosure - Net income per ordinary 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-gaapEarningsPerShareAbstract_61d4a7" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock" xlink:label="loc_us-gaapScheduleOfWeightedAverageNumberOfSharesTableTextBlock_6b7160" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract_61d4a7" xlink:to="loc_us-gaapScheduleOfWeightedAverageNumberOfSharesTableTextBlock_6b7160" order="1" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/StockOptionsTables" xlink:title="995603 - Disclosure - Stock options (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationAbstract" xlink:label="loc_us-gaapShareBasedCompensationAbstract_5b8a32" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsAndStockAppreciationRightsAwardActivityTableTextBlock" xlink:label="loc_us-gaapScheduleOfShareBasedCompensationStockOptionsAndStockAppreciationRightsAwardActivityTableTextBlock_eb2d2d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationAbstract_5b8a32" xlink:to="loc_us-gaapScheduleOfShareBasedCompensationStockOptionsAndStockAppreciationRightsAwardActivityTableTextBlock_eb2d2d" order="1" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/CommitmentsAndContingenciesTables" xlink:title="995604 - Disclosure - Commitments and contingencies (Tables)">
    <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-gaapCommitmentsAndContingenciesDisclosureAbstract_6fa463" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RedeemableNoncontrollingInterestTableTextBlock" xlink:label="loc_us-gaapRedeemableNoncontrollingInterestTableTextBlock_ec0b3d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract_6fa463" xlink:to="loc_us-gaapRedeemableNoncontrollingInterestTableTextBlock_ec0b3d" order="1" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/OrganizationAndBusinessDetails" xlink:title="995605 - Disclosure - Organization and business (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="loc_us-gaapOrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_369d93" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_9467a6" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_369d93" xlink:to="loc_us-gaapStatementTable_9467a6" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_ffdd64" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_9467a6" xlink:to="loc_us-gaapStatementLineItems_ffdd64" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsidiarySaleOfStockAxis" xlink:label="loc_us-gaapSubsidiarySaleOfStockAxis_f51018" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_9467a6" xlink:to="loc_us-gaapSubsidiarySaleOfStockAxis_f51018" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SaleOfStockNameOfTransactionDomain" xlink:label="loc_us-gaapSaleOfStockNameOfTransactionDomain_960029" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsidiarySaleOfStockAxis_f51018" xlink:to="loc_us-gaapSaleOfStockNameOfTransactionDomain_960029" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_833215" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_9467a6" xlink:to="loc_srtConsolidatedEntitiesAxis_833215" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_769840" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_833215" xlink:to="loc_srtConsolidatedEntitiesDomain_769840" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:label="loc_srtScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_780e2d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_9467a6" xlink:to="loc_srtScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_780e2d" order="50" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="loc_srtEquityMethodInvesteeNameDomain_49c365" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_780e2d" xlink:to="loc_srtEquityMethodInvesteeNameDomain_49c365" order="50" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ZhejiangTianlanEnvironmentalProtectionEngineeringsMember" xlink:label="loc_clwtZhejiangTianlanEnvironmentalProtectionEngineeringsMember_69322c" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSaleOfStockNameOfTransactionDomain_960029" xlink:to="loc_clwtZhejiangTianlanEnvironmentalProtectionEngineeringsMember_69322c" order="51" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ZhejiangTianlanMember" xlink:label="loc_clwtZhejiangTianlanMember_c4d52a" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_769840" xlink:to="loc_clwtZhejiangTianlanMember_c4d52a" order="52" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_HangzhouTianlanEnvironmenstalProtectionEquipmentCompanyLimitedMember" xlink:label="loc_clwtHangzhouTianlanEnvironmenstalProtectionEquipmentCompanyLimitedMember_d16768" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSaleOfStockNameOfTransactionDomain_960029" xlink:to="loc_clwtHangzhouTianlanEnvironmenstalProtectionEquipmentCompanyLimitedMember_d16768" order="53" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_HangzhouTianlanPureEnvironmentalProtectionTechnologyCompanysLimitedMember" xlink:label="loc_clwtHangzhouTianlanPureEnvironmentalProtectionTechnologyCompanysLimitedMember_ec604e" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSaleOfStockNameOfTransactionDomain_960029" xlink:to="loc_clwtHangzhouTianlanPureEnvironmentalProtectionTechnologyCompanysLimitedMember_ec604e" order="54" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_HangzhouTiancanEnvironmentalTechnologyCompanysLimitedMember" xlink:label="loc_clwtHangzhouTiancanEnvironmentalTechnologyCompanysLimitedMember_35e709" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSaleOfStockNameOfTransactionDomain_960029" xlink:to="loc_clwtHangzhouTiancanEnvironmentalTechnologyCompanysLimitedMember_35e709" order="55" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_HangzhouZhongyiEcologicalAndEnvironmentalConsultingCompanyLimitedMember" xlink:label="loc_clwtHangzhouZhongyiEcologicalAndEnvironmentalConsultingCompanyLimitedMember_fd0db2" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtEquityMethodInvesteeNameDomain_49c365" xlink:to="loc_clwtHangzhouZhongyiEcologicalAndEnvironmentalConsultingCompanyLimitedMember_fd0db2" order="56" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ShanghaiEuroTechsLimitedMember" xlink:label="loc_clwtShanghaiEuroTechsLimitedMember_5362c5" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtEquityMethodInvesteeNameDomain_49c365" xlink:to="loc_clwtShanghaiEuroTechsLimitedMember_5362c5" order="57" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_EuroTechTradingsLimitedMember" xlink:label="loc_clwtEuroTechTradingsLimitedMember_6f9d9c" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtEquityMethodInvesteeNameDomain_49c365" xlink:to="loc_clwtEuroTechTradingsLimitedMember_6f9d9c" order="58" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_EuroTechFarEastsLimitedMember" xlink:label="loc_clwtEuroTechFarEastsLimitedMember_330267" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtEquityMethodInvesteeNameDomain_49c365" xlink:to="loc_clwtEuroTechFarEastsLimitedMember_330267" order="59" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_PactAsiaPacificLimitedsMember" xlink:label="loc_clwtPactAsiaPacificLimitedsMember_390d68" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtEquityMethodInvesteeNameDomain_49c365" xlink:to="loc_clwtPactAsiaPacificLimitedsMember_390d68" order="60" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_YixingPactEnvironmentalsMember" xlink:label="loc_clwtYixingPactEnvironmentalsMember_48a515" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtEquityMethodInvesteeNameDomain_49c365" xlink:to="loc_clwtYixingPactEnvironmentalsMember_48a515" order="61" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_PactEnvironmentalTechnologyPteLtdMember" xlink:label="loc_clwtPactEnvironmentalTechnologyPteLtdMember_f04c7b" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtEquityMethodInvesteeNameDomain_49c365" xlink:to="loc_clwtPactEnvironmentalTechnologyPteLtdMember_f04c7b" order="62" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ZhejiangTianlanEnvironmentalProtectionTechnologyCoLtdMember" xlink:label="loc_clwtZhejiangTianlanEnvironmentalProtectionTechnologyCoLtdMember_ea7133" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtEquityMethodInvesteeNameDomain_49c365" xlink:to="loc_clwtZhejiangTianlanEnvironmentalProtectionTechnologyCoLtdMember_ea7133" order="63" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_XuanchengLanjingEnvironmentalProtectionEquipmentCoLtdMember" xlink:label="loc_clwtXuanchengLanjingEnvironmentalProtectionEquipmentCoLtdMember_ac3802" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtEquityMethodInvesteeNameDomain_49c365" xlink:to="loc_clwtXuanchengLanjingEnvironmentalProtectionEquipmentCoLtdMember_ac3802" order="64" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" xlink:label="loc_us-gaapSubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions_ebfe4a" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_ffdd64" xlink:to="loc_us-gaapSubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions_ebfe4a" order="1" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_PlaceOfIncorporation" xlink:label="loc_clwtPlaceOfIncorporation_7fe969" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_ffdd64" xlink:to="loc_clwtPlaceOfIncorporation_7fe969" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestmentDescriptionOfPrincipalActivities" xlink:label="loc_us-gaapEquityMethodInvestmentDescriptionOfPrincipalActivities_97553f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_ffdd64" xlink:to="loc_us-gaapEquityMethodInvestmentDescriptionOfPrincipalActivities_97553f" order="3" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetails" xlink:title="995606 - Disclosure - Summary of significant accounting policies (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-gaapAccountingPoliciesAbstract_d6239b" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="loc_us-gaapRevenueRemainingPerformanceObligation_1e38da" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract_d6239b" xlink:to="loc_us-gaapRevenueRemainingPerformanceObligation_1e38da" order="1" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_NewContractRevenueAwardsDuringTheYear" xlink:label="loc_clwtNewContractRevenueAwardsDuringTheYear_e6157c" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract_d6239b" xlink:to="loc_clwtNewContractRevenueAwardsDuringTheYear_e6157c" order="2" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ContractRevenueAdjustment" xlink:label="loc_clwtContractRevenueAdjustment_c3ed75" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract_d6239b" xlink:to="loc_clwtContractRevenueAdjustment_c3ed75" order="3" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ContractRevenueRecognizedForTheYear" xlink:label="loc_clwtContractRevenueRecognizedForTheYear_082a5d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract_d6239b" xlink:to="loc_clwtContractRevenueRecognizedForTheYear_082a5d" order="4" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_BacklogRevenueRemainingPerformanceObligation" xlink:label="loc_clwtBacklogRevenueRemainingPerformanceObligation_f7ef14" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract_d6239b" xlink:to="loc_clwtBacklogRevenueRemainingPerformanceObligation_f7ef14" order="5" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetails1" xlink:title="995607 - Disclosure - Summary of significant accounting policies (Details 1)">
    <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-gaapAccountingPoliciesAbstract_4ef4cf" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_ff8971" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract_4ef4cf" xlink:to="loc_us-gaapStatementTable_ff8971" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_c63094" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_ff8971" xlink:to="loc_us-gaapStatementLineItems_c63094" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis_deb51d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_ff8971" xlink:to="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis_deb51d" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaapPropertyPlantAndEquipmentTypeDomain_12d040" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis_deb51d" xlink:to="loc_us-gaapPropertyPlantAndEquipmentTypeDomain_12d040" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis" xlink:label="loc_us-gaapPlanNameAxis_346bff" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_ff8971" xlink:to="loc_us-gaapPlanNameAxis_346bff" order="40" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="loc_us-gaapPlanNameDomain_5b21c5" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPlanNameAxis_346bff" xlink:to="loc_us-gaapPlanNameDomain_5b21c5" order="40" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_7e7aa9" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_ff8971" xlink:to="loc_srtConsolidatedEntitiesAxis_7e7aa9" order="50" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_c6f3b3" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_7e7aa9" xlink:to="loc_srtConsolidatedEntitiesDomain_c6f3b3" order="50" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="loc_us-gaapLeaseholdImprovementsMember_3d90de" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain_12d040" xlink:to="loc_us-gaapLeaseholdImprovementsMember_3d90de" order="51" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_VehiclesMember" xlink:label="loc_us-gaapVehiclesMember_cf5d5d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain_12d040" xlink:to="loc_us-gaapVehiclesMember_cf5d5d" order="52" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherMachineryAndEquipmentMember" xlink:label="loc_us-gaapOtherMachineryAndEquipmentMember_9d9e5e" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain_12d040" xlink:to="loc_us-gaapOtherMachineryAndEquipmentMember_9d9e5e" order="53" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OfficerPremisesMember" xlink:label="loc_clwtOfficerPremisesMember_13b678" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain_12d040" xlink:to="loc_clwtOfficerPremisesMember_13b678" order="54" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_BottomsMember" xlink:label="loc_clwtBottomsMember_ebf1a5" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPlanNameDomain_5b21c5" xlink:to="loc_clwtBottomsMember_ebf1a5" order="55" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OfficePremisesMember" xlink:label="loc_clwtOfficePremisesMember_337a08" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain_12d040" xlink:to="loc_clwtOfficePremisesMember_337a08" order="56" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_TopsMember" xlink:label="loc_clwtTopsMember_ef62e3" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPlanNameDomain_5b21c5" xlink:to="loc_clwtTopsMember_ef62e3" order="57" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="loc_us-gaapFurnitureAndFixturesMember_9ad728" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain_12d040" xlink:to="loc_us-gaapFurnitureAndFixturesMember_9ad728" order="58" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember_983b34" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_c6f3b3" xlink:to="loc_srtSubsidiariesMember_983b34" order="59" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_LandUseRightMember" xlink:label="loc_clwtLandUseRightMember_9b540a" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain_12d040" xlink:to="loc_clwtLandUseRightMember_9b540a" order="60" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_PlantAndMachineriesMember" xlink:label="loc_clwtPlantAndMachineriesMember_59fe82" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain_12d040" xlink:to="loc_clwtPlantAndMachineriesMember_59fe82" order="61" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BuildingAndBuildingImprovementsMember" xlink:label="loc_us-gaapBuildingAndBuildingImprovementsMember_10f1f6" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain_12d040" xlink:to="loc_us-gaapBuildingAndBuildingImprovementsMember_10f1f6" order="62" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PublicUtilitiesPropertyPlantAndEquipmentFuelUsefulLife" xlink:label="loc_us-gaapPublicUtilitiesPropertyPlantAndEquipmentFuelUsefulLife_567446" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_c63094" xlink:to="loc_us-gaapPublicUtilitiesPropertyPlantAndEquipmentFuelUsefulLife_567446" order="1" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_PublicUtilitiesPropertyPlantAndEquipmentLeaseholdImprovementsFuelUsefulLife" xlink:label="loc_clwtPublicUtilitiesPropertyPlantAndEquipmentLeaseholdImprovementsFuelUsefulLife_67dc75" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_c63094" xlink:to="loc_clwtPublicUtilitiesPropertyPlantAndEquipmentLeaseholdImprovementsFuelUsefulLife_67dc75" order="2" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" xlink:title="995608 - Disclosure - Summary of significant accounting policies (Details Narrative)">
    <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-gaapAccountingPoliciesAbstract_9d6898" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_045c11" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract_9d6898" xlink:to="loc_us-gaapStatementTable_045c11" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_f519f7" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_045c11" xlink:to="loc_us-gaapStatementLineItems_f519f7" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_38cf75" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_045c11" xlink:to="loc_srtConsolidatedEntitiesAxis_38cf75" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_9229ae" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_38cf75" xlink:to="loc_srtConsolidatedEntitiesDomain_9229ae" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="loc_us-gaapConcentrationRiskByBenchmarkAxis_4713e0" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_045c11" xlink:to="loc_us-gaapConcentrationRiskByBenchmarkAxis_4713e0" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="loc_us-gaapConcentrationRiskBenchmarkDomain_4d671d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskByBenchmarkAxis_4713e0" xlink:to="loc_us-gaapConcentrationRiskBenchmarkDomain_4d671d" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="loc_us-gaapStatementBusinessSegmentsAxis_7347e6" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_045c11" xlink:to="loc_us-gaapStatementBusinessSegmentsAxis_7347e6" order="50" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentDomain" xlink:label="loc_us-gaapSegmentDomain_59fdfb" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementBusinessSegmentsAxis_7347e6" xlink:to="loc_us-gaapSegmentDomain_59fdfb" order="50" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiaryIssuerMember" xlink:label="loc_srtSubsidiaryIssuerMember_76d799" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_9229ae" xlink:to="loc_srtSubsidiaryIssuerMember_76d799" order="51" 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_SalesRevenueNetMember" xlink:label="loc_us-gaapSalesRevenueNetMember_e180bf" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskBenchmarkDomain_4d671d" xlink:to="loc_us-gaapSalesRevenueNetMember_e180bf" order="52" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CustomerOneMember" xlink:label="loc_clwtCustomerOneMember_19d50c" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentDomain_59fdfb" xlink:to="loc_clwtCustomerOneMember_19d50c" order="53" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="loc_us-gaapResearchAndDevelopmentExpense_cceec5" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_f519f7" xlink:to="loc_us-gaapResearchAndDevelopmentExpense_cceec5" order="1" 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_MarketingAndAdvertisingExpense" xlink:label="loc_us-gaapMarketingAndAdvertisingExpense_cd8303" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_f519f7" xlink:to="loc_us-gaapMarketingAndAdvertisingExpense_cd8303" order="2" 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_ImpairmentOfLongLivedAssetsHeldForUse" xlink:label="loc_us-gaapImpairmentOfLongLivedAssetsHeldForUse_db5f3b" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_f519f7" xlink:to="loc_us-gaapImpairmentOfLongLivedAssetsHeldForUse_db5f3b" order="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesIssued" xlink:label="loc_us-gaapCommonStockSharesIssued_47f250" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_f519f7" xlink:to="loc_us-gaapCommonStockSharesIssued_47f250" order="4" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ContractWithCustomerRemainingPerformanceObligation" xlink:label="loc_clwtContractWithCustomerRemainingPerformanceObligation_ed4111" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_f519f7" xlink:to="loc_clwtContractWithCustomerRemainingPerformanceObligation_ed4111" order="5" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_RevenueFromContractWithCustomerIncreaseDecrease" xlink:label="loc_clwtRevenueFromContractWithCustomerIncreaseDecrease_2d9dcd" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_f519f7" xlink:to="loc_clwtRevenueFromContractWithCustomerIncreaseDecrease_2d9dcd" order="6" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ConcentrationPercentage" xlink:label="loc_clwtConcentrationPercentage_16ae06" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_f519f7" xlink:to="loc_clwtConcentrationPercentage_16ae06" order="7" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/SegmentInformationDetails" xlink:title="995609 - Disclosure - Segment information (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-gaapSegmentReportingAbstract_275650" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_cef862" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentReportingAbstract_275650" xlink:to="loc_us-gaapStatementTable_cef862" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_cdb604" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_cef862" xlink:to="loc_us-gaapStatementLineItems_cdb604" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductOrServiceAxis" xlink:label="loc_srtProductOrServiceAxis_8ff461" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_cef862" xlink:to="loc_srtProductOrServiceAxis_8ff461" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srtProductsAndServicesDomain_93feb9" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductOrServiceAxis_8ff461" xlink:to="loc_srtProductsAndServicesDomain_93feb9" order="20" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_TradingsAndManufacturingMember" xlink:label="loc_clwtTradingsAndManufacturingMember_c1e566" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductsAndServicesDomain_93feb9" xlink:to="loc_clwtTradingsAndManufacturingMember_c1e566" order="21" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_EngineeringsMember" xlink:label="loc_clwtEngineeringsMember_de30d7" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductsAndServicesDomain_93feb9" xlink:to="loc_clwtEngineeringsMember_de30d7" order="22" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_UnallocatedCorporateExpensessMember" xlink:label="loc_clwtUnallocatedCorporateExpensessMember_dd9d29" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductsAndServicesDomain_93feb9" xlink:to="loc_clwtUnallocatedCorporateExpensessMember_dd9d29" order="23" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Revenues" xlink:label="loc_us-gaapRevenues_617a8c" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_cdb604" xlink:to="loc_us-gaapRevenues_617a8c" order="1" 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_OperatingIncomeLoss" xlink:label="loc_us-gaapOperatingIncomeLoss_9c4423" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_cdb604" xlink:to="loc_us-gaapOperatingIncomeLoss_9c4423" order="2" 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_Depreciation" xlink:label="loc_us-gaapDepreciation_634e7c" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_cdb604" xlink:to="loc_us-gaapDepreciation_634e7c" order="3" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CapitalExpendituresGross" xlink:label="loc_clwtCapitalExpendituresGross_b2e00c" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_cdb604" xlink:to="loc_clwtCapitalExpendituresGross_b2e00c" order="4" />
    <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-gaapAssets_19f1b7" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentReportingAbstract_275650" xlink:to="loc_us-gaapAssets_19f1b7" order="5" 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_Liabilities" xlink:label="loc_us-gaapLiabilities_946c0c" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentReportingAbstract_275650" xlink:to="loc_us-gaapLiabilities_946c0c" order="6" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/SegmentInformationDetails1" xlink:title="995610 - Disclosure - Segment information (Details 1)">
    <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-gaapSegmentReportingAbstract_3e1db7" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_8885c6" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentReportingAbstract_3e1db7" xlink:to="loc_us-gaapStatementTable_8885c6" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_2dc3fc" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_8885c6" xlink:to="loc_us-gaapStatementLineItems_2dc3fc" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="loc_us-gaapStatementBusinessSegmentsAxis_f3db6e" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_8885c6" xlink:to="loc_us-gaapStatementBusinessSegmentsAxis_f3db6e" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentDomain" xlink:label="loc_us-gaapSegmentDomain_f9952e" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementBusinessSegmentsAxis_f3db6e" xlink:to="loc_us-gaapSegmentDomain_f9952e" order="10" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ThePRCsMember" xlink:label="loc_clwtThePRCsMember_80c18f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentDomain_f9952e" xlink:to="loc_clwtThePRCsMember_80c18f" order="11" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_HongKongsMember" xlink:label="loc_clwtHongKongsMember_ec2e90" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentDomain_f9952e" xlink:to="loc_clwtHongKongsMember_ec2e90" order="12" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OthersGeographicAreaMember" xlink:label="loc_clwtOthersGeographicAreaMember_1df843" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentDomain_f9952e" xlink:to="loc_clwtOthersGeographicAreaMember_1df843" order="13" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Revenues" xlink:label="loc_us-gaapRevenues_1f9f0a" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_2dc3fc" xlink:to="loc_us-gaapRevenues_1f9f0a" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_GeographicalAnalysisOfLonglivedAssets" xlink:label="loc_clwtGeographicalAnalysisOfLonglivedAssets_b1c731" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_2dc3fc" xlink:to="loc_clwtGeographicalAnalysisOfLonglivedAssets_b1c731" order="2" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/SegmentInformationDetails2" xlink:title="995611 - Disclosure - Segment information (Details 2)">
    <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-gaapSegmentReportingAbstract_aa77c6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_412673" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentReportingAbstract_aa77c6" xlink:to="loc_us-gaapStatementTable_412673" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_d6c54c" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_412673" xlink:to="loc_us-gaapStatementLineItems_d6c54c" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="loc_us-gaapStatementBusinessSegmentsAxis_8f12ff" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_412673" xlink:to="loc_us-gaapStatementBusinessSegmentsAxis_8f12ff" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentDomain" xlink:label="loc_us-gaapSegmentDomain_af9687" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementBusinessSegmentsAxis_8f12ff" xlink:to="loc_us-gaapSegmentDomain_af9687" order="10" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_SuppliersAMember" xlink:label="loc_clwtSuppliersAMember_2fd192" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentDomain_af9687" xlink:to="loc_clwtSuppliersAMember_2fd192" order="11" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_SuppliersBMember" xlink:label="loc_clwtSuppliersBMember_0cb53a" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentDomain_af9687" xlink:to="loc_clwtSuppliersBMember_0cb53a" order="12" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_SuppliersCMember" xlink:label="loc_clwtSuppliersCMember_d87468" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentDomain_af9687" xlink:to="loc_clwtSuppliersCMember_d87468" order="13" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_SuppliersDMember" xlink:label="loc_clwtSuppliersDMember_38cdc9" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentDomain_af9687" xlink:to="loc_clwtSuppliersDMember_38cdc9" order="14" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_SuppliersEMember" xlink:label="loc_clwtSuppliersEMember_8690c2" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentDomain_af9687" xlink:to="loc_clwtSuppliersEMember_8690c2" order="15" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_SuppliersFMember" xlink:label="loc_clwtSuppliersFMember_090fdf" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentDomain_af9687" xlink:to="loc_clwtSuppliersFMember_090fdf" order="16" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskSupplier" xlink:label="loc_us-gaapConcentrationRiskSupplier_8b71c9" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_d6c54c" xlink:to="loc_us-gaapConcentrationRiskSupplier_8b71c9" order="1" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/SegmentInformationDetails3" xlink:title="995612 - Disclosure - Segment information (Details 3)">
    <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-gaapSegmentReportingAbstract_17a59b" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_a94269" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentReportingAbstract_17a59b" xlink:to="loc_us-gaapStatementTable_a94269" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_259aa7" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_a94269" xlink:to="loc_us-gaapStatementLineItems_259aa7" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="loc_us-gaapStatementBusinessSegmentsAxis_709810" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_a94269" xlink:to="loc_us-gaapStatementBusinessSegmentsAxis_709810" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentDomain" xlink:label="loc_us-gaapSegmentDomain_451624" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementBusinessSegmentsAxis_709810" xlink:to="loc_us-gaapSegmentDomain_451624" order="10" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CustomerDMember" xlink:label="loc_clwtCustomerDMember_8ccfec" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentDomain_451624" xlink:to="loc_clwtCustomerDMember_8ccfec" order="11" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CustomerEMember" xlink:label="loc_clwtCustomerEMember_0e1a7d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentDomain_451624" xlink:to="loc_clwtCustomerEMember_0e1a7d" order="12" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CustomersCMember" xlink:label="loc_clwtCustomersCMember_4f039b" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentDomain_451624" xlink:to="loc_clwtCustomersCMember_4f039b" order="13" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CustomersBMember" xlink:label="loc_clwtCustomersBMember_a39018" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentDomain_451624" xlink:to="loc_clwtCustomersBMember_a39018" order="14" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CustomersAMember" xlink:label="loc_clwtCustomersAMember_2c41a3" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentDomain_451624" xlink:to="loc_clwtCustomersAMember_2c41a3" order="15" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CustomerFMember" xlink:label="loc_clwtCustomerFMember_875301" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentDomain_451624" xlink:to="loc_clwtCustomerFMember_875301" order="16" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CustomerGMember" xlink:label="loc_clwtCustomerGMember_22261b" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentDomain_451624" xlink:to="loc_clwtCustomerGMember_22261b" order="17" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CustomerHMember" xlink:label="loc_clwtCustomerHMember_5d1140" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentDomain_451624" xlink:to="loc_clwtCustomerHMember_5d1140" order="18" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CustomerIMember" xlink:label="loc_clwtCustomerIMember_46fe76" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentDomain_451624" xlink:to="loc_clwtCustomerIMember_46fe76" order="19" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskCustomer" xlink:label="loc_us-gaapConcentrationRiskCustomer_abd4e1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_259aa7" xlink:to="loc_us-gaapConcentrationRiskCustomer_abd4e1" order="1" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/LeaseObligationsDetails" xlink:title="995613 - Disclosure - Lease obligations (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeasesAbstract" xlink:label="loc_us-gaapLeasesAbstract_57471e" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_a61fd1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLeasesAbstract_57471e" xlink:to="loc_us-gaapStatementTable_a61fd1" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_f24d32" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_a61fd1" xlink:to="loc_us-gaapStatementLineItems_f24d32" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_1820c5" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_a61fd1" xlink:to="loc_srtConsolidatedEntitiesAxis_1820c5" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_6ba7ef" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_1820c5" xlink:to="loc_srtConsolidatedEntitiesDomain_6ba7ef" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiaryIssuerMember" xlink:label="loc_srtSubsidiaryIssuerMember_fcda09" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_6ba7ef" xlink:to="loc_srtSubsidiaryIssuerMember_fcda09" order="11" 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_OperatingLeaseCost" xlink:label="loc_us-gaapOperatingLeaseCost_9d61a4" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_f24d32" xlink:to="loc_us-gaapOperatingLeaseCost_9d61a4" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermLeaseCost" xlink:label="loc_us-gaapShortTermLeaseCost_d6104f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_f24d32" xlink:to="loc_us-gaapShortTermLeaseCost_d6104f" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseInterestExpense" xlink:label="loc_us-gaapFinanceLeaseInterestExpense_b151ba" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_f24d32" xlink:to="loc_us-gaapFinanceLeaseInterestExpense_b151ba" order="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:label="loc_us-gaapFinanceLeaseRightOfUseAssetAmortization_9a9f7e" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_f24d32" xlink:to="loc_us-gaapFinanceLeaseRightOfUseAssetAmortization_9a9f7e" order="4" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_TotalOperatingLeaseCost" xlink:label="loc_clwtTotalOperatingLeaseCost_d0fc49" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_f24d32" xlink:to="loc_clwtTotalOperatingLeaseCost_d0fc49" order="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseCost" xlink:label="loc_us-gaapLeaseCost_8d9931" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_f24d32" xlink:to="loc_us-gaapLeaseCost_8d9931" order="6" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/LeaseObligationsDetails1" xlink:title="995614 - Disclosure - Lease obligations (Details 1)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeasesAbstract" xlink:label="loc_us-gaapLeasesAbstract_02969c" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_19e8fd" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLeasesAbstract_02969c" xlink:to="loc_us-gaapStatementTable_19e8fd" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_9edc35" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_19e8fd" xlink:to="loc_us-gaapStatementLineItems_9edc35" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_16c28e" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_19e8fd" xlink:to="loc_srtConsolidatedEntitiesAxis_16c28e" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_9e6c97" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_16c28e" xlink:to="loc_srtConsolidatedEntitiesDomain_9e6c97" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiaryIssuerMember" xlink:label="loc_srtSubsidiaryIssuerMember_d6f55a" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_9e6c97" xlink:to="loc_srtSubsidiaryIssuerMember_d6f55a" order="11" 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_OperatingLeasePayments" xlink:label="loc_us-gaapOperatingLeasePayments_7cbd7f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_9edc35" xlink:to="loc_us-gaapOperatingLeasePayments_7cbd7f" order="1" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_FinanceLeasePayments" xlink:label="loc_clwtFinanceLeasePayments_bbd302" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_9edc35" xlink:to="loc_clwtFinanceLeasePayments_bbd302" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:label="loc_us-gaapRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_824052" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_9edc35" xlink:to="loc_us-gaapRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_824052" order="3" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/LeaseObligationsDetails2" xlink:title="995615 - Disclosure - Lease obligations (Details 2)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeasesAbstract" xlink:label="loc_us-gaapLeasesAbstract_1c8126" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_9aae78" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLeasesAbstract_1c8126" xlink:to="loc_us-gaapStatementTable_9aae78" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_916c2c" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_9aae78" xlink:to="loc_us-gaapStatementLineItems_916c2c" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_63bd99" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_9aae78" xlink:to="loc_srtConsolidatedEntitiesAxis_63bd99" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_3fa75c" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_63bd99" xlink:to="loc_srtConsolidatedEntitiesDomain_3fa75c" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsByMajorClassAxis_473cdd" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_9aae78" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsByMajorClassAxis_473cdd" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain_91b199" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsByMajorClassAxis_473cdd" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain_91b199" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiaryIssuerMember" xlink:label="loc_srtSubsidiaryIssuerMember_65ad44" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_3fa75c" xlink:to="loc_srtSubsidiaryIssuerMember_65ad44" order="31" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_LeaseObligationsMember" xlink:label="loc_clwtLeaseObligationsMember_153ad5" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain_91b199" xlink:to="loc_clwtLeaseObligationsMember_153ad5" order="32" 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_OperatingLeaseRightOfUseAsset" xlink:label="loc_us-gaapOperatingLeaseRightOfUseAsset_4e7ef3" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_916c2c" xlink:to="loc_us-gaapOperatingLeaseRightOfUseAsset_4e7ef3" order="1" 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_OperatingLeaseLiabilityCurrent" xlink:label="loc_us-gaapOperatingLeaseLiabilityCurrent_eb2cc3" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_916c2c" xlink:to="loc_us-gaapOperatingLeaseLiabilityCurrent_eb2cc3" order="2" 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="loc_us-gaapOperatingLeaseLiabilityNoncurrent_d7dee9" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_916c2c" xlink:to="loc_us-gaapOperatingLeaseLiabilityNoncurrent_d7dee9" order="3" 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="loc_us-gaapOperatingLeaseLiability_84156f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_916c2c" xlink:to="loc_us-gaapOperatingLeaseLiability_84156f" order="4" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_WeightedAverageRemainingLeaseTermOperatingLeases" xlink:label="loc_clwtWeightedAverageRemainingLeaseTermOperatingLeases_5f1ce0" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_916c2c" xlink:to="loc_clwtWeightedAverageRemainingLeaseTermOperatingLeases_5f1ce0" order="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="loc_us-gaapOperatingLeaseWeightedAverageDiscountRatePercent_8ae6b1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_916c2c" xlink:to="loc_us-gaapOperatingLeaseWeightedAverageDiscountRatePercent_8ae6b1" order="6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="loc_us-gaapAccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_a14b0a" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_916c2c" xlink:to="loc_us-gaapAccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_a14b0a" order="7" 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_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaapPropertyPlantAndEquipmentNet_0ee6ab" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_916c2c" xlink:to="loc_us-gaapPropertyPlantAndEquipmentNet_0ee6ab" order="8" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/LeaseObligationsDetails3" xlink:title="995616 - Disclosure - Lease obligations (Details 3)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeasesAbstract" xlink:label="loc_us-gaapLeasesAbstract_ad5ae1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueCurrent" xlink:label="loc_us-gaapOperatingLeasesFutureMinimumPaymentsDueCurrent_02dfd0" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLeasesAbstract_ad5ae1" xlink:to="loc_us-gaapOperatingLeasesFutureMinimumPaymentsDueCurrent_02dfd0" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears" xlink:label="loc_us-gaapOperatingLeasesFutureMinimumPaymentsDueInTwoYears_970f67" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLeasesAbstract_ad5ae1" xlink:to="loc_us-gaapOperatingLeasesFutureMinimumPaymentsDueInTwoYears_970f67" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeasesFutureMinimumPaymentsDue" xlink:label="loc_us-gaapOperatingLeasesFutureMinimumPaymentsDue_111f6a" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLeasesAbstract_ad5ae1" xlink:to="loc_us-gaapOperatingLeasesFutureMinimumPaymentsDue_111f6a" order="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="loc_us-gaapLesseeOperatingLeaseLiabilityUndiscountedExcessAmount_778dbd" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLeasesAbstract_ad5ae1" xlink:to="loc_us-gaapLesseeOperatingLeaseLiabilityUndiscountedExcessAmount_778dbd" order="4" 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_OperatingLeaseLiability" xlink:label="loc_us-gaapOperatingLeaseLiability_469631" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLeasesAbstract_ad5ae1" xlink:to="loc_us-gaapOperatingLeaseLiability_469631" order="5" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/LeaseObligationsDetailsNarrative" xlink:title="995617 - Disclosure - Lease obligations (Details Narrative)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeasesAbstract" xlink:label="loc_us-gaapLeasesAbstract_7a8f95" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AmortizationOfLeasedAsset" xlink:label="loc_us-gaapAmortizationOfLeasedAsset_803a45" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLeasesAbstract_7a8f95" xlink:to="loc_us-gaapAmortizationOfLeasedAsset_803a45" order="1" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/AccountsReceivableNetDetails" xlink:title="995618 - Disclosure - Accounts receivable net (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetAbstract" xlink:label="loc_us-gaapAccountsReceivableNetAbstract_86671e" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_ca04f3" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountsReceivableNetAbstract_86671e" xlink:to="loc_us-gaapStatementTable_ca04f3" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_0d4be5" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_ca04f3" xlink:to="loc_us-gaapStatementLineItems_0d4be5" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_558d63" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_ca04f3" xlink:to="loc_srtConsolidatedEntitiesAxis_558d63" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_591ba3" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_558d63" xlink:to="loc_srtConsolidatedEntitiesDomain_591ba3" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiaryIssuerMember" xlink:label="loc_srtSubsidiaryIssuerMember_f0ed1f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_591ba3" xlink:to="loc_srtSubsidiaryIssuerMember_f0ed1f" order="11" 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_AccountsReceivableGross" xlink:label="loc_us-gaapAccountsReceivableGross_f3c7ed" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountsReceivableNetAbstract_86671e" xlink:to="loc_us-gaapAccountsReceivableGross_f3c7ed" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:label="loc_us-gaapAllowanceForDoubtfulAccountsReceivable_11abb4" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountsReceivableNetAbstract_86671e" xlink:to="loc_us-gaapAllowanceForDoubtfulAccountsReceivable_11abb4" order="2" 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_AccountsReceivableNet" xlink:label="loc_us-gaapAccountsReceivableNet_25c8a0" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountsReceivableNetAbstract_86671e" xlink:to="loc_us-gaapAccountsReceivableNet_25c8a0" order="3" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/AccountsReceivableNetDetails1" xlink:title="995619 - Disclosure - Accounts receivable net (Details 1)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetAbstract" xlink:label="loc_us-gaapAccountsReceivableNetAbstract_f7b5e0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_a21fcc" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountsReceivableNetAbstract_f7b5e0" xlink:to="loc_us-gaapStatementTable_a21fcc" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_c507bb" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_a21fcc" xlink:to="loc_us-gaapStatementLineItems_c507bb" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_6d80f0" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_a21fcc" xlink:to="loc_srtConsolidatedEntitiesAxis_6d80f0" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_303308" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_6d80f0" xlink:to="loc_srtConsolidatedEntitiesDomain_303308" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiaryIssuerMember" xlink:label="loc_srtSubsidiaryIssuerMember_c70427" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_303308" xlink:to="loc_srtSubsidiaryIssuerMember_c70427" order="11" 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_AllowanceForDoubtfulAccountsReceivable" xlink:label="loc_us-gaapAllowanceForDoubtfulAccountsReceivable_2b8c24" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_c507bb" xlink:to="loc_us-gaapAllowanceForDoubtfulAccountsReceivable_2b8c24" order="1" 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_AllowanceForDoubtfulAccountsReceivablePeriodIncreaseDecrease" xlink:label="loc_us-gaapAllowanceForDoubtfulAccountsReceivablePeriodIncreaseDecrease_0eee8b" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_c507bb" xlink:to="loc_us-gaapAllowanceForDoubtfulAccountsReceivablePeriodIncreaseDecrease_0eee8b" order="2" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ReversalOfProvisionForDoubtfulAccounts" xlink:label="loc_clwtReversalOfProvisionForDoubtfulAccounts_7e1bff" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_c507bb" xlink:to="loc_clwtReversalOfProvisionForDoubtfulAccounts_7e1bff" order="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:label="loc_us-gaapAllowanceForDoubtfulAccountsReceivableWriteOffs_6b1c5b" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_c507bb" xlink:to="loc_us-gaapAllowanceForDoubtfulAccountsReceivableWriteOffs_6b1c5b" order="4" 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_AllowanceForDoubtfulAccountsReceivable" xlink:label="loc_us-gaapAllowanceForDoubtfulAccountsReceivable_371437" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_c507bb" xlink:to="loc_us-gaapAllowanceForDoubtfulAccountsReceivable_371437" order="5" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/AccountsReceivableNetDetails2" xlink:title="995620 - Disclosure - Accounts receivable net (Details 2)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetAbstract" xlink:label="loc_us-gaapAccountsReceivableNetAbstract_5d9943" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_ee7934" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountsReceivableNetAbstract_5d9943" xlink:to="loc_us-gaapStatementTable_ee7934" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_08a439" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_ee7934" xlink:to="loc_us-gaapStatementLineItems_08a439" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_b91751" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_ee7934" xlink:to="loc_srtConsolidatedEntitiesAxis_b91751" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_a44729" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_b91751" xlink:to="loc_srtConsolidatedEntitiesDomain_a44729" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis" xlink:label="loc_us-gaapAccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis_ed497c" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_ee7934" xlink:to="loc_us-gaapAccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis_ed497c" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReceivableTypeDomain" xlink:label="loc_us-gaapReceivableTypeDomain_f0b075" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis_ed497c" xlink:to="loc_us-gaapReceivableTypeDomain_f0b075" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiaryIssuerMember" xlink:label="loc_srtSubsidiaryIssuerMember_dc3ee5" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_a44729" xlink:to="loc_srtSubsidiaryIssuerMember_dc3ee5" order="31" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CurrentsMember" xlink:label="loc_clwtCurrentsMember_bdb04f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapReceivableTypeDomain_f0b075" xlink:to="loc_clwtCurrentsMember_bdb04f" order="32" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OneMonthsPastDueMember" xlink:label="loc_clwtOneMonthsPastDueMember_374eef" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapReceivableTypeDomain_f0b075" xlink:to="loc_clwtOneMonthsPastDueMember_374eef" order="33" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OneToTwoMonthPastDueMember" xlink:label="loc_clwtOneToTwoMonthPastDueMember_192b85" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapReceivableTypeDomain_f0b075" xlink:to="loc_clwtOneToTwoMonthPastDueMember_192b85" order="34" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ThreeMonthPastDueMember" xlink:label="loc_clwtThreeMonthPastDueMember_811521" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapReceivableTypeDomain_f0b075" xlink:to="loc_clwtThreeMonthPastDueMember_811521" order="35" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_MoreThanThreeMonthPastDueMember" xlink:label="loc_clwtMoreThanThreeMonthPastDueMember_f8abf7" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapReceivableTypeDomain_f0b075" xlink:to="loc_clwtMoreThanThreeMonthPastDueMember_f8abf7" order="36" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_PastDuesMember" xlink:label="loc_clwtPastDuesMember_132a83" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapReceivableTypeDomain_f0b075" xlink:to="loc_clwtPastDuesMember_132a83" order="37" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_WithinOneYearMember" xlink:label="loc_clwtWithinOneYearMember_14d9df" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapReceivableTypeDomain_f0b075" xlink:to="loc_clwtWithinOneYearMember_14d9df" order="38" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OneYearToTwoYearMember" xlink:label="loc_clwtOneYearToTwoYearMember_a1d95e" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapReceivableTypeDomain_f0b075" xlink:to="loc_clwtOneYearToTwoYearMember_a1d95e" order="39" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_TwoYearToThreeYearMember" xlink:label="loc_clwtTwoYearToThreeYearMember_9a9976" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapReceivableTypeDomain_f0b075" xlink:to="loc_clwtTwoYearToThreeYearMember_9a9976" order="40" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ThreeYearsToFourYearMember" xlink:label="loc_clwtThreeYearsToFourYearMember_148b44" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapReceivableTypeDomain_f0b075" xlink:to="loc_clwtThreeYearsToFourYearMember_148b44" order="41" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_FourYearsToFiveYearsMember" xlink:label="loc_clwtFourYearsToFiveYearsMember_bf74d8" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapReceivableTypeDomain_f0b075" xlink:to="loc_clwtFourYearsToFiveYearsMember_bf74d8" order="42" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OverfiveYearsMember" xlink:label="loc_clwtOverfiveYearsMember_0bffa4" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapReceivableTypeDomain_f0b075" xlink:to="loc_clwtOverfiveYearsMember_0bffa4" order="43" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_AllowanceForDoubtfulAccountsReceivables" xlink:label="loc_clwtAllowanceForDoubtfulAccountsReceivables_1de7f6" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_08a439" xlink:to="loc_clwtAllowanceForDoubtfulAccountsReceivables_1de7f6" order="1" 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_AccountsReceivableNet" xlink:label="loc_us-gaapAccountsReceivableNet_4ce3ac" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_08a439" xlink:to="loc_us-gaapAccountsReceivableNet_4ce3ac" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/PrepaymentsAndOtherCurrentAssetsDetails" xlink:title="995621 - Disclosure - Prepayments and other current assets (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrentAbstract" xlink:label="loc_us-gaapPrepaidExpenseAndOtherAssetsCurrentAbstract_7a1ccd" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_c72c38" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPrepaidExpenseAndOtherAssetsCurrentAbstract_7a1ccd" xlink:to="loc_us-gaapStatementTable_c72c38" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_dfac81" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_c72c38" xlink:to="loc_us-gaapStatementLineItems_dfac81" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_226b26" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_c72c38" xlink:to="loc_srtConsolidatedEntitiesAxis_226b26" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_f18206" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_226b26" xlink:to="loc_srtConsolidatedEntitiesDomain_f18206" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiaryIssuerMember" xlink:label="loc_srtSubsidiaryIssuerMember_9f2b83" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_f18206" xlink:to="loc_srtSubsidiaryIssuerMember_9f2b83" order="11" 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_DepositAssets" xlink:label="loc_us-gaapDepositAssets_8a9c39" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_dfac81" xlink:to="loc_us-gaapDepositAssets_8a9c39" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidExpenseCurrentAndNoncurrent" xlink:label="loc_us-gaapPrepaidExpenseCurrentAndNoncurrent_69c05b" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_dfac81" xlink:to="loc_us-gaapPrepaidExpenseCurrentAndNoncurrent_69c05b" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherReceivables" xlink:label="loc_us-gaapOtherReceivables_24d911" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_dfac81" xlink:to="loc_us-gaapOtherReceivables_24d911" order="3" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_DepositsPaidForBiddingProjectsAndTemporaryPayments" xlink:label="loc_clwtDepositsPaidForBiddingProjectsAndTemporaryPayments_e3079f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_dfac81" xlink:to="loc_clwtDepositsPaidForBiddingProjectsAndTemporaryPayments_e3079f" order="4" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_IncomeTaxRecoverable" xlink:label="loc_clwtIncomeTaxRecoverable_7ee7e8" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_dfac81" xlink:to="loc_clwtIncomeTaxRecoverable_7ee7e8" order="5" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OtherTaxRecoverable" xlink:label="loc_clwtOtherTaxRecoverable_eebbb6" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_dfac81" xlink:to="loc_clwtOtherTaxRecoverable_eebbb6" order="6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsCurrent" xlink:label="loc_us-gaapOtherAssetsCurrent_dff420" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_dfac81" xlink:to="loc_us-gaapOtherAssetsCurrent_dff420" order="7" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidExpenseAndOtherAssets" xlink:label="loc_us-gaapPrepaidExpenseAndOtherAssets_8e332c" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_dfac81" xlink:to="loc_us-gaapPrepaidExpenseAndOtherAssets_8e332c" order="8" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails" xlink:title="995622 - Disclosure - Contract assets and liabilities (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityAbstract" xlink:label="loc_us-gaapContractWithCustomerAssetAndLiabilityAbstract_5c2882" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_0d60d9" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapContractWithCustomerAssetAndLiabilityAbstract_5c2882" xlink:to="loc_us-gaapStatementTable_0d60d9" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_37b934" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_0d60d9" xlink:to="loc_us-gaapStatementLineItems_37b934" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis" xlink:label="loc_us-gaapAccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis_ddc154" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_0d60d9" xlink:to="loc_us-gaapAccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis_ddc154" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReceivablesBillingStatusDomain" xlink:label="loc_us-gaapReceivablesBillingStatusDomain_e18a31" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis_ddc154" xlink:to="loc_us-gaapReceivablesBillingStatusDomain_e18a31" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_e6b03a" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_0d60d9" xlink:to="loc_srtConsolidatedEntitiesAxis_e6b03a" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_066329" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_e6b03a" xlink:to="loc_srtConsolidatedEntitiesDomain_066329" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UnbilledRevenuesMember" xlink:label="loc_us-gaapUnbilledRevenuesMember_302c36" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapReceivablesBillingStatusDomain_e18a31" xlink:to="loc_us-gaapUnbilledRevenuesMember_302c36" order="31" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiaryIssuerMember" xlink:label="loc_srtSubsidiaryIssuerMember_3d4302" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_066329" xlink:to="loc_srtSubsidiaryIssuerMember_3d4302" order="32" 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_ContractWithCustomerAssetNet" xlink:label="loc_us-gaapContractWithCustomerAssetNet_2feff5" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_37b934" xlink:to="loc_us-gaapContractWithCustomerAssetNet_2feff5" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails1" xlink:title="995623 - Disclosure - Contract assets and liabilities (Details 1)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityAbstract" xlink:label="loc_us-gaapContractWithCustomerAssetAndLiabilityAbstract_b6518b" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_9324ae" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapContractWithCustomerAssetAndLiabilityAbstract_b6518b" xlink:to="loc_us-gaapStatementTable_9324ae" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_e1a72f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_9324ae" xlink:to="loc_us-gaapStatementLineItems_e1a72f" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_cbc0d2" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_9324ae" xlink:to="loc_srtConsolidatedEntitiesAxis_cbc0d2" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_135512" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_cbc0d2" xlink:to="loc_srtConsolidatedEntitiesDomain_135512" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiaryIssuerMember" xlink:label="loc_srtSubsidiaryIssuerMember_3b8a64" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_135512" xlink:to="loc_srtSubsidiaryIssuerMember_3b8a64" order="11" 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_DeferredRevenue" xlink:label="loc_us-gaapDeferredRevenue_2157ed" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_e1a72f" xlink:to="loc_us-gaapDeferredRevenue_2157ed" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails2" xlink:title="995624 - Disclosure - Contract assets and liabilities (Details 2)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityAbstract" xlink:label="loc_us-gaapContractWithCustomerAssetAndLiabilityAbstract_480388" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_1fd45f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapContractWithCustomerAssetAndLiabilityAbstract_480388" xlink:to="loc_us-gaapStatementTable_1fd45f" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_c4e98b" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_1fd45f" xlink:to="loc_us-gaapStatementLineItems_c4e98b" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_7d6542" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_1fd45f" xlink:to="loc_srtConsolidatedEntitiesAxis_7d6542" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_de1c52" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_7d6542" xlink:to="loc_srtConsolidatedEntitiesDomain_de1c52" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiaryIssuerMember" xlink:label="loc_srtSubsidiaryIssuerMember_429daf" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_de1c52" xlink:to="loc_srtSubsidiaryIssuerMember_429daf" order="11" 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_ContractWithCustomerAssetNet" xlink:label="loc_us-gaapContractWithCustomerAssetNet_2f8f5f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_c4e98b" xlink:to="loc_us-gaapContractWithCustomerAssetNet_2f8f5f" order="1" 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_ContractWithCustomerLiability" xlink:label="loc_us-gaapContractWithCustomerLiability_1c2d0f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_c4e98b" xlink:to="loc_us-gaapContractWithCustomerLiability_1c2d0f" order="2" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ContractWithCustomerAssetLiabilityNet" xlink:label="loc_clwtContractWithCustomerAssetLiabilityNet_3b64fe" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_c4e98b" xlink:to="loc_clwtContractWithCustomerAssetLiabilityNet_3b64fe" order="3" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails3" xlink:title="995625 - Disclosure - Contract assets and liabilities (Details 3)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityAbstract" xlink:label="loc_us-gaapContractWithCustomerAssetAndLiabilityAbstract_10e172" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_d9d957" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapContractWithCustomerAssetAndLiabilityAbstract_10e172" xlink:to="loc_us-gaapStatementTable_d9d957" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_1d4595" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_d9d957" xlink:to="loc_us-gaapStatementLineItems_1d4595" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_76b4f9" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_d9d957" xlink:to="loc_srtConsolidatedEntitiesAxis_76b4f9" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_dd9961" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_76b4f9" xlink:to="loc_srtConsolidatedEntitiesDomain_dd9961" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiaryIssuerMember" xlink:label="loc_srtSubsidiaryIssuerMember_a4e84c" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_dd9961" xlink:to="loc_srtSubsidiaryIssuerMember_a4e84c" order="11" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CostsIncurredInContractsInProcess" xlink:label="loc_clwtCostsIncurredInContractsInProcess_810ff4" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_1d4595" xlink:to="loc_clwtCostsIncurredInContractsInProcess_810ff4" order="1" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_RevenueEarnedButNotYetBilled" xlink:label="loc_clwtRevenueEarnedButNotYetBilled_766d0d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_1d4595" xlink:to="loc_clwtRevenueEarnedButNotYetBilled_766d0d" order="2" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CostsAndEstimatedEarningsOnUncompletedContracts" xlink:label="loc_clwtCostsAndEstimatedEarningsOnUncompletedContracts_68964b" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_1d4595" xlink:to="loc_clwtCostsAndEstimatedEarningsOnUncompletedContracts_68964b" order="3" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_BillingsToDate" xlink:label="loc_clwtBillingsToDate_565cc0" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_1d4595" xlink:to="loc_clwtBillingsToDate_565cc0" order="4" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CostsAndEstimatedEarningsOnUncompletedContractsInExcessOfBillingsUnbilledRevenue" xlink:label="loc_clwtCostsAndEstimatedEarningsOnUncompletedContractsInExcessOfBillingsUnbilledRevenue_970b2b" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_1d4595" xlink:to="loc_clwtCostsAndEstimatedEarningsOnUncompletedContractsInExcessOfBillingsUnbilledRevenue_970b2b" order="5" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails4" xlink:title="995626 - Disclosure - Contract assets and liabilities (Details 4)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityAbstract" xlink:label="loc_us-gaapContractWithCustomerAssetAndLiabilityAbstract_751ee3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_e6dbdc" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapContractWithCustomerAssetAndLiabilityAbstract_751ee3" xlink:to="loc_us-gaapStatementTable_e6dbdc" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_5da4ee" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_e6dbdc" xlink:to="loc_us-gaapStatementLineItems_5da4ee" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_73789a" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_e6dbdc" xlink:to="loc_srtConsolidatedEntitiesAxis_73789a" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_eea15b" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_73789a" xlink:to="loc_srtConsolidatedEntitiesDomain_eea15b" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis" xlink:label="loc_us-gaapAccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis_4bd16c" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_e6dbdc" xlink:to="loc_us-gaapAccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis_4bd16c" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReceivablesBillingStatusDomain" xlink:label="loc_us-gaapReceivablesBillingStatusDomain_3e91af" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis_4bd16c" xlink:to="loc_us-gaapReceivablesBillingStatusDomain_3e91af" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiaryIssuerMember" xlink:label="loc_srtSubsidiaryIssuerMember_6586df" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_eea15b" xlink:to="loc_srtSubsidiaryIssuerMember_6586df" order="21" 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_UnbilledRevenuesMember" xlink:label="loc_us-gaapUnbilledRevenuesMember_56e215" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapReceivablesBillingStatusDomain_3e91af" xlink:to="loc_us-gaapUnbilledRevenuesMember_56e215" order="22" 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_BilledRevenuesMember" xlink:label="loc_us-gaapBilledRevenuesMember_12a9ac" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapReceivablesBillingStatusDomain_3e91af" xlink:to="loc_us-gaapBilledRevenuesMember_12a9ac" order="23" 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_ContractWithCustomerAssetGross" xlink:label="loc_us-gaapContractWithCustomerAssetGross_5b9a08" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_5da4ee" xlink:to="loc_us-gaapContractWithCustomerAssetGross_5b9a08" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss" xlink:label="loc_us-gaapContractWithCustomerAssetAccumulatedAllowanceForCreditLoss_fc91c7" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_5da4ee" xlink:to="loc_us-gaapContractWithCustomerAssetAccumulatedAllowanceForCreditLoss_fc91c7" order="2" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ContractWithCustomerAssetLiabilityNet" xlink:label="loc_clwtContractWithCustomerAssetLiabilityNet_41b3d0" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_5da4ee" xlink:to="loc_clwtContractWithCustomerAssetLiabilityNet_41b3d0" order="3" 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_ContractWithCustomerAssetNet" xlink:label="loc_us-gaapContractWithCustomerAssetNet_764715" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_5da4ee" xlink:to="loc_us-gaapContractWithCustomerAssetNet_764715" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails5" xlink:title="995627 - Disclosure - Contract assets and liabilities (Details 5)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityAbstract" xlink:label="loc_us-gaapContractWithCustomerAssetAndLiabilityAbstract_8b1963" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ContractWithCustomerTradingAndManufacturing" xlink:label="loc_clwtContractWithCustomerTradingAndManufacturing_9d4071" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapContractWithCustomerAssetAndLiabilityAbstract_8b1963" xlink:to="loc_clwtContractWithCustomerTradingAndManufacturing_9d4071" order="1" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ContractWithCustomerEngineering" xlink:label="loc_clwtContractWithCustomerEngineering_f7532c" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapContractWithCustomerAssetAndLiabilityAbstract_8b1963" xlink:to="loc_clwtContractWithCustomerEngineering_f7532c" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerIncludingAssessedTax_2e31ce" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapContractWithCustomerAssetAndLiabilityAbstract_8b1963" xlink:to="loc_us-gaapRevenueFromContractWithCustomerIncludingAssessedTax_2e31ce" order="3" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetailsNarrative" xlink:title="995628 - Disclosure - Contract assets and liabilities (Details Narrative)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityAbstract" xlink:label="loc_us-gaapContractWithCustomerAssetAndLiabilityAbstract_dacc5b" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="loc_us-gaapContractWithCustomerLiabilityRevenueRecognized_f1056c" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapContractWithCustomerAssetAndLiabilityAbstract_dacc5b" xlink:to="loc_us-gaapContractWithCustomerLiabilityRevenueRecognized_f1056c" order="1" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/InventoriesDetails" xlink:title="995629 - Disclosure - Inventories (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="loc_us-gaapInventoryDisclosureAbstract_71d78e" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_68e61f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapInventoryDisclosureAbstract_71d78e" xlink:to="loc_us-gaapStatementTable_68e61f" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_301617" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_68e61f" xlink:to="loc_us-gaapStatementLineItems_301617" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_d06632" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_68e61f" xlink:to="loc_srtConsolidatedEntitiesAxis_d06632" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_218770" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_d06632" xlink:to="loc_srtConsolidatedEntitiesDomain_218770" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiaryIssuerMember" xlink:label="loc_srtSubsidiaryIssuerMember_77ebe8" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_218770" xlink:to="loc_srtSubsidiaryIssuerMember_77ebe8" order="11" 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_InventoryRawMaterialsNetOfReserves" xlink:label="loc_us-gaapInventoryRawMaterialsNetOfReserves_359d58" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_301617" xlink:to="loc_us-gaapInventoryRawMaterialsNetOfReserves_359d58" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="loc_us-gaapInventoryWorkInProcessNetOfReserves_2c68e6" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_301617" xlink:to="loc_us-gaapInventoryWorkInProcessNetOfReserves_2c68e6" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="loc_us-gaapInventoryFinishedGoodsNetOfReserves_88f154" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_301617" xlink:to="loc_us-gaapInventoryFinishedGoodsNetOfReserves_88f154" order="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaapInventoryNet_0fafea" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_301617" xlink:to="loc_us-gaapInventoryNet_0fafea" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/InventoriesDetailsNarrative" xlink:title="995630 - Disclosure - Inventories (Details Narrative)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="loc_us-gaapInventoryDisclosureAbstract_ed9413" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryWriteDown" xlink:label="loc_us-gaapInventoryWriteDown_0eed2d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapInventoryDisclosureAbstract_ed9413" xlink:to="loc_us-gaapInventoryWriteDown_0eed2d" order="1" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/ShortTermAndLongTermInvestmentsDetailsNarrative" xlink:title="995631 - Disclosure - Short-term and long-term investments (Details Narrative)">
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ShortTermAndLongTermInvestmentsDisclosureAbstract" xlink:label="loc_clwtShortTermAndLongTermInvestmentsDisclosureAbstract_3b6b13" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_76d4eb" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_clwtShortTermAndLongTermInvestmentsDisclosureAbstract_3b6b13" xlink:to="loc_us-gaapStatementTable_76d4eb" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_1030ee" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_76d4eb" xlink:to="loc_us-gaapStatementLineItems_1030ee" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_c10309" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_76d4eb" xlink:to="loc_srtConsolidatedEntitiesAxis_c10309" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_7d7bcb" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_c10309" xlink:to="loc_srtConsolidatedEntitiesDomain_7d7bcb" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiaryIssuerMember" xlink:label="loc_srtSubsidiaryIssuerMember_f7f510" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_7d7bcb" xlink:to="loc_srtSubsidiaryIssuerMember_f7f510" order="11" 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_OtherOwnershipInterestsValue" xlink:label="loc_us-gaapOtherOwnershipInterestsValue_b03191" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_1030ee" xlink:to="loc_us-gaapOtherOwnershipInterestsValue_b03191" order="1" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/PropertyPlantAndEquipmentNetDetails" xlink:title="995632 - Disclosure - Property plant and equipment net (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="loc_us-gaapPropertyPlantAndEquipmentAbstract_7badff" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_e7bf0d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentAbstract_7badff" xlink:to="loc_us-gaapStatementTable_e7bf0d" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_5d1de9" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_e7bf0d" xlink:to="loc_us-gaapStatementLineItems_5d1de9" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_ad1d12" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_e7bf0d" xlink:to="loc_srtConsolidatedEntitiesAxis_ad1d12" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_fa8433" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_ad1d12" xlink:to="loc_srtConsolidatedEntitiesDomain_fa8433" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiaryIssuerMember" xlink:label="loc_srtSubsidiaryIssuerMember_7b00cd" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_fa8433" xlink:to="loc_srtSubsidiaryIssuerMember_7b00cd" order="11" 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_BuildingsAndImprovementsGross" xlink:label="loc_us-gaapBuildingsAndImprovementsGross_68f5c1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_5d1de9" xlink:to="loc_us-gaapBuildingsAndImprovementsGross_68f5c1" order="1" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_BuildingsGross" xlink:label="loc_clwtBuildingsGross_0f62eb" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_5d1de9" xlink:to="loc_clwtBuildingsGross_0f62eb" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseholdImprovementsGross" xlink:label="loc_us-gaapLeaseholdImprovementsGross_2f5483" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_5d1de9" xlink:to="loc_us-gaapLeaseholdImprovementsGross_2f5483" order="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FurnitureAndFixturesGross" xlink:label="loc_us-gaapFurnitureAndFixturesGross_1e4ea9" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_5d1de9" xlink:to="loc_us-gaapFurnitureAndFixturesGross_1e4ea9" order="4" 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_MachineryAndEquipmentGross" xlink:label="loc_us-gaapMachineryAndEquipmentGross_6ec95b" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_5d1de9" xlink:to="loc_us-gaapMachineryAndEquipmentGross_6ec95b" order="5" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_PlantAndMachineries" xlink:label="loc_clwtPlantAndMachineries_fe0659" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_5d1de9" xlink:to="loc_clwtPlantAndMachineries_fe0659" order="6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentOther" xlink:label="loc_us-gaapPropertyPlantAndEquipmentOther_3d61e0" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_5d1de9" xlink:to="loc_us-gaapPropertyPlantAndEquipmentOther_3d61e0" order="7" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="loc_us-gaapPropertyPlantAndEquipmentGross_f86af4" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_5d1de9" xlink:to="loc_us-gaapPropertyPlantAndEquipmentGross_f86af4" order="8" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_PropertyPlantsAndEquipmentGross" xlink:label="loc_clwtPropertyPlantsAndEquipmentGross_d27e8e" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_5d1de9" xlink:to="loc_clwtPropertyPlantsAndEquipmentGross_d27e8e" order="9" 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_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="loc_us-gaapAccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_c0bf20" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_5d1de9" xlink:to="loc_us-gaapAccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_c0bf20" order="10" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_Accumulated" xlink:label="loc_clwtAccumulated_fc201e" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_5d1de9" xlink:to="loc_clwtAccumulated_fc201e" order="11" 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_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaapPropertyPlantAndEquipmentNet_2dc88c" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_5d1de9" xlink:to="loc_us-gaapPropertyPlantAndEquipmentNet_2dc88c" order="12" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/PropertyPlantAndEquipmentNetDetails1" xlink:title="995633 - Disclosure - Property plant and equipment net (Details 1)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="loc_us-gaapPropertyPlantAndEquipmentAbstract_45f4ba" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_2f10f7" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentAbstract_45f4ba" xlink:to="loc_us-gaapStatementTable_2f10f7" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_1350f2" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_2f10f7" xlink:to="loc_us-gaapStatementLineItems_1350f2" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_da9aed" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_2f10f7" xlink:to="loc_srtConsolidatedEntitiesAxis_da9aed" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_30da12" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_da9aed" xlink:to="loc_srtConsolidatedEntitiesDomain_30da12" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiaryIssuerMember" xlink:label="loc_srtSubsidiaryIssuerMember_cd5c7e" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_30da12" xlink:to="loc_srtSubsidiaryIssuerMember_cd5c7e" order="11" 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_DepreciationDepletionAndAmortization" xlink:label="loc_us-gaapDepreciationDepletionAndAmortization_4be533" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_1350f2" xlink:to="loc_us-gaapDepreciationDepletionAndAmortization_4be533" order="1" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/PropertyPlantAndEquipmentNetDetailsNarrative" xlink:title="995634 - Disclosure - Property plant and equipment net (Details Narrative)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="loc_us-gaapPropertyPlantAndEquipmentAbstract_95de30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_29e4b9" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentAbstract_95de30" xlink:to="loc_us-gaapStatementTable_29e4b9" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_830167" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_29e4b9" xlink:to="loc_us-gaapStatementLineItems_830167" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_3df3de" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_29e4b9" xlink:to="loc_srtConsolidatedEntitiesAxis_3df3de" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_c1a733" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_3df3de" xlink:to="loc_srtConsolidatedEntitiesDomain_c1a733" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis_0aaab2" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_29e4b9" xlink:to="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis_0aaab2" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaapPropertyPlantAndEquipmentTypeDomain_d9122a" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis_0aaab2" xlink:to="loc_us-gaapPropertyPlantAndEquipmentTypeDomain_d9122a" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiaryIssuerMember" xlink:label="loc_srtSubsidiaryIssuerMember_3ded77" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_c1a733" xlink:to="loc_srtSubsidiaryIssuerMember_3ded77" order="21" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_PropertyInBeijingPRCMember" xlink:label="loc_clwtPropertyInBeijingPRCMember_d79e9f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain_d9122a" xlink:to="loc_clwtPropertyInBeijingPRCMember_d79e9f" order="22" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_BankLoans" xlink:label="loc_srtBankLoans_58abb3" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_830167" xlink:to="loc_srtBankLoans_58abb3" order="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="loc_us-gaapPropertyPlantAndEquipmentNet_617d39" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_830167" xlink:to="loc_us-gaapPropertyPlantAndEquipmentNet_617d39" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/IntangibleAssetsNetDetails" xlink:title="995635 - Disclosure - Intangible assets, net (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-gaapGoodwillAndIntangibleAssetsDisclosureAbstract_9aa986" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_047cdb" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract_9aa986" xlink:to="loc_us-gaapStatementTable_047cdb" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_8f0db7" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_047cdb" xlink:to="loc_us-gaapStatementLineItems_8f0db7" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_04d229" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_047cdb" xlink:to="loc_srtConsolidatedEntitiesAxis_04d229" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_8fb831" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_04d229" xlink:to="loc_srtConsolidatedEntitiesDomain_8fb831" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiaryIssuerMember" xlink:label="loc_srtSubsidiaryIssuerMember_2964bf" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_8fb831" xlink:to="loc_srtSubsidiaryIssuerMember_2964bf" order="11" 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_FiniteLivedPatentsGross" xlink:label="loc_us-gaapFiniteLivedPatentsGross_4147b4" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8f0db7" xlink:to="loc_us-gaapFiniteLivedPatentsGross_4147b4" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherFiniteLivedIntangibleAssetsGross" xlink:label="loc_us-gaapOtherFiniteLivedIntangibleAssetsGross_126c8e" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8f0db7" xlink:to="loc_us-gaapOtherFiniteLivedIntangibleAssetsGross_126c8e" order="2" 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_FiniteLivedIntangibleAssetsGross" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsGross_3ade53" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8f0db7" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsGross_3ade53" order="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAccumulatedAmortization_a56552" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8f0db7" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAccumulatedAmortization_a56552" order="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsNet_ef77df" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8f0db7" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsNet_ef77df" order="5" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/IntangibleAssetsNetDetails1" xlink:title="995636 - Disclosure - Intangible assets, net (Details 1)">
    <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-gaapGoodwillAndIntangibleAssetsDisclosureAbstract_486324" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_2323c2" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract_486324" xlink:to="loc_us-gaapStatementTable_2323c2" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_909dc8" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_2323c2" xlink:to="loc_us-gaapStatementLineItems_909dc8" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_6af46c" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_2323c2" xlink:to="loc_srtConsolidatedEntitiesAxis_6af46c" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_9c5ceb" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_6af46c" xlink:to="loc_srtConsolidatedEntitiesDomain_9c5ceb" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiaryIssuerMember" xlink:label="loc_srtSubsidiaryIssuerMember_5be9f1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_9c5ceb" xlink:to="loc_srtSubsidiaryIssuerMember_5be9f1" order="11" 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_AmortizationOfIntangibleAssets" xlink:label="loc_us-gaapAmortizationOfIntangibleAssets_9a4252" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_909dc8" xlink:to="loc_us-gaapAmortizationOfIntangibleAssets_9a4252" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/IntangibleAssetsNetDetails2" xlink:title="995637 - Disclosure - Intangible assets, net (Details 2)">
    <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-gaapGoodwillAndIntangibleAssetsDisclosureAbstract_69a61b" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_c81703" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract_69a61b" xlink:to="loc_us-gaapStatementTable_c81703" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_a6de02" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_c81703" xlink:to="loc_us-gaapStatementLineItems_a6de02" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_285445" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_c81703" xlink:to="loc_srtConsolidatedEntitiesAxis_285445" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_66fab2" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_285445" xlink:to="loc_srtConsolidatedEntitiesDomain_66fab2" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiaryIssuerMember" xlink:label="loc_srtSubsidiaryIssuerMember_691769" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_66fab2" xlink:to="loc_srtSubsidiaryIssuerMember_691769" order="11" 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="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_8f669a" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_a6de02" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_8f669a" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_a63cef" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_a6de02" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_a63cef" order="2" 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="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearThree_42f4d0" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_a6de02" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearThree_42f4d0" order="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearFour_d511f1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_a6de02" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearFour_d511f1" order="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearFive_5bacb1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_a6de02" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearFive_5bacb1" order="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_f71eb4" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_a6de02" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_f71eb4" order="6" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_FiniteLivedIntangibleAssetsAmortizationExpense" xlink:label="loc_clwtFiniteLivedIntangibleAssetsAmortizationExpense_ec26f5" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_a6de02" xlink:to="loc_clwtFiniteLivedIntangibleAssetsAmortizationExpense_ec26f5" order="7" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/LandUseRightNetDetails" xlink:title="995638 - Disclosure - Land use right net (Details)">
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_LandUseRightNetAbstract" xlink:label="loc_clwtLandUseRightNetAbstract_636829" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_e34fe9" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_clwtLandUseRightNetAbstract_636829" xlink:to="loc_us-gaapStatementTable_e34fe9" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_2c0188" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_e34fe9" xlink:to="loc_us-gaapStatementLineItems_2c0188" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_4a84a6" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_e34fe9" xlink:to="loc_srtConsolidatedEntitiesAxis_4a84a6" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_185101" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_4a84a6" xlink:to="loc_srtConsolidatedEntitiesDomain_185101" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember_0f28d8" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_185101" xlink:to="loc_srtSubsidiariesMember_0f28d8" order="11" 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_FiniteLivedContractualRightsGross" xlink:label="loc_us-gaapFiniteLivedContractualRightsGross_6de5a7" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_2c0188" xlink:to="loc_us-gaapFiniteLivedContractualRightsGross_6de5a7" order="1" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_LandUseRightAccumulatedAmortisation" xlink:label="loc_clwtLandUseRightAccumulatedAmortisation_7c26e5" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_2c0188" xlink:to="loc_clwtLandUseRightAccumulatedAmortisation_7c26e5" order="2" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_FiniteLivedIntangibleAssetContractualRightNetLandUseRight" xlink:label="loc_clwtFiniteLivedIntangibleAssetContractualRightNetLandUseRight_5aa5d4" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_2c0188" xlink:to="loc_clwtFiniteLivedIntangibleAssetContractualRightNetLandUseRight_5aa5d4" order="3" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/LandUseRightNetDetails1" xlink:title="995639 - Disclosure - Land use right net (Details 1)">
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_LandUseRightNetAbstract" xlink:label="loc_clwtLandUseRightNetAbstract_213771" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_2736be" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_clwtLandUseRightNetAbstract_213771" xlink:to="loc_us-gaapStatementTable_2736be" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_ed1d3a" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_2736be" xlink:to="loc_us-gaapStatementLineItems_ed1d3a" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_ddef28" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_2736be" xlink:to="loc_srtConsolidatedEntitiesAxis_ddef28" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_d934a9" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_ddef28" xlink:to="loc_srtConsolidatedEntitiesDomain_d934a9" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiaryIssuerMember" xlink:label="loc_srtSubsidiaryIssuerMember_5ea3af" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_d934a9" xlink:to="loc_srtSubsidiaryIssuerMember_5ea3af" order="11" 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_AccretionExpense" xlink:label="loc_us-gaapAccretionExpense_b2fb1d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_ed1d3a" xlink:to="loc_us-gaapAccretionExpense_b2fb1d" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/LandUseRightNetDetails2" xlink:title="995640 - Disclosure - Land use right net (Details 2)">
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_LandUseRightNetAbstract" xlink:label="loc_clwtLandUseRightNetAbstract_f36c34" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_bcefaf" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_clwtLandUseRightNetAbstract_f36c34" xlink:to="loc_us-gaapStatementTable_bcefaf" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_80f4b0" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_bcefaf" xlink:to="loc_us-gaapStatementLineItems_80f4b0" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_086d1b" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_bcefaf" xlink:to="loc_srtConsolidatedEntitiesAxis_086d1b" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_a63c2e" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_086d1b" xlink:to="loc_srtConsolidatedEntitiesDomain_a63c2e" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember_92401c" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_a63c2e" xlink:to="loc_srtSubsidiariesMember_92401c" order="11" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_LandUseRightAmortizationExpenseYearTwo" xlink:label="loc_clwtLandUseRightAmortizationExpenseYearTwo_36c42d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_80f4b0" xlink:to="loc_clwtLandUseRightAmortizationExpenseYearTwo_36c42d" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_LandUseRightAmortizationExpenseNextTwelveMonths" xlink:label="loc_clwtLandUseRightAmortizationExpenseNextTwelveMonths_f2fb2c" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_80f4b0" xlink:to="loc_clwtLandUseRightAmortizationExpenseNextTwelveMonths_f2fb2c" order="2" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_LandUseRightAmortizationExpenseYearThree" xlink:label="loc_clwtLandUseRightAmortizationExpenseYearThree_63635b" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_80f4b0" xlink:to="loc_clwtLandUseRightAmortizationExpenseYearThree_63635b" order="3" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_LandUseRightAmortizationExpenseYearFour" xlink:label="loc_clwtLandUseRightAmortizationExpenseYearFour_ecf6c6" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_80f4b0" xlink:to="loc_clwtLandUseRightAmortizationExpenseYearFour_ecf6c6" order="4" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_LandUseRightAmortizationExpenseYearFive" xlink:label="loc_clwtLandUseRightAmortizationExpenseYearFive_07a391" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_80f4b0" xlink:to="loc_clwtLandUseRightAmortizationExpenseYearFive_07a391" order="5" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_LandUseRightAmortizationExpenseThereafter" xlink:label="loc_clwtLandUseRightAmortizationExpenseThereafter_27d843" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_80f4b0" xlink:to="loc_clwtLandUseRightAmortizationExpenseThereafter_27d843" order="6" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_LandUseRightAmortizationExpense" xlink:label="loc_clwtLandUseRightAmortizationExpense_dbd4ab" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_80f4b0" xlink:to="loc_clwtLandUseRightAmortizationExpense_dbd4ab" order="7" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/LandUseRightNetDetailsNarrative" xlink:title="995641 - Disclosure - Land use right net (Details Narrative)">
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_LandUseRightNetAbstract" xlink:label="loc_clwtLandUseRightNetAbstract_2ce93f" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_c6de17" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_clwtLandUseRightNetAbstract_2ce93f" xlink:to="loc_us-gaapStatementTable_c6de17" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_3e9a45" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_c6de17" xlink:to="loc_us-gaapStatementLineItems_3e9a45" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_5cd00e" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_c6de17" xlink:to="loc_srtConsolidatedEntitiesAxis_5cd00e" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_03ab56" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_5cd00e" xlink:to="loc_srtConsolidatedEntitiesDomain_03ab56" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember_bc85f8" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_03ab56" xlink:to="loc_srtSubsidiariesMember_bc85f8" order="11" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_LandUseRightPledgedBankLoan" xlink:label="loc_clwtLandUseRightPledgedBankLoan_5e7166" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_3e9a45" xlink:to="loc_clwtLandUseRightPledgedBankLoan_5e7166" order="1" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/BankBorrowingsDetails" xlink:title="995642 - Disclosure - Bank borrowings (Details)">
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_BankBorrowingsDisclosureAbstract" xlink:label="loc_clwtBankBorrowingsDisclosureAbstract_2f2e5f" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_ffd495" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_clwtBankBorrowingsDisclosureAbstract_2f2e5f" xlink:to="loc_us-gaapStatementTable_ffd495" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_4558e7" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_ffd495" xlink:to="loc_us-gaapStatementLineItems_4558e7" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_2def83" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_ffd495" xlink:to="loc_srtConsolidatedEntitiesAxis_2def83" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_2c85ca" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_2def83" xlink:to="loc_srtConsolidatedEntitiesDomain_2c85ca" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentAxis" xlink:label="loc_us-gaapDebtInstrumentAxis_b66932" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_ffd495" xlink:to="loc_us-gaapDebtInstrumentAxis_b66932" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="loc_us-gaapDebtInstrumentNameDomain_c513be" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtInstrumentAxis_b66932" xlink:to="loc_us-gaapDebtInstrumentNameDomain_c513be" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember_6a3cd3" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_2c85ca" xlink:to="loc_srtSubsidiariesMember_6a3cd3" order="31" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_BankLoanBorrowedByTheCompanysMember" xlink:label="loc_clwtBankLoanBorrowedByTheCompanysMember_185432" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtInstrumentNameDomain_c513be" xlink:to="loc_clwtBankLoanBorrowedByTheCompanysMember_185432" order="32" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_BankLoanBorrowedBySubsidiariesOfTheCompanysMember" xlink:label="loc_clwtBankLoanBorrowedBySubsidiariesOfTheCompanysMember_0e215f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtInstrumentNameDomain_c513be" xlink:to="loc_clwtBankLoanBorrowedBySubsidiariesOfTheCompanysMember_0e215f" order="33" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_BankLoans" xlink:label="loc_srtBankLoans_c3805b" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_4558e7" xlink:to="loc_srtBankLoans_c3805b" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/BankBorrowingsDetailsNarrative" xlink:title="995643 - Disclosure - Bank borrowings (Details Narrative)">
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_BankBorrowingsDisclosureAbstract" xlink:label="loc_clwtBankBorrowingsDisclosureAbstract_17ecd3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_962522" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_clwtBankBorrowingsDisclosureAbstract_17ecd3" xlink:to="loc_us-gaapStatementTable_962522" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_886cf2" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_962522" xlink:to="loc_us-gaapStatementLineItems_886cf2" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_95d81f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_962522" xlink:to="loc_srtConsolidatedEntitiesAxis_95d81f" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_3b524b" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_95d81f" xlink:to="loc_srtConsolidatedEntitiesDomain_3b524b" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis" xlink:label="loc_us-gaapPlanNameAxis_49e91e" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_962522" xlink:to="loc_us-gaapPlanNameAxis_49e91e" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="loc_us-gaapPlanNameDomain_764d25" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPlanNameAxis_49e91e" xlink:to="loc_us-gaapPlanNameDomain_764d25" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember_f1e5e5" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_3b524b" xlink:to="loc_srtSubsidiariesMember_f1e5e5" order="21" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_BorrowedByTheCompanyMember" xlink:label="loc_clwtBorrowedByTheCompanyMember_e0b0ee" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPlanNameDomain_764d25" xlink:to="loc_clwtBorrowedByTheCompanyMember_e0b0ee" order="22" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_BorrowedBySubsidiariesCompanyMember" xlink:label="loc_clwtBorrowedBySubsidiariesCompanyMember_af0428" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPlanNameDomain_764d25" xlink:to="loc_clwtBorrowedBySubsidiariesCompanyMember_af0428" order="23" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubordinatedBorrowingInterestRate" xlink:label="loc_us-gaapSubordinatedBorrowingInterestRate_ed60e0" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_886cf2" xlink:to="loc_us-gaapSubordinatedBorrowingInterestRate_ed60e0" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestPaid" xlink:label="loc_us-gaapInterestPaid_55c579" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_886cf2" xlink:to="loc_us-gaapInterestPaid_55c579" order="2" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/InvestmentsInAffiliatesDetails" xlink:title="995644 - Disclosure - Investments in affiliates (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVenturesAbstract" xlink:label="loc_us-gaapInvestmentsInAffiliatesSubsidiariesAssociatesAndJointVenturesAbstract_739e55" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_InterestEarningAssetsNetYield" xlink:label="loc_srtInterestEarningAssetsNetYield_1c4d25" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapInvestmentsInAffiliatesSubsidiariesAssociatesAndJointVenturesAbstract_739e55" xlink:to="loc_srtInterestEarningAssetsNetYield_1c4d25" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermInvestments" xlink:label="loc_us-gaapLongTermInvestments_b6d539" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapInvestmentsInAffiliatesSubsidiariesAssociatesAndJointVenturesAbstract_739e55" xlink:to="loc_us-gaapLongTermInvestments_b6d539" order="2" 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_UndistributedEarnings" xlink:label="loc_us-gaapUndistributedEarnings_f5dac0" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapInvestmentsInAffiliatesSubsidiariesAssociatesAndJointVenturesAbstract_739e55" xlink:to="loc_us-gaapUndistributedEarnings_f5dac0" order="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVentures" xlink:label="loc_us-gaapInvestmentsInAffiliatesSubsidiariesAssociatesAndJointVentures_e8e78f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapInvestmentsInAffiliatesSubsidiariesAssociatesAndJointVenturesAbstract_739e55" xlink:to="loc_us-gaapInvestmentsInAffiliatesSubsidiariesAssociatesAndJointVentures_e8e78f" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/InvestmentsInAffiliatesDetails1" xlink:title="995645 - Disclosure - Investments in affiliates (Details 1)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVenturesAbstract" xlink:label="loc_us-gaapInvestmentsInAffiliatesSubsidiariesAssociatesAndJointVenturesAbstract_a0a9e3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_926bca" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapInvestmentsInAffiliatesSubsidiariesAssociatesAndJointVenturesAbstract_a0a9e3" xlink:to="loc_us-gaapStatementTable_926bca" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_248bd9" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_926bca" xlink:to="loc_us-gaapStatementLineItems_248bd9" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementScenarioAxis" xlink:label="loc_srtStatementScenarioAxis_06204d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_926bca" xlink:to="loc_srtStatementScenarioAxis_06204d" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="loc_srtScenarioUnspecifiedDomain_6b9fef" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtStatementScenarioAxis_06204d" xlink:to="loc_srtScenarioUnspecifiedDomain_6b9fef" order="20" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_BluesSkyMember" xlink:label="loc_clwtBluesSkyMember_841685" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtScenarioUnspecifiedDomain_6b9fef" xlink:to="loc_clwtBluesSkyMember_841685" order="21" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrent" xlink:label="loc_us-gaapAssetsCurrent_a04ec3" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_248bd9" xlink:to="loc_us-gaapAssetsCurrent_a04ec3" order="1" 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_AssetsNoncurrent" xlink:label="loc_us-gaapAssetsNoncurrent_75901d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_248bd9" xlink:to="loc_us-gaapAssetsNoncurrent_75901d" order="2" 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="loc_us-gaapAssets_2ee6bb" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_248bd9" xlink:to="loc_us-gaapAssets_2ee6bb" order="3" 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="loc_us-gaapLiabilities_0eff3b" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_248bd9" xlink:to="loc_us-gaapLiabilities_0eff3b" order="4" 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="loc_us-gaapStockholdersEquity_642a9e" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_248bd9" xlink:to="loc_us-gaapStockholdersEquity_642a9e" order="5" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/InvestmentsInAffiliatesDetails2" xlink:title="995646 - Disclosure - Investments in affiliates (Details 2)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVenturesAbstract" xlink:label="loc_us-gaapInvestmentsInAffiliatesSubsidiariesAssociatesAndJointVenturesAbstract_90f450" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_dc9885" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapInvestmentsInAffiliatesSubsidiariesAssociatesAndJointVenturesAbstract_90f450" xlink:to="loc_us-gaapStatementTable_dc9885" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_93e0d4" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_dc9885" xlink:to="loc_us-gaapStatementLineItems_93e0d4" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementScenarioAxis" xlink:label="loc_srtStatementScenarioAxis_bd99bc" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_dc9885" xlink:to="loc_srtStatementScenarioAxis_bd99bc" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="loc_srtScenarioUnspecifiedDomain_fe2f12" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtStatementScenarioAxis_bd99bc" xlink:to="loc_srtScenarioUnspecifiedDomain_fe2f12" order="10" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_BluesSkyMember" xlink:label="loc_clwtBluesSkyMember_70921a" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtScenarioUnspecifiedDomain_fe2f12" xlink:to="loc_clwtBluesSkyMember_70921a" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetInvestmentInLeaseSale" xlink:label="loc_us-gaapNetInvestmentInLeaseSale_8fc529" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_93e0d4" xlink:to="loc_us-gaapNetInvestmentInLeaseSale_8fc529" order="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="loc_us-gaapOperatingIncomeLoss_b76639" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_93e0d4" xlink:to="loc_us-gaapOperatingIncomeLoss_b76639" order="2" 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_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss_9355d9" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_93e0d4" xlink:to="loc_us-gaapNetIncomeLoss_9355d9" order="3" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/InvestmentsInAffiliatesDetailsNarrative" xlink:title="995647 - Disclosure - Investments in affiliates (Details Narrative)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVenturesAbstract" xlink:label="loc_us-gaapInvestmentsInAffiliatesSubsidiariesAssociatesAndJointVenturesAbstract_b36d66" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_ec2fb7" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapInvestmentsInAffiliatesSubsidiariesAssociatesAndJointVenturesAbstract_b36d66" xlink:to="loc_us-gaapStatementTable_ec2fb7" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_9e7a01" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_ec2fb7" xlink:to="loc_us-gaapStatementLineItems_9e7a01" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementScenarioAxis" xlink:label="loc_srtStatementScenarioAxis_6a44ed" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_ec2fb7" xlink:to="loc_srtStatementScenarioAxis_6a44ed" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="loc_srtScenarioUnspecifiedDomain_f8d193" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtStatementScenarioAxis_6a44ed" xlink:to="loc_srtScenarioUnspecifiedDomain_f8d193" order="10" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_BluesSkyMember" xlink:label="loc_clwtBluesSkyMember_ff0ade" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtScenarioUnspecifiedDomain_f8d193" xlink:to="loc_clwtBluesSkyMember_ff0ade" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_InterestEarningAssetsNetYield" xlink:label="loc_srtInterestEarningAssetsNetYield_8b0734" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_9e7a01" xlink:to="loc_srtInterestEarningAssetsNetYield_8b0734" order="1" 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_LongTermInvestments" xlink:label="loc_us-gaapLongTermInvestments_7c42ca" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_9e7a01" xlink:to="loc_us-gaapLongTermInvestments_7c42ca" order="2" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/GoodwillDetailsNarrative" xlink:title="995648 - Disclosure - Goodwill (Details Narrative)">
    <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-gaapGoodwillAndIntangibleAssetsDisclosureAbstract_352e1e" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillGross" xlink:label="loc_us-gaapGoodwillGross_40b8b2" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapGoodwillAndIntangibleAssetsDisclosureAbstract_352e1e" xlink:to="loc_us-gaapGoodwillGross_40b8b2" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/OtherPayablesAndAccruedExpensesDetails" xlink:title="995649 - Disclosure - Other payables and accrued expenses (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PayablesAndAccrualsAbstract" xlink:label="loc_us-gaapPayablesAndAccrualsAbstract_e4cac9" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_3c3b7f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPayablesAndAccrualsAbstract_e4cac9" xlink:to="loc_us-gaapStatementTable_3c3b7f" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_a1303d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_3c3b7f" xlink:to="loc_us-gaapStatementLineItems_a1303d" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_b31d1f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_3c3b7f" xlink:to="loc_srtConsolidatedEntitiesAxis_b31d1f" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_1aefe2" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_b31d1f" xlink:to="loc_srtConsolidatedEntitiesDomain_1aefe2" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiaryIssuerMember" xlink:label="loc_srtSubsidiaryIssuerMember_aa938f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_1aefe2" xlink:to="loc_srtSubsidiaryIssuerMember_aa938f" order="11" 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_DividendsPayableCurrent" xlink:label="loc_us-gaapDividendsPayableCurrent_df4753" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_a1303d" xlink:to="loc_us-gaapDividendsPayableCurrent_df4753" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerDepositsCurrent" xlink:label="loc_us-gaapCustomerDepositsCurrent_4d7144" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_a1303d" xlink:to="loc_us-gaapCustomerDepositsCurrent_4d7144" order="2" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_RentalDepositReceived" xlink:label="loc_clwtRentalDepositReceived_4f55a8" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_a1303d" xlink:to="loc_clwtRentalDepositReceived_4f55a8" order="3" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_AccruedOperatingExpenses" xlink:label="loc_clwtAccruedOperatingExpenses_b602ba" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_a1303d" xlink:to="loc_clwtAccruedOperatingExpenses_b602ba" order="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccrualForTaxesOtherThanIncomeTaxesCurrent" xlink:label="loc_us-gaapAccrualForTaxesOtherThanIncomeTaxesCurrent_f35e5e" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_a1303d" xlink:to="loc_us-gaapAccrualForTaxesOtherThanIncomeTaxesCurrent_f35e5e" order="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesFairValueDisclosure" xlink:label="loc_us-gaapAccountsPayableAndAccruedLiabilitiesFairValueDisclosure_361eaa" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_a1303d" xlink:to="loc_us-gaapAccountsPayableAndAccruedLiabilitiesFairValueDisclosure_361eaa" order="6" 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_AccruedBonusesCurrent" xlink:label="loc_us-gaapAccruedBonusesCurrent_190d71" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_a1303d" xlink:to="loc_us-gaapAccruedBonusesCurrent_190d71" order="7" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OutputValueAddedTax" xlink:label="loc_clwtOutputValueAddedTax_df321b" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_a1303d" xlink:to="loc_clwtOutputValueAddedTax_df321b" order="8" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_DepositsReceivedAndTemporaryReceipts" xlink:label="loc_clwtDepositsReceivedAndTemporaryReceipts_d11c03" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_a1303d" xlink:to="loc_clwtDepositsReceivedAndTemporaryReceipts_d11c03" order="9" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/OtherTaxesPayableDetailsNarrative" xlink:title="995650 - Disclosure - Other taxes payable (Details Narrative)">
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OtherTaxesPayableDisclosureAbstract" xlink:label="loc_clwtOtherTaxesPayableDisclosureAbstract_134772" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_0147cc" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_clwtOtherTaxesPayableDisclosureAbstract_134772" xlink:to="loc_us-gaapStatementTable_0147cc" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_37f994" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_0147cc" xlink:to="loc_us-gaapStatementLineItems_37f994" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_38677d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_0147cc" xlink:to="loc_srtConsolidatedEntitiesAxis_38677d" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_bcd506" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_38677d" xlink:to="loc_srtConsolidatedEntitiesDomain_bcd506" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis" xlink:label="loc_us-gaapPlanNameAxis_592856" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_0147cc" xlink:to="loc_us-gaapPlanNameAxis_592856" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="loc_us-gaapPlanNameDomain_d489dc" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPlanNameAxis_592856" xlink:to="loc_us-gaapPlanNameDomain_d489dc" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember_6373ff" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_bcd506" xlink:to="loc_srtSubsidiariesMember_6373ff" order="21" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_BottomsMember" xlink:label="loc_clwtBottomsMember_94c600" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPlanNameDomain_d489dc" xlink:to="loc_clwtBottomsMember_94c600" order="22" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_TopsMember" xlink:label="loc_clwtTopsMember_b7421f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPlanNameDomain_d489dc" xlink:to="loc_clwtTopsMember_b7421f" order="23" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ValuedAddedTaxInterestRate" xlink:label="loc_clwtValuedAddedTaxInterestRate_b7ab80" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_37f994" xlink:to="loc_clwtValuedAddedTaxInterestRate_b7ab80" order="1" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/OtherIncomeAndOtherLossesDetails" xlink:title="995651 - Disclosure - Other income and other losses (Details)">
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OtherIncomeAndOtherLossesDisclosureAbstract" xlink:label="loc_clwtOtherIncomeAndOtherLossesDisclosureAbstract_980283" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_d4189d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_clwtOtherIncomeAndOtherLossesDisclosureAbstract_980283" xlink:to="loc_us-gaapStatementTable_d4189d" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_f2c3e3" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_d4189d" xlink:to="loc_us-gaapStatementLineItems_f2c3e3" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_a86e7f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_d4189d" xlink:to="loc_srtConsolidatedEntitiesAxis_a86e7f" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_a01bef" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_a86e7f" xlink:to="loc_srtConsolidatedEntitiesDomain_a01bef" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember_d4caff" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_a01bef" xlink:to="loc_srtSubsidiariesMember_d4caff" order="11" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ImpairmentGainOnContractAssets" xlink:label="loc_clwtImpairmentGainOnContractAssets_3ac1d0" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_f2c3e3" xlink:to="loc_clwtImpairmentGainOnContractAssets_3ac1d0" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentIncomeNet" xlink:label="loc_us-gaapInvestmentIncomeNet_60e2d4" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_f2c3e3" xlink:to="loc_us-gaapInvestmentIncomeNet_60e2d4" order="2" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_FaitValueGainOnShortTermInvestment" xlink:label="loc_clwtFaitValueGainOnShortTermInvestment_93b755" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_f2c3e3" xlink:to="loc_clwtFaitValueGainOnShortTermInvestment_93b755" order="3" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CompensationIncome" xlink:label="loc_clwtCompensationIncome_6f7861" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_f2c3e3" xlink:to="loc_clwtCompensationIncome_6f7861" order="4" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_AmountsWaivedByPayees" xlink:label="loc_clwtAmountsWaivedByPayees_f3074e" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_f2c3e3" xlink:to="loc_clwtAmountsWaivedByPayees_f3074e" order="5" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_AllowanceForDoubtfulAccountsReversal" xlink:label="loc_clwtAllowanceForDoubtfulAccountsReversal_2feeb8" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_f2c3e3" xlink:to="loc_clwtAllowanceForDoubtfulAccountsReversal_2feeb8" order="6" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_SubsidyIncome" xlink:label="loc_clwtSubsidyIncome_6dabda" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_f2c3e3" xlink:to="loc_clwtSubsidyIncome_6dabda" order="7" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherIncome" xlink:label="loc_us-gaapOtherIncome_37451c" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_f2c3e3" xlink:to="loc_us-gaapOtherIncome_37451c" order="8" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/OtherIncomeAndOtherLossesDetails1" xlink:title="995652 - Disclosure - Other income and other losses (Details 1)">
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OtherIncomeAndOtherLossesDisclosureAbstract" xlink:label="loc_clwtOtherIncomeAndOtherLossesDisclosureAbstract_c713c8" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_18334f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_clwtOtherIncomeAndOtherLossesDisclosureAbstract_c713c8" xlink:to="loc_us-gaapStatementTable_18334f" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_605e89" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_18334f" xlink:to="loc_us-gaapStatementLineItems_605e89" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_c16fcb" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_18334f" xlink:to="loc_srtConsolidatedEntitiesAxis_c16fcb" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_d63a1a" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_c16fcb" xlink:to="loc_srtConsolidatedEntitiesDomain_d63a1a" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember_49bc3b" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_d63a1a" xlink:to="loc_srtSubsidiariesMember_49bc3b" order="11" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ImpairmentLossOnShortTermInvestments" xlink:label="loc_clwtImpairmentLossOnShortTermInvestments_dcbe25" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_605e89" xlink:to="loc_clwtImpairmentLossOnShortTermInvestments_dcbe25" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ImpairmentLossOnContractAssets" xlink:label="loc_clwtImpairmentLossOnContractAssets_b927c7" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_605e89" xlink:to="loc_clwtImpairmentLossOnContractAssets_b927c7" order="2" 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_OtherNonoperatingGainsLosses" xlink:label="loc_us-gaapOtherNonoperatingGainsLosses_38fe45" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_605e89" xlink:to="loc_us-gaapOtherNonoperatingGainsLosses_38fe45" order="3" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/OrdinaryShareDetails" xlink:title="995653 - Disclosure - Ordinary share (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityAbstract" xlink:label="loc_us-gaapEquityAbstract_fc70b1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesIssued" xlink:label="loc_us-gaapCommonStockSharesIssued_b3449a" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract_fc70b1" xlink:to="loc_us-gaapCommonStockSharesIssued_b3449a" order="1" 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_TreasuryStockCommonShares" xlink:label="loc_us-gaapTreasuryStockCommonShares_b5e8c8" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract_fc70b1" xlink:to="loc_us-gaapTreasuryStockCommonShares_b5e8c8" order="2" 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_CommonStockSharesOutstanding" xlink:label="loc_us-gaapCommonStockSharesOutstanding_d3cae7" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract_fc70b1" xlink:to="loc_us-gaapCommonStockSharesOutstanding_d3cae7" order="3" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/OrdinaryShareDetailsNarrative" xlink:title="995654 - Disclosure - Ordinary share (Details Narrative)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityAbstract" xlink:label="loc_us-gaapEquityAbstract_676a48" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesNewIssues_08821c" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract_676a48" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesNewIssues_08821c" order="1" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/TreasuryStockDetailsNarrative" xlink:title="995655 - Disclosure - Treasury stock (Details Narrative)">
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_TreasuryStockAbstract" xlink:label="loc_clwtTreasuryStockAbstract_16a00f" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_6b853e" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_clwtTreasuryStockAbstract_16a00f" xlink:to="loc_us-gaapStatementTable_6b853e" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_48d365" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_6b853e" xlink:to="loc_us-gaapStatementLineItems_48d365" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis" xlink:label="loc_us-gaapPlanNameAxis_e571e0" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_6b853e" xlink:to="loc_us-gaapPlanNameAxis_e571e0" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="loc_us-gaapPlanNameDomain_b1df52" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPlanNameAxis_e571e0" xlink:to="loc_us-gaapPlanNameDomain_b1df52" order="10" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_StockRepurchasePlanMember" xlink:label="loc_clwtStockRepurchasePlanMember_306937" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPlanNameDomain_b1df52" xlink:to="loc_clwtStockRepurchasePlanMember_306937" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharesOutstanding" xlink:label="loc_us-gaapSharesOutstanding_10e034" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_48d365" xlink:to="loc_us-gaapSharesOutstanding_10e034" order="1" 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_OtherInventoryPurchasedGoods" xlink:label="loc_us-gaapOtherInventoryPurchasedGoods_9257c7" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_48d365" xlink:to="loc_us-gaapOtherInventoryPurchasedGoods_9257c7" order="2" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/PrcStatutoryReservesDetailsNarrative" xlink:title="995656 - Disclosure - PRC statutory reserves (Details Narrative)">
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_PrcStatutoryReservesAbstract" xlink:label="loc_clwtPrcStatutoryReservesAbstract_4a2cfd" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_40e4a1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_clwtPrcStatutoryReservesAbstract_4a2cfd" xlink:to="loc_us-gaapStatementTable_40e4a1" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_36c7e7" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_40e4a1" xlink:to="loc_us-gaapStatementLineItems_36c7e7" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermDebtTypeAxis" xlink:label="loc_us-gaapShortTermDebtTypeAxis_4c9019" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_40e4a1" xlink:to="loc_us-gaapShortTermDebtTypeAxis_4c9019" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermDebtTypeDomain" xlink:label="loc_us-gaapShortTermDebtTypeDomain_cd2faa" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtTypeAxis_4c9019" xlink:to="loc_us-gaapShortTermDebtTypeDomain_cd2faa" order="20" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_StatutoryReserveFundMember" xlink:label="loc_clwtStatutoryReserveFundMember_5d4557" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtTypeDomain_cd2faa" xlink:to="loc_clwtStatutoryReserveFundMember_5d4557" order="21" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_StatutoryStaffWelfareFundMember" xlink:label="loc_clwtStatutoryStaffWelfareFundMember_9b679a" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtTypeDomain_cd2faa" xlink:to="loc_clwtStatutoryStaffWelfareFundMember_9b679a" order="22" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_EnterpriseExpansionFundMember" xlink:label="loc_clwtEnterpriseExpansionFundMember_ca9d32" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShortTermDebtTypeDomain_cd2faa" xlink:to="loc_clwtEnterpriseExpansionFundMember_ca9d32" order="23" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatutoryAccountingPracticesStatutoryNetIncomeAmount" xlink:label="loc_us-gaapStatutoryAccountingPracticesStatutoryNetIncomeAmount_362607" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_36c7e7" xlink:to="loc_us-gaapStatutoryAccountingPracticesStatutoryNetIncomeAmount_362607" order="1" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_MinimumRegisteredCapitalPercentage" xlink:label="loc_clwtMinimumRegisteredCapitalPercentage_e16273" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_36c7e7" xlink:to="loc_clwtMinimumRegisteredCapitalPercentage_e16273" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PublicUtilitiesRequestedDebtCapitalStructurePercentage" xlink:label="loc_us-gaapPublicUtilitiesRequestedDebtCapitalStructurePercentage_27fb81" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_36c7e7" xlink:to="loc_us-gaapPublicUtilitiesRequestedDebtCapitalStructurePercentage_27fb81" order="3" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_StatutoryAccountingPracticesStatutoryNetIncomePercentage" xlink:label="loc_clwtStatutoryAccountingPracticesStatutoryNetIncomePercentage_e56afc" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_36c7e7" xlink:to="loc_clwtStatutoryAccountingPracticesStatutoryNetIncomePercentage_e56afc" order="4" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/OtherIncomeNetDetails" xlink:title="995657 - Disclosure - Other income net (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherIncomeAbstract" xlink:label="loc_us-gaapOtherIncomeAbstract_865234" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ExchangeGainLossNet" xlink:label="loc_clwtExchangeGainLossNet_dbfc9a" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOtherIncomeAbstract_865234" xlink:to="loc_clwtExchangeGainLossNet_dbfc9a" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RentalIncomeNonoperating" xlink:label="loc_us-gaapRentalIncomeNonoperating_adba27" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOtherIncomeAbstract_865234" xlink:to="loc_us-gaapRentalIncomeNonoperating_adba27" order="2" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_GovernmentSubsidies" xlink:label="loc_clwtGovernmentSubsidies_daf7f5" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOtherIncomeAbstract_865234" xlink:to="loc_clwtGovernmentSubsidies_daf7f5" order="3" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OtherNonoperatingIncomeNet" xlink:label="loc_clwtOtherNonoperatingIncomeNet_e3ee18" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOtherIncomeAbstract_865234" xlink:to="loc_clwtOtherNonoperatingIncomeNet_e3ee18" order="4" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/IncomeTaxesDetails" xlink:title="995658 - Disclosure - Income taxes (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-gaapIncomeTaxDisclosureAbstract_b551d3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_db20e5" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract_b551d3" xlink:to="loc_us-gaapStatementTable_db20e5" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_57418a" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_db20e5" xlink:to="loc_us-gaapStatementLineItems_57418a" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_aba003" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_db20e5" xlink:to="loc_srtConsolidatedEntitiesAxis_aba003" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_229257" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_aba003" xlink:to="loc_srtConsolidatedEntitiesDomain_229257" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiaryIssuerMember" xlink:label="loc_srtSubsidiaryIssuerMember_b2004d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_229257" xlink:to="loc_srtSubsidiaryIssuerMember_b2004d" order="11" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CurrentTaxExpensesPrcAndHongKong" xlink:label="loc_clwtCurrentTaxExpensesPrcAndHongKong_9f16ac" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_57418a" xlink:to="loc_clwtCurrentTaxExpensesPrcAndHongKong_9f16ac" order="1" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_IncomeTaxExpensePrcEit" xlink:label="loc_clwtIncomeTaxExpensePrcEit_05d9e1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_57418a" xlink:to="loc_clwtIncomeTaxExpensePrcEit_05d9e1" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="loc_us-gaapCurrentIncomeTaxExpenseBenefit_9d754d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_57418a" xlink:to="loc_us-gaapCurrentIncomeTaxExpenseBenefit_9d754d" order="3" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_DeferredTaxBenefitPrcAndHongKong" xlink:label="loc_clwtDeferredTaxBenefitPrcAndHongKong_fccfa2" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_57418a" xlink:to="loc_clwtDeferredTaxBenefitPrcAndHongKong_fccfa2" order="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredOtherTaxExpenseBenefit" xlink:label="loc_us-gaapDeferredOtherTaxExpenseBenefit_3edaf2" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_57418a" xlink:to="loc_us-gaapDeferredOtherTaxExpenseBenefit_3edaf2" order="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="loc_us-gaapDeferredIncomeTaxExpenseBenefit_c251b9" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_57418a" xlink:to="loc_us-gaapDeferredIncomeTaxExpenseBenefit_c251b9" order="6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaapIncomeTaxExpenseBenefit_7dd7e6" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_57418a" xlink:to="loc_us-gaapIncomeTaxExpenseBenefit_7dd7e6" order="7" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/IncomeTaxesDetails1" xlink:title="995659 - Disclosure - Income taxes (Details 1)">
    <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-gaapIncomeTaxDisclosureAbstract_f60979" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_8f4cfe" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract_f60979" xlink:to="loc_us-gaapStatementTable_8f4cfe" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_14aee2" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_8f4cfe" xlink:to="loc_us-gaapStatementLineItems_14aee2" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_c4dadc" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_8f4cfe" xlink:to="loc_srtConsolidatedEntitiesAxis_c4dadc" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_ae536a" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_c4dadc" xlink:to="loc_srtConsolidatedEntitiesDomain_ae536a" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityNameAxis" xlink:label="loc_us-gaapIncomeTaxAuthorityNameAxis_03b665" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_8f4cfe" xlink:to="loc_us-gaapIncomeTaxAuthorityNameAxis_03b665" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="loc_us-gaapIncomeTaxAuthorityNameDomain_226229" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxAuthorityNameAxis_03b665" xlink:to="loc_us-gaapIncomeTaxAuthorityNameDomain_226229" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiaryIssuerMember" xlink:label="loc_srtSubsidiaryIssuerMember_e60646" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_ae536a" xlink:to="loc_srtSubsidiaryIssuerMember_e60646" order="31" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_HongKongProfitTaxMember" xlink:label="loc_clwtHongKongProfitTaxMember_15391e" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxAuthorityNameDomain_226229" xlink:to="loc_clwtHongKongProfitTaxMember_15391e" order="32" 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_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_5ff511" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_14aee2" xlink:to="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_5ff511" order="1" 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_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" xlink:label="loc_us-gaapIncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate_0c95b3" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_14aee2" xlink:to="loc_us-gaapIncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate_0c95b3" order="2" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OverProvisionForIncomeTaxInPriorYears" xlink:label="loc_clwtOverProvisionForIncomeTaxInPriorYears_8b2ca1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_14aee2" xlink:to="loc_clwtOverProvisionForIncomeTaxInPriorYears_8b2ca1" order="3" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_TemporaryDifferences" xlink:label="loc_clwtTemporaryDifferences_96cc5f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_14aee2" xlink:to="loc_clwtTemporaryDifferences_96cc5f" order="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationNondeductibleExpense" xlink:label="loc_us-gaapIncomeTaxReconciliationNondeductibleExpense_cc0203" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_14aee2" xlink:to="loc_us-gaapIncomeTaxReconciliationNondeductibleExpense_cc0203" order="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationNondeductibleExpenseResearchAndDevelopment" xlink:label="loc_us-gaapIncomeTaxReconciliationNondeductibleExpenseResearchAndDevelopment_f7a1c2" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_14aee2" xlink:to="loc_us-gaapIncomeTaxReconciliationNondeductibleExpenseResearchAndDevelopment_f7a1c2" order="6" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_TaxEffectOfRevenueNotSubjectToTax" xlink:label="loc_clwtTaxEffectOfRevenueNotSubjectToTax_880fd5" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_14aee2" xlink:to="loc_clwtTaxEffectOfRevenueNotSubjectToTax_880fd5" order="7" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationOtherAdjustments" xlink:label="loc_us-gaapIncomeTaxReconciliationOtherAdjustments_2a9cd1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_14aee2" xlink:to="loc_us-gaapIncomeTaxReconciliationOtherAdjustments_2a9cd1" order="8" 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_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="loc_us-gaapIncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance_4d7ea1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_14aee2" xlink:to="loc_us-gaapIncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance_4d7ea1" order="9" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_IncomeTaxesCreditExpenseAtEffectiveTaxRate" xlink:label="loc_clwtIncomeTaxesCreditExpenseAtEffectiveTaxRate_f410da" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_14aee2" xlink:to="loc_clwtIncomeTaxesCreditExpenseAtEffectiveTaxRate_f410da" order="10" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/IncomeTaxesDetails2" xlink:title="995660 - Disclosure - Income taxes (Details 2)">
    <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-gaapIncomeTaxDisclosureAbstract_2cd067" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_7eda9b" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract_2cd067" xlink:to="loc_us-gaapStatementTable_7eda9b" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_15fca9" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_7eda9b" xlink:to="loc_us-gaapStatementLineItems_15fca9" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_fa3a60" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_7eda9b" xlink:to="loc_srtConsolidatedEntitiesAxis_fa3a60" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_45b639" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_fa3a60" xlink:to="loc_srtConsolidatedEntitiesDomain_45b639" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiaryIssuerMember" xlink:label="loc_srtSubsidiaryIssuerMember_61d8b3" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_45b639" xlink:to="loc_srtSubsidiaryIssuerMember_61d8b3" order="11" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_DeferredTaxAssetTaxLosses" xlink:label="loc_clwtDeferredTaxAssetTaxLosses_bbfbf6" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_15fca9" xlink:to="loc_clwtDeferredTaxAssetTaxLosses_bbfbf6" order="1" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_DeferredTaxAssetTemporaryDifferences" xlink:label="loc_clwtDeferredTaxAssetTemporaryDifferences_1c860a" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_15fca9" xlink:to="loc_clwtDeferredTaxAssetTemporaryDifferences_1c860a" order="2" 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_DeferredTaxAssetsValuationAllowance" xlink:label="loc_us-gaapDeferredTaxAssetsValuationAllowance_ba22a6" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_15fca9" xlink:to="loc_us-gaapDeferredTaxAssetsValuationAllowance_ba22a6" order="3" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_NetDeferredTaxAssetsLiabilities" xlink:label="loc_clwtNetDeferredTaxAssetsLiabilities_b75b53" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_15fca9" xlink:to="loc_clwtNetDeferredTaxAssetsLiabilities_b75b53" order="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xlink:label="loc_us-gaapDeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_b7a81b" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_15fca9" xlink:to="loc_us-gaapDeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts_b7a81b" order="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsDeferredIncome" xlink:label="loc_us-gaapDeferredTaxAssetsDeferredIncome_5a7968" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_15fca9" xlink:to="loc_us-gaapDeferredTaxAssetsDeferredIncome_5a7968" order="6" 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_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsImpairmentLosses" xlink:label="loc_us-gaapDeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsImpairmentLosses_b3285f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_15fca9" xlink:to="loc_us-gaapDeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsImpairmentLosses_b3285f" order="7" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_DeferredtaxassetstaxdeferrechangeInFairValue" xlink:label="loc_clwtDeferredtaxassetstaxdeferrechangeInFairValue_80a6e1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_15fca9" xlink:to="loc_clwtDeferredtaxassetstaxdeferrechangeInFairValue_80a6e1" order="8" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_InvestmentLoss" xlink:label="loc_clwtInvestmentLoss_c679bf" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_15fca9" xlink:to="loc_clwtInvestmentLoss_c679bf" order="9" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="loc_us-gaapDeferredTaxAssetsNet_11b7f8" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_15fca9" xlink:to="loc_us-gaapDeferredTaxAssetsNet_11b7f8" order="10" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/IncomeTaxesDetailsNarrative" xlink:title="995661 - Disclosure - Income taxes (Details Narrative)">
    <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-gaapIncomeTaxDisclosureAbstract_b8c582" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_1bf04a" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract_b8c582" xlink:to="loc_us-gaapStatementTable_1bf04a" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_be2bf3" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_1bf04a" xlink:to="loc_us-gaapStatementLineItems_be2bf3" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsidiarySaleOfStockAxis" xlink:label="loc_us-gaapSubsidiarySaleOfStockAxis_4949ef" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_1bf04a" xlink:to="loc_us-gaapSubsidiarySaleOfStockAxis_4949ef" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SaleOfStockNameOfTransactionDomain" xlink:label="loc_us-gaapSaleOfStockNameOfTransactionDomain_570600" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsidiarySaleOfStockAxis_4949ef" xlink:to="loc_us-gaapSaleOfStockNameOfTransactionDomain_570600" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="loc_srtStatementGeographicalAxis_827d9d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_1bf04a" xlink:to="loc_srtStatementGeographicalAxis_827d9d" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srtSegmentGeographicalDomain_12aece" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtStatementGeographicalAxis_827d9d" xlink:to="loc_srtSegmentGeographicalDomain_12aece" order="30" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ShanghaiEuroTechLimitedMember" xlink:label="loc_clwtShanghaiEuroTechLimitedMember_581ef1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSaleOfStockNameOfTransactionDomain_570600" xlink:to="loc_clwtShanghaiEuroTechLimitedMember_581ef1" order="31" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_YixingPactEnvironmentalTechnologyCoLtdMember" xlink:label="loc_clwtYixingPactEnvironmentalTechnologyCoLtdMember_caccd2" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSaleOfStockNameOfTransactionDomain_570600" xlink:to="loc_clwtYixingPactEnvironmentalTechnologyCoLtdMember_caccd2" order="32" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_EuroTechTradingShanghaiLimitedMember" xlink:label="loc_clwtEuroTechTradingShanghaiLimitedMember_5eb4af" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSaleOfStockNameOfTransactionDomain_570600" xlink:to="loc_clwtEuroTechTradingShanghaiLimitedMember_5eb4af" order="33" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_HKMember" xlink:label="loc_clwtHKMember_997891" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtSegmentGeographicalDomain_12aece" xlink:to="loc_clwtHKMember_997891" order="34" 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_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="loc_us-gaapEffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_47b265" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_be2bf3" xlink:to="loc_us-gaapEffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_47b265" order="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="loc_us-gaapProfitLoss_e7c528" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_be2bf3" xlink:to="loc_us-gaapProfitLoss_e7c528" order="2" 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_UndistributedEarningsDiluted" xlink:label="loc_us-gaapUndistributedEarningsDiluted_58a792" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_be2bf3" xlink:to="loc_us-gaapUndistributedEarningsDiluted_58a792" order="3" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/NetIncomePerOrdinaryShareDetails" xlink:title="995662 - Disclosure - Net income per ordinary 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-gaapEarningsPerShareAbstract_bc74f6" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_WeightedAverageNumberOfOrdinarySharesForThePurposesOfBasicAndDilutedNetIncomePerShare" xlink:label="loc_clwtWeightedAverageNumberOfOrdinarySharesForThePurposesOfBasicAndDilutedNetIncomePerShare_584e43" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract_bc74f6" xlink:to="loc_clwtWeightedAverageNumberOfOrdinarySharesForThePurposesOfBasicAndDilutedNetIncomePerShare_584e43" order="1" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/StockOptionsDetails" xlink:title="995663 - Disclosure - Stock options (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationAbstract" xlink:label="loc_us-gaapShareBasedCompensationAbstract_4ad737" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_d0b7bf" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationAbstract_4ad737" xlink:to="loc_us-gaapStatementTable_d0b7bf" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_2f9047" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_d0b7bf" xlink:to="loc_us-gaapStatementLineItems_2f9047" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinancialInstrumentAxis" xlink:label="loc_us-gaapFinancialInstrumentAxis_29f989" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_d0b7bf" xlink:to="loc_us-gaapFinancialInstrumentAxis_29f989" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:label="loc_us-gaapTransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_ef141d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFinancialInstrumentAxis_29f989" xlink:to="loc_us-gaapTransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_ef141d" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockOptionMember" xlink:label="loc_us-gaapStockOptionMember_18418d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapTransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_ef141d" xlink:to="loc_us-gaapStockOptionMember_18418d" order="21" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_003f00" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_2f9047" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_003f00" order="1" 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="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_8b7176" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_2f9047" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_8b7176" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_2c1dbc" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_2f9047" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_2c1dbc" order="3" 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_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:label="loc_us-gaapWeightedAverageNumberDilutedSharesOutstandingAdjustment_d1ca86" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_2f9047" xlink:to="loc_us-gaapWeightedAverageNumberDilutedSharesOutstandingAdjustment_d1ca86" order="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_c8b47a" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_2f9047" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_c8b47a" order="5" 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="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_370311" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_2f9047" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_370311" order="6" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_cccdd3" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_2f9047" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_cccdd3" order="7" 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_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c5be07" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_2f9047" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c5be07" order="8" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_567f2b" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_2f9047" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice_567f2b" order="9" 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_BasicEarningsPerShareAdjustmentProForma" xlink:label="loc_us-gaapBasicEarningsPerShareAdjustmentProForma_397578" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_2f9047" xlink:to="loc_us-gaapBasicEarningsPerShareAdjustmentProForma_397578" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_b1f875" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_2f9047" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_b1f875" order="11" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_6bd851" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_2f9047" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_6bd851" order="12" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/StockOptionsDetailsNarrative" xlink:title="995664 - Disclosure - Stock options (Details Narrative)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationAbstract" xlink:label="loc_us-gaapShareBasedCompensationAbstract_6ec3cb" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_672666" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationAbstract_6ec3cb" xlink:to="loc_us-gaapStatementTable_672666" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_5c46cf" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_672666" xlink:to="loc_us-gaapStatementLineItems_5c46cf" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis" xlink:label="loc_us-gaapPlanNameAxis_c45b83" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_672666" xlink:to="loc_us-gaapPlanNameAxis_c45b83" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="loc_us-gaapPlanNameDomain_0b6ce2" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPlanNameAxis_c45b83" xlink:to="loc_us-gaapPlanNameDomain_0b6ce2" order="10" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_TwoThousandTwentyNineStockOptionAndIncentivePlanMember" xlink:label="loc_clwtTwoThousandTwentyNineStockOptionAndIncentivePlanMember_c4b1fc" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPlanNameDomain_0b6ce2" xlink:to="loc_clwtTwoThousandTwentyNineStockOptionAndIncentivePlanMember_c4b1fc" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_565b5a" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_5c46cf" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod_565b5a" order="1" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsDiscountForPostvestingRestrictions" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsDiscountForPostvestingRestrictions_ebb6da" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_5c46cf" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsDiscountForPostvestingRestrictions_ebb6da" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:label="loc_us-gaapWeightedAverageNumberDilutedSharesOutstandingAdjustment_d267e2" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_5c46cf" xlink:to="loc_us-gaapWeightedAverageNumberDilutedSharesOutstandingAdjustment_d267e2" order="3" 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_StockRepurchasedDuringPeriodShares" xlink:label="loc_us-gaapStockRepurchasedDuringPeriodShares_2c5673" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_5c46cf" xlink:to="loc_us-gaapStockRepurchasedDuringPeriodShares_2c5673" order="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_7ea7b5" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_5c46cf" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_7ea7b5" order="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensation" xlink:label="loc_us-gaapShareBasedCompensation_d5ed5d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_5c46cf" xlink:to="loc_us-gaapShareBasedCompensation_d5ed5d" order="6" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_d00978" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_5c46cf" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_d00978" order="7" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum_06f8d2" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_5c46cf" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum_06f8d2" order="8" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_29616b" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_5c46cf" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_29616b" order="9" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/PensionPlanDetailsNarrative" xlink:title="995665 - Disclosure - Pension plan (Details Narrative)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PensionAndOtherPostretirementBenefitContributionsAbstract" xlink:label="loc_us-gaapPensionAndOtherPostretirementBenefitContributionsAbstract_67a7c6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_f82be1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPensionAndOtherPostretirementBenefitContributionsAbstract_67a7c6" xlink:to="loc_us-gaapStatementTable_f82be1" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_6b774e" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_f82be1" xlink:to="loc_us-gaapStatementLineItems_6b774e" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_7d0ecc" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_f82be1" xlink:to="loc_srtConsolidatedEntitiesAxis_7d0ecc" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_5f7af4" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_7d0ecc" xlink:to="loc_srtConsolidatedEntitiesDomain_5f7af4" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis" xlink:label="loc_us-gaapPlanNameAxis_6ac963" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_f82be1" xlink:to="loc_us-gaapPlanNameAxis_6ac963" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="loc_us-gaapPlanNameDomain_d05c9a" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPlanNameAxis_6ac963" xlink:to="loc_us-gaapPlanNameDomain_d05c9a" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiaryIssuerMember" xlink:label="loc_srtSubsidiaryIssuerMember_1a312d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_5f7af4" xlink:to="loc_srtSubsidiaryIssuerMember_1a312d" order="21" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember_64538d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_5f7af4" xlink:to="loc_srtSubsidiariesMember_64538d" order="22" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_BottomsMember" xlink:label="loc_clwtBottomsMember_864e1a" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPlanNameDomain_d05c9a" xlink:to="loc_clwtBottomsMember_864e1a" order="23" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_TopsMember" xlink:label="loc_clwtTopsMember_71569d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPlanNameDomain_d05c9a" xlink:to="loc_clwtTopsMember_71569d" order="24" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_EmployeesPensionPlanDescription" xlink:label="loc_clwtEmployeesPensionPlanDescription_0b4081" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_6b774e" xlink:to="loc_clwtEmployeesPensionPlanDescription_0b4081" order="1" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_PensionSchemeBasicSalaryPercentage" xlink:label="loc_clwtPensionSchemeBasicSalaryPercentage_2d8b4a" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_6b774e" xlink:to="loc_clwtPensionSchemeBasicSalaryPercentage_2d8b4a" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PensionContributions" xlink:label="loc_us-gaapPensionContributions_b75742" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_6b774e" xlink:to="loc_us-gaapPensionContributions_b75742" order="3" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/RiskFactorsDetailsNarrative" xlink:title="995666 - Disclosure - Risk factors (Details Narrative)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeInstrumentDetailAbstract" xlink:label="loc_us-gaapDerivativeInstrumentDetailAbstract_b3c433" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_bf91cb" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDerivativeInstrumentDetailAbstract_b3c433" xlink:to="loc_us-gaapStatementTable_bf91cb" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_89a8d9" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_bf91cb" xlink:to="loc_us-gaapStatementLineItems_89a8d9" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductOrServiceAxis" xlink:label="loc_srtProductOrServiceAxis_6174b9" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_bf91cb" xlink:to="loc_srtProductOrServiceAxis_6174b9" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srtProductsAndServicesDomain_3f02f3" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductOrServiceAxis_6174b9" xlink:to="loc_srtProductsAndServicesDomain_3f02f3" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_b06e97" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_bf91cb" xlink:to="loc_srtConsolidatedEntitiesAxis_b06e97" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_546d61" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_b06e97" xlink:to="loc_srtConsolidatedEntitiesDomain_546d61" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="loc_srtStatementGeographicalAxis_f07d38" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_bf91cb" xlink:to="loc_srtStatementGeographicalAxis_f07d38" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srtSegmentGeographicalDomain_da4e40" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtStatementGeographicalAxis_f07d38" xlink:to="loc_srtSegmentGeographicalDomain_da4e40" order="30" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_HongKongAndPRCMember" xlink:label="loc_clwtHongKongAndPRCMember_cefcb8" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductsAndServicesDomain_3f02f3" xlink:to="loc_clwtHongKongAndPRCMember_cefcb8" order="31" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember_0e2271" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_546d61" xlink:to="loc_srtSubsidiariesMember_0e2271" order="32" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CNMember" xlink:label="loc_clwtCNMember_32b149" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtSegmentGeographicalDomain_da4e40" xlink:to="loc_clwtCNMember_32b149" order="33" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskCreditRiskFinancialInstrumentMaximumExposure" xlink:label="loc_us-gaapConcentrationRiskCreditRiskFinancialInstrumentMaximumExposure_8e02a2" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_89a8d9" xlink:to="loc_us-gaapConcentrationRiskCreditRiskFinancialInstrumentMaximumExposure_8e02a2" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedCash" xlink:label="loc_us-gaapRestrictedCash_b0cfb3" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_89a8d9" xlink:to="loc_us-gaapRestrictedCash_b0cfb3" order="2" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/RiskAndUncertaintyDetailsNarrative" xlink:title="995667 - Disclosure - Risk and uncertainty (Details Narrative)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RisksAndUncertaintiesAbstract" xlink:label="loc_us-gaapRisksAndUncertaintiesAbstract_d46187" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_RentalIncome" xlink:label="loc_clwtRentalIncome_7b6da8" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRisksAndUncertaintiesAbstract_d46187" xlink:to="loc_clwtRentalIncome_7b6da8" order="1" 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_PropertyPlantAndEquipmentFairValueDisclosure" xlink:label="loc_us-gaapPropertyPlantAndEquipmentFairValueDisclosure_a930d4" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRisksAndUncertaintiesAbstract_d46187" xlink:to="loc_us-gaapPropertyPlantAndEquipmentFairValueDisclosure_a930d4" order="2" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/RelatedPartyTransactionsDetailsNarrative" xlink:title="995668 - Disclosure - Related party transactions (Details Narrative)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionsAbstract" xlink:label="loc_us-gaapRelatedPartyTransactionsAbstract_f10404" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_478d17" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionsAbstract_f10404" xlink:to="loc_us-gaapStatementTable_478d17" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_bba2e8" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_478d17" xlink:to="loc_us-gaapStatementLineItems_bba2e8" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis_d8d163" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_478d17" xlink:to="loc_srtConsolidatedEntitiesAxis_d8d163" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_406a48" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesAxis_d8d163" xlink:to="loc_srtConsolidatedEntitiesDomain_406a48" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductOrServiceAxis" xlink:label="loc_srtProductOrServiceAxis_4246a9" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_478d17" xlink:to="loc_srtProductOrServiceAxis_4246a9" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srtProductsAndServicesDomain_2091cb" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductOrServiceAxis_4246a9" xlink:to="loc_srtProductsAndServicesDomain_2091cb" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember_7ac60e" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtConsolidatedEntitiesDomain_406a48" xlink:to="loc_srtSubsidiariesMember_7ac60e" order="21" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_EngineeringServiceMember" xlink:label="loc_clwtEngineeringServiceMember_86e4b2" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductsAndServicesDomain_2091cb" xlink:to="loc_clwtEngineeringServiceMember_86e4b2" order="22" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Investments" xlink:label="loc_us-gaapInvestments_738b1c" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_bba2e8" xlink:to="loc_us-gaapInvestments_738b1c" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_Remuneration" xlink:label="loc_clwtRemuneration_19fe9a" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_bba2e8" xlink:to="loc_clwtRemuneration_19fe9a" order="2" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/CommitmentsAndContingenciesDetails" xlink:title="995669 - 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="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract_ec00ca" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_FairValueOfPutOptions" xlink:label="loc_clwtFairValueOfPutOptions_4e2eb0" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract_ec00ca" xlink:to="loc_clwtFairValueOfPutOptions_4e2eb0" order="1" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_NetIncomeLossToPutOptions" xlink:label="loc_clwtNetIncomeLossToPutOptions_677486" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract_ec00ca" xlink:to="loc_clwtNetIncomeLossToPutOptions_677486" order="2" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ForeignCurrencyTranslation" xlink:label="loc_clwtForeignCurrencyTranslation_388a7e" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract_ec00ca" xlink:to="loc_clwtForeignCurrencyTranslation_388a7e" order="3" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_FairValueOfPutOptions" xlink:label="loc_clwtFairValueOfPutOptions_476a88" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract_ec00ca" xlink:to="loc_clwtFairValueOfPutOptions_476a88" order="4" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/CommitmentsAndContingenciesDetailsNarrative" xlink:title="995670 - Disclosure - Commitments and contingencies (Details Narrative)">
    <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-gaapCommitmentsAndContingenciesDisclosureAbstract_e9a421" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_9dd327" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract_e9a421" xlink:to="loc_us-gaapStatementTable_9dd327" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_ed6e79" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_9dd327" xlink:to="loc_us-gaapStatementLineItems_ed6e79" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionAxis" xlink:label="loc_us-gaapRelatedPartyTransactionAxis_47edb8" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_9dd327" xlink:to="loc_us-gaapRelatedPartyTransactionAxis_47edb8" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionDomain" xlink:label="loc_us-gaapRelatedPartyTransactionDomain_3e4639" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionAxis_47edb8" xlink:to="loc_us-gaapRelatedPartyTransactionDomain_3e4639" order="20" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_PactAsiaPacificLimitedMember" xlink:label="loc_clwtPactAsiaPacificLimitedMember_e25446" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRelatedPartyTransactionDomain_3e4639" xlink:to="loc_clwtPactAsiaPacificLimitedMember_e25446" order="21" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_UtilisedForIssuanceOfBankGuarantees" xlink:label="loc_clwtUtilisedForIssuanceOfBankGuarantees_bdf73a" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_ed6e79" xlink:to="loc_clwtUtilisedForIssuanceOfBankGuarantees_bdf73a" order="1" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_TangibleNetWorth" xlink:label="loc_clwtTangibleNetWorth_2d9f8a" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_ed6e79" xlink:to="loc_clwtTangibleNetWorth_2d9f8a" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" xlink:label="loc_us-gaapLineOfCreditFacilityCurrentBorrowingCapacity_fffe2d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_ed6e79" xlink:to="loc_us-gaapLineOfCreditFacilityCurrentBorrowingCapacity_fffe2d" order="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SecurityDeposit" xlink:label="loc_us-gaapSecurityDeposit_7f6e1c" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_ed6e79" xlink:to="loc_us-gaapSecurityDeposit_7f6e1c" order="4" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_VolatilityRateForCompanies" xlink:label="loc_clwtVolatilityRateForCompanies_03006f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_ed6e79" xlink:to="loc_clwtVolatilityRateForCompanies_03006f" order="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtWeightedAverageInterestRate" xlink:label="loc_us-gaapDebtWeightedAverageInterestRate_7addc3" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_ed6e79" xlink:to="loc_us-gaapDebtWeightedAverageInterestRate_7addc3" order="6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LoansAssumed1" xlink:label="loc_us-gaapLoansAssumed1_d5f214" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_ed6e79" xlink:to="loc_us-gaapLoansAssumed1_d5f214" order="7" 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_ShortTermDebtInterestRateIncrease" xlink:label="loc_us-gaapShortTermDebtInterestRateIncrease_6bf5de" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_ed6e79" xlink:to="loc_us-gaapShortTermDebtInterestRateIncrease_6bf5de" order="8" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_MediumDiscountForLackOfMarketability" xlink:label="loc_clwtMediumDiscountForLackOfMarketability_3a4f57" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_ed6e79" xlink:to="loc_clwtMediumDiscountForLackOfMarketability_3a4f57" order="9" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_EarningsRatioMediumPriceDescription" xlink:label="loc_clwtEarningsRatioMediumPriceDescription_8a8093" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_ed6e79" xlink:to="loc_clwtEarningsRatioMediumPriceDescription_8a8093" order="10" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_AverageUsefulLifeOfACompany" xlink:label="loc_clwtAverageUsefulLifeOfACompany_096687" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_ed6e79" xlink:to="loc_clwtAverageUsefulLifeOfACompany_096687" order="11" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OptionsEstimatedUsefulLife" xlink:label="loc_clwtOptionsEstimatedUsefulLife_400012" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_ed6e79" xlink:to="loc_clwtOptionsEstimatedUsefulLife_400012" order="12" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_RiskFreeRateForCompany" xlink:label="loc_clwtRiskFreeRateForCompany_564044" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_ed6e79" xlink:to="loc_clwtRiskFreeRateForCompany_564044" order="13" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_DividendYieldRate" xlink:label="loc_clwtDividendYieldRate_3a261a" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_ed6e79" xlink:to="loc_clwtDividendYieldRate_3a261a" order="14" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_IntermediateLifePlantsUsefulLifes" xlink:label="loc_clwtIntermediateLifePlantsUsefulLifes_a12f2e" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_ed6e79" xlink:to="loc_clwtIntermediateLifePlantsUsefulLifes_a12f2e" order="15" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OptionsStrikePrice" xlink:label="loc_clwtOptionsStrikePrice_cfefb3" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_ed6e79" xlink:to="loc_clwtOptionsStrikePrice_cfefb3" order="16" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_FairValueOfOptions" xlink:label="loc_clwtFairValueOfOptions_f97f5d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_ed6e79" xlink:to="loc_clwtFairValueOfOptions_f97f5d" order="17" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://euro-tech.com/role/SubsequentEventsDetailsNarrative" xlink:title="995671 - Disclosure - Subsequent events (Details Narrative)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="loc_us-gaapSubsequentEventsAbstract_501495" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_923687" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsequentEventsAbstract_501495" xlink:to="loc_us-gaapStatementTable_923687" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_0ee6a1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_923687" xlink:to="loc_us-gaapStatementLineItems_0ee6a1" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="loc_us-gaapSubsequentEventTypeAxis_62ed40" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_923687" xlink:to="loc_us-gaapSubsequentEventTypeAxis_62ed40" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="loc_us-gaapSubsequentEventTypeDomain_999a37" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsequentEventTypeAxis_62ed40" xlink:to="loc_us-gaapSubsequentEventTypeDomain_999a37" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventMember" xlink:label="loc_us-gaapSubsequentEventMember_9e5402" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsequentEventTypeDomain_999a37" xlink:to="loc_us-gaapSubsequentEventMember_9e5402" order="21" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RepurchaseAgreementsInterestExpenseAmount" xlink:label="loc_us-gaapRepurchaseAgreementsInterestExpenseAmount_040544" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_0ee6a1" xlink:to="loc_us-gaapRepurchaseAgreementsInterestExpenseAmount_040544" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="loc_us-gaapStockRepurchasedDuringPeriodShares_284494" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_0ee6a1" xlink:to="loc_us-gaapStockRepurchasedDuringPeriodShares_284494" order="2" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>13
<FILENAME>clwt-20241231_def.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION DEFINITION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii" standalone="yes"?>
<!--XBRL Document Created with XBRLMaster-->
<!--Version: 2.3.08-->
<!--Based on XBRL 2.1-->
<!--Date of creation: 04/30/2025-->
<!--Software architectural design and coding: A'c Dharmapremananda Avt.-->
<!--Copyright (c) 2025 I-NET Business Solutions, Inc. All Rights Reserved.-->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef roleURI="http://euro-tech.com/role/Cover" xlink:href="clwt-20241231.xsd#Cover" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/ConsolidatedBalanceSheets" xlink:href="clwt-20241231.xsd#ConsolidatedBalanceSheets" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/ConsolidatedBalanceSheetsParenthetical" xlink:href="clwt-20241231.xsd#ConsolidatedBalanceSheetsParenthetical" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss" xlink:href="clwt-20241231.xsd#ConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows" xlink:href="clwt-20241231.xsd#ConsolidatedStatementsOfCashFlows" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity" xlink:href="clwt-20241231.xsd#ConsolidatedStatementsOfChangesInShareholdersEquity" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/OrganizationAndBusinessBackground" xlink:href="clwt-20241231.xsd#OrganizationAndBusinessBackground" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/SummaryOfSignificantAccountingPolicies" xlink:href="clwt-20241231.xsd#SummaryOfSignificantAccountingPolicies" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/SegmentInformation" xlink:href="clwt-20241231.xsd#SegmentInformation" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/AccountsReceivableNet" xlink:href="clwt-20241231.xsd#AccountsReceivableNet" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/PrepaymentsAndOtherCurrentAssets" xlink:href="clwt-20241231.xsd#PrepaymentsAndOtherCurrentAssets" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/ContractAssetsAndLiabilities" xlink:href="clwt-20241231.xsd#ContractAssetsAndLiabilities" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/Inventories" xlink:href="clwt-20241231.xsd#Inventories" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/ShortTermAndLongTermInvestments" xlink:href="clwt-20241231.xsd#ShortTermAndLongTermInvestments" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/PropertyPlantAndEquipmentNet" xlink:href="clwt-20241231.xsd#PropertyPlantAndEquipmentNet" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/IntangibleAssetsNet" xlink:href="clwt-20241231.xsd#IntangibleAssetsNet" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/LandUseRightNet" xlink:href="clwt-20241231.xsd#LandUseRightNet" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/BankBorrowings" xlink:href="clwt-20241231.xsd#BankBorrowings" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/InvestmentsInAffiliates" xlink:href="clwt-20241231.xsd#InvestmentsInAffiliates" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/Goodwill" xlink:href="clwt-20241231.xsd#Goodwill" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/OtherPayablesAndAccruedExpenses" xlink:href="clwt-20241231.xsd#OtherPayablesAndAccruedExpenses" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/OtherTaxesPayable" xlink:href="clwt-20241231.xsd#OtherTaxesPayable" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/CapitalReserve" xlink:href="clwt-20241231.xsd#CapitalReserve" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/OtherIncomeAndOtherLosses" xlink:href="clwt-20241231.xsd#OtherIncomeAndOtherLosses" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/LeaseObligations" xlink:href="clwt-20241231.xsd#LeaseObligations" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/OrdinaryShare" xlink:href="clwt-20241231.xsd#OrdinaryShare" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/TreasuryStock" xlink:href="clwt-20241231.xsd#TreasuryStock" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/PrcStatutoryReserves" xlink:href="clwt-20241231.xsd#PrcStatutoryReserves" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/OtherIncomeNet" xlink:href="clwt-20241231.xsd#OtherIncomeNet" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/IncomeTaxes" xlink:href="clwt-20241231.xsd#IncomeTaxes" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/NetIncomePerOrdinaryShare" xlink:href="clwt-20241231.xsd#NetIncomePerOrdinaryShare" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/StockOptions" xlink:href="clwt-20241231.xsd#StockOptions" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/PensionPlan" xlink:href="clwt-20241231.xsd#PensionPlan" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/RiskFactors" xlink:href="clwt-20241231.xsd#RiskFactors" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/RiskAndUncertainty" xlink:href="clwt-20241231.xsd#RiskAndUncertainty" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/RelatedPartyTransactions" xlink:href="clwt-20241231.xsd#RelatedPartyTransactions" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/CommitmentsAndContingencies" xlink:href="clwt-20241231.xsd#CommitmentsAndContingencies" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/SubsequentEvents" xlink:href="clwt-20241231.xsd#SubsequentEvents" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies" xlink:href="clwt-20241231.xsd#SummaryOfSignificantAccountingPoliciesPolicies" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/OrganizationAndBusinessBackgroundTables" xlink:href="clwt-20241231.xsd#OrganizationAndBusinessBackgroundTables" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesTables" xlink:href="clwt-20241231.xsd#SummaryOfSignificantAccountingPoliciesTables" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/SegmentInformationTables" xlink:href="clwt-20241231.xsd#SegmentInformationTables" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/AccountsReceivableNetTables" xlink:href="clwt-20241231.xsd#AccountsReceivableNetTables" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/PrepaymentsAndOtherCurrentAssetsTables" xlink:href="clwt-20241231.xsd#PrepaymentsAndOtherCurrentAssetsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/ContractAssetsAndLiabilitiesTables" xlink:href="clwt-20241231.xsd#ContractAssetsAndLiabilitiesTables" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/IntangibleAssetsNetTable" xlink:href="clwt-20241231.xsd#IntangibleAssetsNetTable" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/LandUseRightNetTable" xlink:href="clwt-20241231.xsd#LandUseRightNetTable" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/BankBorrowingsTable" xlink:href="clwt-20241231.xsd#BankBorrowingsTable" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/InventoriesTables" xlink:href="clwt-20241231.xsd#InventoriesTables" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/PropertyPlantAndEquipmentNetTables" xlink:href="clwt-20241231.xsd#PropertyPlantAndEquipmentNetTables" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/InvestmentsInAffiliatesTables" xlink:href="clwt-20241231.xsd#InvestmentsInAffiliatesTables" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/OtherPayablesAndAccruedExpensesTables" xlink:href="clwt-20241231.xsd#OtherPayablesAndAccruedExpensesTables" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/LeaseObligationsTables" xlink:href="clwt-20241231.xsd#LeaseObligationsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/OrdinaryShareTables" xlink:href="clwt-20241231.xsd#OrdinaryShareTables" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/OtherIncomeTables" xlink:href="clwt-20241231.xsd#OtherIncomeTables" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/IncomeTaxesTables" xlink:href="clwt-20241231.xsd#IncomeTaxesTables" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/OtherIncomeAndOtherLossesTable" xlink:href="clwt-20241231.xsd#OtherIncomeAndOtherLossesTable" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/NetIncomePerOrdinaryShareTables" xlink:href="clwt-20241231.xsd#NetIncomePerOrdinaryShareTables" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/StockOptionsTables" xlink:href="clwt-20241231.xsd#StockOptionsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/CommitmentsAndContingenciesTables" xlink:href="clwt-20241231.xsd#CommitmentsAndContingenciesTables" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/OrganizationAndBusinessDetails" xlink:href="clwt-20241231.xsd#OrganizationAndBusinessDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetails" xlink:href="clwt-20241231.xsd#SummaryOfSignificantAccountingPoliciesDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetails1" xlink:href="clwt-20241231.xsd#SummaryOfSignificantAccountingPoliciesDetails1" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" xlink:href="clwt-20241231.xsd#SummaryOfSignificantAccountingPoliciesDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/SegmentInformationDetails" xlink:href="clwt-20241231.xsd#SegmentInformationDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/SegmentInformationDetails1" xlink:href="clwt-20241231.xsd#SegmentInformationDetails1" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/SegmentInformationDetails2" xlink:href="clwt-20241231.xsd#SegmentInformationDetails2" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/SegmentInformationDetails3" xlink:href="clwt-20241231.xsd#SegmentInformationDetails3" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/LeaseObligationsDetails" xlink:href="clwt-20241231.xsd#LeaseObligationsDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/LeaseObligationsDetails1" xlink:href="clwt-20241231.xsd#LeaseObligationsDetails1" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/LeaseObligationsDetails2" xlink:href="clwt-20241231.xsd#LeaseObligationsDetails2" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/LeaseObligationsDetails3" xlink:href="clwt-20241231.xsd#LeaseObligationsDetails3" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/LeaseObligationsDetailsNarrative" xlink:href="clwt-20241231.xsd#LeaseObligationsDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/AccountsReceivableNetDetails" xlink:href="clwt-20241231.xsd#AccountsReceivableNetDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/AccountsReceivableNetDetails1" xlink:href="clwt-20241231.xsd#AccountsReceivableNetDetails1" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/AccountsReceivableNetDetails2" xlink:href="clwt-20241231.xsd#AccountsReceivableNetDetails2" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/PrepaymentsAndOtherCurrentAssetsDetails" xlink:href="clwt-20241231.xsd#PrepaymentsAndOtherCurrentAssetsDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails" xlink:href="clwt-20241231.xsd#ContractAssetsAndLiabilitiesDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails1" xlink:href="clwt-20241231.xsd#ContractAssetsAndLiabilitiesDetails1" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails2" xlink:href="clwt-20241231.xsd#ContractAssetsAndLiabilitiesDetails2" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails3" xlink:href="clwt-20241231.xsd#ContractAssetsAndLiabilitiesDetails3" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails4" xlink:href="clwt-20241231.xsd#ContractAssetsAndLiabilitiesDetails4" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails5" xlink:href="clwt-20241231.xsd#ContractAssetsAndLiabilitiesDetails5" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetailsNarrative" xlink:href="clwt-20241231.xsd#ContractAssetsAndLiabilitiesDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/InventoriesDetails" xlink:href="clwt-20241231.xsd#InventoriesDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/InventoriesDetailsNarrative" xlink:href="clwt-20241231.xsd#InventoriesDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/ShortTermAndLongTermInvestmentsDetailsNarrative" xlink:href="clwt-20241231.xsd#ShortTermAndLongTermInvestmentsDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/PropertyPlantAndEquipmentNetDetails" xlink:href="clwt-20241231.xsd#PropertyPlantAndEquipmentNetDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/PropertyPlantAndEquipmentNetDetails1" xlink:href="clwt-20241231.xsd#PropertyPlantAndEquipmentNetDetails1" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/PropertyPlantAndEquipmentNetDetailsNarrative" xlink:href="clwt-20241231.xsd#PropertyPlantAndEquipmentNetDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/IntangibleAssetsNetDetails" xlink:href="clwt-20241231.xsd#IntangibleAssetsNetDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/IntangibleAssetsNetDetails1" xlink:href="clwt-20241231.xsd#IntangibleAssetsNetDetails1" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/IntangibleAssetsNetDetails2" xlink:href="clwt-20241231.xsd#IntangibleAssetsNetDetails2" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/LandUseRightNetDetails" xlink:href="clwt-20241231.xsd#LandUseRightNetDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/LandUseRightNetDetails1" xlink:href="clwt-20241231.xsd#LandUseRightNetDetails1" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/LandUseRightNetDetails2" xlink:href="clwt-20241231.xsd#LandUseRightNetDetails2" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/LandUseRightNetDetailsNarrative" xlink:href="clwt-20241231.xsd#LandUseRightNetDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/BankBorrowingsDetails" xlink:href="clwt-20241231.xsd#BankBorrowingsDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/BankBorrowingsDetailsNarrative" xlink:href="clwt-20241231.xsd#BankBorrowingsDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/InvestmentsInAffiliatesDetails" xlink:href="clwt-20241231.xsd#InvestmentsInAffiliatesDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/InvestmentsInAffiliatesDetails1" xlink:href="clwt-20241231.xsd#InvestmentsInAffiliatesDetails1" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/InvestmentsInAffiliatesDetails2" xlink:href="clwt-20241231.xsd#InvestmentsInAffiliatesDetails2" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/InvestmentsInAffiliatesDetailsNarrative" xlink:href="clwt-20241231.xsd#InvestmentsInAffiliatesDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/GoodwillDetailsNarrative" xlink:href="clwt-20241231.xsd#GoodwillDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/OtherPayablesAndAccruedExpensesDetails" xlink:href="clwt-20241231.xsd#OtherPayablesAndAccruedExpensesDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/OtherTaxesPayableDetailsNarrative" xlink:href="clwt-20241231.xsd#OtherTaxesPayableDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/OtherIncomeAndOtherLossesDetails" xlink:href="clwt-20241231.xsd#OtherIncomeAndOtherLossesDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/OtherIncomeAndOtherLossesDetails1" xlink:href="clwt-20241231.xsd#OtherIncomeAndOtherLossesDetails1" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/OrdinaryShareDetails" xlink:href="clwt-20241231.xsd#OrdinaryShareDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/OrdinaryShareDetailsNarrative" xlink:href="clwt-20241231.xsd#OrdinaryShareDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/TreasuryStockDetailsNarrative" xlink:href="clwt-20241231.xsd#TreasuryStockDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/PrcStatutoryReservesDetailsNarrative" xlink:href="clwt-20241231.xsd#PrcStatutoryReservesDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/OtherIncomeNetDetails" xlink:href="clwt-20241231.xsd#OtherIncomeNetDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/IncomeTaxesDetails" xlink:href="clwt-20241231.xsd#IncomeTaxesDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/IncomeTaxesDetails1" xlink:href="clwt-20241231.xsd#IncomeTaxesDetails1" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/IncomeTaxesDetails2" xlink:href="clwt-20241231.xsd#IncomeTaxesDetails2" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/IncomeTaxesDetailsNarrative" xlink:href="clwt-20241231.xsd#IncomeTaxesDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/NetIncomePerOrdinaryShareDetails" xlink:href="clwt-20241231.xsd#NetIncomePerOrdinaryShareDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/StockOptionsDetails" xlink:href="clwt-20241231.xsd#StockOptionsDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/StockOptionsDetailsNarrative" xlink:href="clwt-20241231.xsd#StockOptionsDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/PensionPlanDetailsNarrative" xlink:href="clwt-20241231.xsd#PensionPlanDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/RiskFactorsDetailsNarrative" xlink:href="clwt-20241231.xsd#RiskFactorsDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/RiskAndUncertaintyDetailsNarrative" xlink:href="clwt-20241231.xsd#RiskAndUncertaintyDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/RelatedPartyTransactionsDetailsNarrative" xlink:href="clwt-20241231.xsd#RelatedPartyTransactionsDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/CommitmentsAndContingenciesDetails" xlink:href="clwt-20241231.xsd#CommitmentsAndContingenciesDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/CommitmentsAndContingenciesDetailsNarrative" xlink:href="clwt-20241231.xsd#CommitmentsAndContingenciesDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://euro-tech.com/role/SubsequentEventsDetailsNarrative" xlink:href="clwt-20241231.xsd#SubsequentEventsDetailsNarrative" xlink:type="simple" />
  <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension" arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension" />
  <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-domain" arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-domain" />
  <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#domain-member" arcroleURI="http://xbrl.org/int/dim/arcrole/domain-member" />
  <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all" arcroleURI="http://xbrl.org/int/dim/arcrole/all" />
  <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#notAll" arcroleURI="http://xbrl.org/int/dim/arcrole/notAll" />
  <link:arcroleRef xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-default" arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-default" />
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/Cover" xlink:title="00000001 - Document - Cover Page Information">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CoverAbstract" xlink:label="loc_deiCover" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentInformationTable" xlink:label="loc_deiDocumentInformationTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressesAddressTypeAxis" xlink:label="loc_deiEntityAddressesAddressTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_deiDocumentInformationTable" xlink:to="loc_deiEntityAddressesAddressTypeAxis" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AddressTypeDomain" xlink:label="loc_deiAddressTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_deiEntityAddressesAddressTypeAxis" xlink:to="loc_deiAddressTypeDomain" order="40" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AddressTypeDomain" xlink:label="loc_deiAddressTypeDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_deiEntityAddressesAddressTypeAxis" xlink:to="loc_deiAddressTypeDomain_10" order="50" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_BusinessContactMember" xlink:label="loc_deiBusinessContactMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_deiAddressTypeDomain" xlink:to="loc_deiBusinessContactMember" order="152" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/ConsolidatedBalanceSheets" xlink:title="110200 - Statement - CONSOLIDATED BALANCE SHEETS">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="40" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiariesMember" order="21" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsAbstract" xlink:label="loc_us-gaapAssetsAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAssetsAbstract" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="loc_us-gaapAssetsCurrentAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAssetsCurrentAbstract" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaapCashAndCashEquivalentsAtCarryingValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapCashAndCashEquivalentsAtCarryingValue" order="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedCashCurrent" xlink:label="loc_us-gaapRestrictedCashCurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapRestrictedCashCurrent" order="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNet" xlink:label="loc_us-gaapAccountsReceivableNet" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAccountsReceivableNet" order="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="loc_us-gaapPrepaidExpenseAndOtherAssetsCurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapPrepaidExpenseAndOtherAssetsCurrent" order="6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerAssetNet" xlink:label="loc_us-gaapContractWithCustomerAssetNet" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapContractWithCustomerAssetNet" order="7" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaapInventoryNet" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapInventoryNet" order="8" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrent" xlink:label="loc_us-gaapAssetsCurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAssetsCurrent" order="9" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsNoncurrentAbstract" xlink:label="loc_us-gaapAssetsNoncurrentAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAssetsNoncurrentAbstract" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaapPropertyPlantAndEquipmentNet" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapPropertyPlantAndEquipmentNet" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVentures" xlink:label="loc_us-gaapInvestmentsInAffiliatesSubsidiariesAssociatesAndJointVentures" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapInvestmentsInAffiliatesSubsidiariesAssociatesAndJointVentures" order="12" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaapGoodwill" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapGoodwill" order="13" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="loc_us-gaapOperatingLeaseRightOfUseAsset" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOperatingLeaseRightOfUseAsset" order="14" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_DeferredTaxAssets" xlink:label="loc_clwtDeferredTaxAssets" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtDeferredTaxAssets" order="15" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedCashNoncurrent" xlink:label="loc_us-gaapRestrictedCashNoncurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapRestrictedCashNoncurrent" order="16" />
    <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-gaapAssets" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAssets" order="17" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract" order="18" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="loc_us-gaapLiabilitiesCurrentAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapLiabilitiesCurrentAbstract" order="19" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermBankLoansAndNotesPayable" xlink:label="loc_us-gaapShortTermBankLoansAndNotesPayable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapShortTermBankLoansAndNotesPayable" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableCurrent" xlink:label="loc_us-gaapAccountsPayableCurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAccountsPayableCurrent" order="21" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="loc_us-gaapContractWithCustomerLiabilityCurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapContractWithCustomerLiabilityCurrent" order="22" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAccountsPayableAndAccruedLiabilities" xlink:label="loc_us-gaapOtherAccountsPayableAndAccruedLiabilities" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOtherAccountsPayableAndAccruedLiabilities" order="23" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="loc_us-gaapOperatingLeaseLiabilityCurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOperatingLeaseLiabilityCurrent" order="24" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TaxesPayableCurrent" xlink:label="loc_us-gaapTaxesPayableCurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapTaxesPayableCurrent" order="25" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrent" xlink:label="loc_us-gaapLiabilitiesCurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapLiabilitiesCurrent" order="26" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesNoncurrentAbstract" xlink:label="loc_us-gaapLiabilitiesNoncurrentAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapLiabilitiesNoncurrentAbstract" order="27" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="loc_us-gaapOperatingLeaseLiabilityNoncurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOperatingLeaseLiabilityNoncurrent" order="28" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Liabilities" xlink:label="loc_us-gaapLiabilities" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapLiabilities" order="29" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="loc_us-gaapCommitmentsAndContingencies" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapCommitmentsAndContingencies" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="loc_us-gaapStockholdersEquityAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockholdersEquityAbstract" order="31" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockValue" xlink:label="loc_us-gaapCommonStockValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapCommonStockValue" order="32" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="loc_us-gaapAdditionalPaidInCapital" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAdditionalPaidInCapital" order="33" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockValue" xlink:label="loc_us-gaapTreasuryStockValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapTreasuryStockValue" order="34" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_PRCStatutoryReserve" xlink:label="loc_clwtPRCStatutoryReserve" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtPRCStatutoryReserve" order="35" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossNetOfTax" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossNetOfTax" order="36" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="loc_us-gaapRetainedEarningsAccumulatedDeficit" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapRetainedEarningsAccumulatedDeficit" order="37" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaapStockholdersEquity" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockholdersEquity" order="38" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MinorityInterest" xlink:label="loc_us-gaapMinorityInterest" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapMinorityInterest" order="39" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapStockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" order="40" />
    <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-gaapLiabilitiesAndStockholdersEquity" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapLiabilitiesAndStockholdersEquity" order="41" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Cash" xlink:label="loc_us-gaapCash" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapCash" order="42" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Investments" xlink:label="loc_us-gaapInvestments" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapInvestments" order="43" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermInvestments" xlink:label="loc_us-gaapShortTermInvestments" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapShortTermInvestments" order="44" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherIntangibleAssetsNet" xlink:label="loc_us-gaapOtherIntangibleAssetsNet" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOtherIntangibleAssetsNet" order="45" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_LandLeaseRightOfUseAsset" xlink:label="loc_clwtLandLeaseRightOfUseAsset" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtLandLeaseRightOfUseAsset" order="46" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermInvestments" xlink:label="loc_us-gaapLongTermInvestments" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapLongTermInvestments" order="47" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsNoncurrent" xlink:label="loc_us-gaapAssetsNoncurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAssetsNoncurrent" order="48" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherBorrowings" xlink:label="loc_us-gaapOtherBorrowings" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOtherBorrowings" order="49" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ContractLiabilitiesCurrent" xlink:label="loc_clwtContractLiabilitiesCurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtContractLiabilitiesCurrent" order="50" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OtherTaxesPayableCurrentLiabilities" xlink:label="loc_clwtOtherTaxesPayableCurrentLiabilities" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtOtherTaxesPayableCurrentLiabilities" order="51" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_DeferredGovernmentGrant" xlink:label="loc_clwtDeferredGovernmentGrant" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtDeferredGovernmentGrant" order="52" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesNoncurrent" xlink:label="loc_us-gaapLiabilitiesNoncurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapLiabilitiesNoncurrent" order="53" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ShareCapital" xlink:label="loc_clwtShareCapital" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtShareCapital" order="54" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CapitalReserve" xlink:label="loc_clwtCapitalReserve" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtCapitalReserve" order="55" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatutoryAccountingPracticesStatutoryCapitalAndSurplusBalance" xlink:label="loc_us-gaapStatutoryAccountingPracticesStatutoryCapitalAndSurplusBalance" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatutoryAccountingPracticesStatutoryCapitalAndSurplusBalance" order="56" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/ConsolidatedBalanceSheetsParenthetical" xlink:title="110201 - Statement - 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_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiariesMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="loc_us-gaapCommonStockSharesAuthorized" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapCommonStockSharesAuthorized" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesIssued" xlink:label="loc_us-gaapCommonStockSharesIssued" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapCommonStockSharesIssued" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="loc_us-gaapCommonStockSharesOutstanding" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapCommonStockSharesOutstanding" order="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockCommonShares" xlink:label="loc_us-gaapTreasuryStockCommonShares" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapTreasuryStockCommonShares" order="4" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss" xlink:title="124100 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME (LOSS)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiariesMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_RevenueFromTradingAndManufacturing" xlink:label="loc_clwtRevenueFromTradingAndManufacturing" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtRevenueFromTradingAndManufacturing" order="1" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_RevenueFromEngineering" xlink:label="loc_clwtRevenueFromEngineering" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtRevenueFromEngineering" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Revenues" xlink:label="loc_us-gaapRevenues" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapRevenues" order="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfRevenueAbstract" xlink:label="loc_us-gaapCostOfRevenueAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapCostOfRevenueAbstract" order="4" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CostOfTradingAndManufacturing" xlink:label="loc_clwtCostOfTradingAndManufacturing" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtCostOfTradingAndManufacturing" order="5" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CostOfEngineering" xlink:label="loc_clwtCostOfEngineering" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtCostOfEngineering" order="6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfRevenue" xlink:label="loc_us-gaapCostOfRevenue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapCostOfRevenue" order="7" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GrossProfit" xlink:label="loc_us-gaapGrossProfit" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapGrossProfit" order="8" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingExpensesAbstract" xlink:label="loc_us-gaapOperatingExpensesAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOperatingExpensesAbstract" order="9" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_FinanceCosts" xlink:label="loc_clwtFinanceCosts" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtFinanceCosts" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="loc_us-gaapGeneralAndAdministrativeExpense" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapGeneralAndAdministrativeExpense" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainLossOnDispositionOfAssets" xlink:label="loc_us-gaapGainLossOnDispositionOfAssets" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapGainLossOnDispositionOfAssets" order="12" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingExpenses" xlink:label="loc_us-gaapOperatingExpenses" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOperatingExpenses" order="13" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLoss" xlink:label="loc_us-gaapOperatingIncomeLoss" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOperatingIncomeLoss" order="14" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:label="loc_us-gaapOtherNonoperatingIncomeExpenseAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOtherNonoperatingIncomeExpenseAbstract" order="15" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestIncomeOther" xlink:label="loc_us-gaapInterestIncomeOther" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapInterestIncomeOther" order="16" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquitySecuritiesFvNiRealizedGainLoss" xlink:label="loc_us-gaapEquitySecuritiesFvNiRealizedGainLoss" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEquitySecuritiesFvNiRealizedGainLoss" order="17" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OtherIncomeNet" xlink:label="loc_clwtOtherIncomeNet" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtOtherIncomeNet" order="18" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="loc_us-gaapOtherNonoperatingIncomeExpense" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOtherNonoperatingIncomeExpense" order="19" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaapIncomeTaxExpenseBenefit" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapIncomeTaxExpenseBenefit" order="21" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_NetIncome" xlink:label="loc_clwtNetIncome" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtNetIncome" order="22" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLossAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapNetIncomeLossAttributableToNoncontrollingInterest" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapNetIncomeLossAttributableToNoncontrollingInterest" order="23" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_NetIncomeAttributableToEuroTechHoldingsCompanyLimited" xlink:label="loc_clwtNetIncomeAttributableToEuroTechHoldingsCompanyLimited" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtNetIncomeAttributableToEuroTechHoldingsCompanyLimited" order="24" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:label="loc_us-gaapComprehensiveIncomeNetOfTaxAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapComprehensiveIncomeNetOfTaxAbstract" order="25" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapNetIncomeLoss" order="26" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="loc_us-gaapOtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" order="27" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="loc_us-gaapComprehensiveIncomeNetOfTax" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapComprehensiveIncomeNetOfTax" order="28" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest" order="29" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossTaxPortionAttributableToParent1" xlink:label="loc_us-gaapOtherComprehensiveIncomeLossTaxPortionAttributableToParent1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOtherComprehensiveIncomeLossTaxPortionAttributableToParent1" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="loc_us-gaapEarningsPerShareDiluted" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEarningsPerShareDiluted" order="31" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding" order="32" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="loc_us-gaapSellingGeneralAndAdministrativeExpense" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSellingGeneralAndAdministrativeExpense" order="33" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestExpense" xlink:label="loc_us-gaapInterestExpense" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapInterestExpense" order="34" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherIncome" xlink:label="loc_us-gaapOtherIncome" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOtherIncome" order="35" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OtherNonoperatingExpenses" xlink:label="loc_clwtOtherNonoperatingExpenses" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtOtherNonoperatingExpenses" order="36" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProfitLoss" xlink:label="loc_us-gaapProfitLoss" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapProfitLoss" order="37" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows" xlink:title="170000 - Statement - 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_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiariesMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesAbstract" order="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="loc_us-gaapProfitLoss" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapProfitLoss" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" order="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Depreciation" xlink:label="loc_us-gaapDepreciation" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapDepreciation" order="4" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_AmortizationOnRightOfUseAssets" xlink:label="loc_clwtAmortizationOnRightOfUseAssets" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtAmortizationOnRightOfUseAssets" order="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainLossOnDispositionOfAssets" xlink:label="loc_us-gaapGainLossOnDispositionOfAssets" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapGainLossOnDispositionOfAssets" order="6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensation" xlink:label="loc_us-gaapShareBasedCompensation" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapShareBasedCompensation" order="7" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_NonControllingInterestsInIncomeLossOfSubsidiaries" xlink:label="loc_clwtNonControllingInterestsInIncomeLossOfSubsidiaries" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtNonControllingInterestsInIncomeLossOfSubsidiaries" order="8" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_AdjustmentInAdvancesToAffiliatesAmountOfEquityProfit" xlink:label="loc_clwtAdjustmentInAdvancesToAffiliatesAmountOfEquityProfit" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtAdjustmentInAdvancesToAffiliatesAmountOfEquityProfit" order="9" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xlink:label="loc_us-gaapIncreaseDecreaseInDeferredIncomeTaxes" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapIncreaseDecreaseInDeferredIncomeTaxes" order="10" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ChangeInNonCurrentAssetsAndLiabilitiesAbstract" xlink:label="loc_clwtChangeInNonCurrentAssetsAndLiabilitiesAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtChangeInNonCurrentAssetsAndLiabilitiesAbstract" order="11" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_IncreaseDecreaseInOperatingLeaseLiabiltyCurrent" xlink:label="loc_clwtIncreaseDecreaseInOperatingLeaseLiabiltyCurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtIncreaseDecreaseInOperatingLeaseLiabiltyCurrent" order="12" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract" order="13" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="loc_us-gaapIncreaseDecreaseInAccountsReceivable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapIncreaseDecreaseInAccountsReceivable" order="14" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="loc_us-gaapIncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapIncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" order="15" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerAsset" xlink:label="loc_us-gaapIncreaseDecreaseInContractWithCustomerAsset" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapIncreaseDecreaseInContractWithCustomerAsset" order="16" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="loc_us-gaapIncreaseDecreaseInInventories" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapIncreaseDecreaseInInventories" order="17" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="loc_us-gaapIncreaseDecreaseInAccountsPayable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapIncreaseDecreaseInAccountsPayable" order="18" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:label="loc_us-gaapIncreaseDecreaseInContractWithCustomerLiability" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapIncreaseDecreaseInContractWithCustomerLiability" order="19" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOtherAccountsPayableAndAccruedLiabilities" xlink:label="loc_us-gaapIncreaseDecreaseInOtherAccountsPayableAndAccruedLiabilities" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapIncreaseDecreaseInOtherAccountsPayableAndAccruedLiabilities" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:label="loc_us-gaapIncreaseDecreaseInAccruedIncomeTaxesPayable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapIncreaseDecreaseInAccruedIncomeTaxesPayable" order="21" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_IncreaseDecreaseInRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:label="loc_clwtIncreaseDecreaseInRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtIncreaseDecreaseInRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" order="22" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" order="23" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract" order="24" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment" order="25" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromDividendsReceived" xlink:label="loc_us-gaapProceedsFromDividendsReceived" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapProceedsFromDividendsReceived" order="26" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" order="27" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract" order="28" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsOfDividends" xlink:label="loc_us-gaapPaymentsOfDividends" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapPaymentsOfDividends" order="29" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:label="loc_us-gaapPaymentsForRepurchaseOfCommonStock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapPaymentsForRepurchaseOfCommonStock" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromBankDebt" xlink:label="loc_us-gaapProceedsFromBankDebt" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapProceedsFromBankDebt" order="31" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RepaymentsOfBankDebt" xlink:label="loc_us-gaapRepaymentsOfBankDebt" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapRepaymentsOfBankDebt" order="32" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" order="33" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="loc_us-gaapEffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" order="34" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" order="35" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" order="36" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_RepresentedByAbstract" xlink:label="loc_clwtRepresentedByAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtRepresentedByAbstract" order="38" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_EffectOfExchangeRateOnCashCashEquivalents" xlink:label="loc_clwtEffectOfExchangeRateOnCashCashEquivalents" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtEffectOfExchangeRateOnCashCashEquivalents" order="39" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_EffectOfExchangeRateOnRestrictedCash" xlink:label="loc_clwtEffectOfExchangeRateOnRestrictedCash" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtEffectOfExchangeRateOnRestrictedCash" order="40" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCash" xlink:label="loc_clwtEffectOfExchangeRateOnCashCashEquivalentsRestrictedCash" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtEffectOfExchangeRateOnCashCashEquivalentsRestrictedCash" order="41" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="loc_us-gaapSupplementalCashFlowInformationAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSupplementalCashFlowInformationAbstract" order="42" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxesPaidNet" xlink:label="loc_us-gaapIncomeTaxesPaidNet" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapIncomeTaxesPaidNet" order="43" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestPaidNet" xlink:label="loc_us-gaapInterestPaidNet" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapInterestPaidNet" order="44" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="loc_us-gaapAmortizationOfIntangibleAssets" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAmortizationOfIntangibleAssets" order="45" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_AmortizationOfLandUseRight" xlink:label="loc_clwtAmortizationOfLandUseRight" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtAmortizationOfLandUseRight" order="46" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:label="loc_us-gaapOperatingLeaseRightOfUseAssetAmortizationExpense" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOperatingLeaseRightOfUseAssetAmortizationExpense" order="47" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CapitalizedContractCostImpairmentLoss" xlink:label="loc_us-gaapCapitalizedContractCostImpairmentLoss" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapCapitalizedContractCostImpairmentLoss" order="48" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ImpairmentLossOnShortTermInvestments" xlink:label="loc_clwtImpairmentLossOnShortTermInvestments" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtImpairmentLossOnShortTermInvestments" order="49" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainOnSaleOfInvestments" xlink:label="loc_us-gaapGainOnSaleOfInvestments" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapGainOnSaleOfInvestments" order="50" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ProceedsFromDeferredGovernmentGrant" xlink:label="loc_clwtProceedsFromDeferredGovernmentGrant" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtProceedsFromDeferredGovernmentGrant" order="51" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_PropertyPlantAndEquipmentWrittenOff" xlink:label="loc_clwtPropertyPlantAndEquipmentWrittenOff" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtPropertyPlantAndEquipmentWrittenOff" order="52" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ReversalOfAllowanceForDoubtfulAccounts" xlink:label="loc_clwtReversalOfAllowanceForDoubtfulAccounts" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtReversalOfAllowanceForDoubtfulAccounts" order="53" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_IncreaseDecreaseInDeferredGovernmentGrant" xlink:label="loc_clwtIncreaseDecreaseInDeferredGovernmentGrant" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtIncreaseDecreaseInDeferredGovernmentGrant" order="54" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_IncreaseDecreaseInOperatingLeaseRightOfUseAssets" xlink:label="loc_clwtIncreaseDecreaseInOperatingLeaseRightOfUseAssets" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtIncreaseDecreaseInOperatingLeaseRightOfUseAssets" order="55" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:label="loc_us-gaapIncreaseDecreaseInOperatingLeaseLiability" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapIncreaseDecreaseInOperatingLeaseLiability" order="56" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_IncreaseDecreaseInShortTermInvestments" xlink:label="loc_clwtIncreaseDecreaseInShortTermInvestments" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtIncreaseDecreaseInShortTermInvestments" order="57" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInPropertyAndOtherTaxesPayable" xlink:label="loc_us-gaapIncreaseDecreaseInPropertyAndOtherTaxesPayable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapIncreaseDecreaseInPropertyAndOtherTaxesPayable" order="58" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_IncreaseDecreaseInOperatingLeaseLiabilitiesCurrent" xlink:label="loc_clwtIncreaseDecreaseInOperatingLeaseLiabilitiesCurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtIncreaseDecreaseInOperatingLeaseLiabilitiesCurrent" order="59" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CapitalInjectionProceedFromInvestment" xlink:label="loc_clwtCapitalInjectionProceedFromInvestment" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtCapitalInjectionProceedFromInvestment" order="60" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment" xlink:label="loc_us-gaapProceedsFromSaleOfPropertyPlantAndEquipment" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapProceedsFromSaleOfPropertyPlantAndEquipment" order="61" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireIntangibleAssets" xlink:label="loc_us-gaapPaymentsToAcquireIntangibleAssets" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapPaymentsToAcquireIntangibleAssets" order="62" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireShortTermInvestments" xlink:label="loc_us-gaapPaymentsToAcquireShortTermInvestments" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapPaymentsToAcquireShortTermInvestments" order="63" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DividendsAndInterestPaid" xlink:label="loc_us-gaapDividendsAndInterestPaid" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapDividendsAndInterestPaid" order="64" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect" order="65" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_NonCashFinanceLeases" xlink:label="loc_clwtNonCashFinanceLeases" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtNonCashFinanceLeases" order="66" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity" xlink:title="170001 - Statement - CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS' EQUITY">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" 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_StatementEquityComponentsAxis" xlink:label="loc_us-gaapStatementEquityComponentsAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementEquityComponentsAxis" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain_10" order="40" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockMember" xlink:label="loc_us-gaapCommonStockMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapCommonStockMember" order="21" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="loc_us-gaapAdditionalPaidInCapitalMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapAdditionalPaidInCapitalMember" order="22" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="loc_us-gaapAccumulatedOtherComprehensiveIncomeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapAccumulatedOtherComprehensiveIncomeMember" order="23" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_PRCStatutoryReserveMember" xlink:label="loc_clwtPRCStatutoryReserveMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_clwtPRCStatutoryReserveMember" order="24" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsMember" xlink:label="loc_us-gaapRetainedEarningsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapRetainedEarningsMember" order="25" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NoncontrollingInterestMember" xlink:label="loc_us-gaapNoncontrollingInterestMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapNoncontrollingInterestMember" order="26" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockCommonMember" xlink:label="loc_us-gaapTreasuryStockCommonMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapTreasuryStockCommonMember" order="27" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_SubsidiaryMember" xlink:label="loc_clwtSubsidiaryMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_clwtSubsidiaryMember" order="28" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ZhejiangTianlanShareCapitalMember" xlink:label="loc_clwtZhejiangTianlanShareCapitalMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_clwtZhejiangTianlanShareCapitalMember" order="29" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ZhejiangTianlanCapitalReserveMember" xlink:label="loc_clwtZhejiangTianlanCapitalReserveMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_clwtZhejiangTianlanCapitalReserveMember" order="30" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ZhejiangTianlanPrcStatutoryReserveMember" xlink:label="loc_clwtZhejiangTianlanPrcStatutoryReserveMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_clwtZhejiangTianlanPrcStatutoryReserveMember" order="31" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ZhejiangTianlanRetainedEarningsMember" xlink:label="loc_clwtZhejiangTianlanRetainedEarningsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_clwtZhejiangTianlanRetainedEarningsMember" order="32" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ZhejiangTianlanNonControllingInterestsMember" xlink:label="loc_clwtZhejiangTianlanNonControllingInterestsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_clwtZhejiangTianlanNonControllingInterestsMember" order="33" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" xlink:label="loc_us-gaapStockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharesIssued" xlink:label="loc_us-gaapSharesIssued" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSharesIssued" order="2" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ForeignCurrencyTranslationAdjustment" xlink:label="loc_clwtForeignCurrencyTranslationAdjustment" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtForeignCurrencyTranslationAdjustment" order="3" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_AppropriationOfReserves" xlink:label="loc_clwtAppropriationOfReserves" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtAppropriationOfReserves" order="4" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_DividendPaidAmount" xlink:label="loc_clwtDividendPaidAmount" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtDividendPaidAmount" order="5" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_StockBasedCompensationExpenseAmount" xlink:label="loc_clwtStockBasedCompensationExpenseAmount" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtStockBasedCompensationExpenseAmount" order="6" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_AppropriationToStatutoryReserve" xlink:label="loc_clwtAppropriationToStatutoryReserve" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtAppropriationToStatutoryReserve" order="7" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapNetIncomeLoss" order="8" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_PurchaseSharesOfTreasuryStock" xlink:label="loc_clwtPurchaseSharesOfTreasuryStock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtPurchaseSharesOfTreasuryStock" order="9" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_DividendPaid" xlink:label="loc_clwtDividendPaid" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtDividendPaid" order="10" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/OrganizationAndBusinessBackground" xlink:title="995551 - Disclosure - Organization and Business Background">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiariesMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" xlink:label="loc_us-gaapOrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" order="1" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/SummaryOfSignificantAccountingPolicies" xlink:title="995552 - Disclosure - Summary of significant accounting policies">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiariesMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SignificantAccountingPoliciesTextBlock" xlink:label="loc_us-gaapSignificantAccountingPoliciesTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSignificantAccountingPoliciesTextBlock" order="1" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/SegmentInformation" xlink:title="995553 - Disclosure - Segment information" />
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/AccountsReceivableNet" xlink:title="995554 - Disclosure - Accounts receivable net">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiariesMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock" xlink:label="loc_us-gaapLoansNotesTradeAndOtherReceivablesDisclosureTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapLoansNotesTradeAndOtherReceivablesDisclosureTextBlock" order="1" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/PrepaymentsAndOtherCurrentAssets" xlink:title="995555 - Disclosure - Prepayments and other current assets">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiariesMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock" xlink:label="loc_us-gaapDeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapDeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock" order="1" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/ContractAssetsAndLiabilities" xlink:title="995556 - Disclosure - Contract assets and liabilities">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiariesMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ContractWithCustomerAssetAndLiabilityDisclosureTextBlock" xlink:label="loc_clwtContractWithCustomerAssetAndLiabilityDisclosureTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtContractWithCustomerAssetAndLiabilityDisclosureTextBlock" order="1" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/Inventories" xlink:title="995557 - Disclosure - Inventories">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiariesMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryDisclosureTextBlock" xlink:label="loc_us-gaapInventoryDisclosureTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapInventoryDisclosureTextBlock" order="1" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/ShortTermAndLongTermInvestments" xlink:title="995558 - Disclosure - Short-term and long-term investments">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiariesMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CashCashEquivalentsAndShortTermAndLongTermInvestmentsTextBlock" xlink:label="loc_clwtCashCashEquivalentsAndShortTermAndLongTermInvestmentsTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtCashCashEquivalentsAndShortTermAndLongTermInvestmentsTextBlock" order="1" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/PropertyPlantAndEquipmentNet" xlink:title="995559 - Disclosure - Property plant and equipment net">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiariesMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock" xlink:label="loc_us-gaapPropertyPlantAndEquipmentDisclosureTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapPropertyPlantAndEquipmentDisclosureTextBlock" order="1" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/IntangibleAssetsNet" xlink:title="995560 - Disclosure - Intangible assets, net">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiariesMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:label="loc_us-gaapIntangibleAssetsDisclosureTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapIntangibleAssetsDisclosureTextBlock" order="1" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/LandUseRightNet" xlink:title="995561 - Disclosure - Land use right, net">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiariesMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_LandUseRightNetDisclosureTextBlock" xlink:label="loc_clwtLandUseRightNetDisclosureTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtLandUseRightNetDisclosureTextBlock" order="1" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/BankBorrowings" xlink:title="995562 - Disclosure - Bank borrowings">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiariesMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_BankBorrowingsDisclosureTextBlock" xlink:label="loc_clwtBankBorrowingsDisclosureTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtBankBorrowingsDisclosureTextBlock" order="1" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/InvestmentsInAffiliates" xlink:title="995563 - Disclosure - Investments in affiliates" />
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/Goodwill" xlink:title="995564 - Disclosure - Goodwill" />
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/OtherPayablesAndAccruedExpenses" xlink:title="995565 - Disclosure - Other payables and accrued expenses">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiariesMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:label="loc_us-gaapAccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" order="1" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/OtherTaxesPayable" xlink:title="995566 - Disclosure - Other taxes payable">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiariesMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OtherTaxesPayableDisclosureTextBlock" xlink:label="loc_clwtOtherTaxesPayableDisclosureTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtOtherTaxesPayableDisclosureTextBlock" order="1" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/CapitalReserve" xlink:title="995567 - Disclosure - Capital reserve">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiariesMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CapitalReserveDisclosureTextBlock" xlink:label="loc_clwtCapitalReserveDisclosureTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtCapitalReserveDisclosureTextBlock" order="1" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/OtherIncomeAndOtherLosses" xlink:title="995568 - Disclosure - Other income and other losses">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiariesMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OtherIncomeAndOtherLossesDisclosureTextBlock" xlink:label="loc_clwtOtherIncomeAndOtherLossesDisclosureTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtOtherIncomeAndOtherLossesDisclosureTextBlock" order="1" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/LeaseObligations" xlink:title="995569 - Disclosure - Lease obligations">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiariesMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeasesOfLesseeDisclosureTextBlock" xlink:label="loc_us-gaapLeasesOfLesseeDisclosureTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapLeasesOfLesseeDisclosureTextBlock" order="1" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/OrdinaryShare" xlink:title="995570 - Disclosure - Ordinary share" />
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/TreasuryStock" xlink:title="995571 - Disclosure - Treasury stock" />
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/PrcStatutoryReserves" xlink:title="995572 - Disclosure - PRC statutory reserves" />
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/OtherIncomeNet" xlink:title="995573 - Disclosure - Other income net" />
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/IncomeTaxes" xlink:title="995574 - Disclosure - Income taxes">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiariesMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="loc_us-gaapIncomeTaxDisclosureTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapIncomeTaxDisclosureTextBlock" order="1" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/NetIncomePerOrdinaryShare" xlink:title="995575 - Disclosure - Net income per ordinary share" />
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/StockOptions" xlink:title="995576 - Disclosure - Stock options" />
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/PensionPlan" xlink:title="995577 - Disclosure - Pension plan">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiariesMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock" xlink:label="loc_us-gaapPensionAndOtherPostretirementBenefitsDisclosureTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapPensionAndOtherPostretirementBenefitsDisclosureTextBlock" order="1" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/RiskFactors" xlink:title="995578 - Disclosure - Risk factors">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiariesMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock" xlink:label="loc_us-gaapDerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapDerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock" order="1" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/RiskAndUncertainty" xlink:title="995579 - Disclosure - Risk and uncertainty" />
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/RelatedPartyTransactions" xlink:title="995580 - Disclosure - Related party transactions">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiariesMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionsDisclosureTextBlock" xlink:label="loc_us-gaapRelatedPartyTransactionsDisclosureTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapRelatedPartyTransactionsDisclosureTextBlock" order="1" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/CommitmentsAndContingencies" xlink:title="995581 - 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_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiariesMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="loc_us-gaapCommitmentsAndContingenciesDisclosureTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapCommitmentsAndContingenciesDisclosureTextBlock" order="1" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/SubsequentEvents" xlink:title="995582 - Disclosure - Subsequent events">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiariesMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventsTextBlock" xlink:label="loc_us-gaapSubsequentEventsTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSubsequentEventsTextBlock" order="1" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies" xlink:title="995583 - Disclosure - Summary of significant accounting policies (Policies)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiariesMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UseOfEstimates" xlink:label="loc_us-gaapUseOfEstimates" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapUseOfEstimates" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConsolidationPolicyTextBlock" xlink:label="loc_us-gaapConsolidationPolicyTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapConsolidationPolicyTextBlock" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConsolidationSubsidiariesOrOtherInvestmentsConsolidatedEntitiesPolicy" xlink:label="loc_us-gaapConsolidationSubsidiariesOrOtherInvestmentsConsolidatedEntitiesPolicy" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapConsolidationSubsidiariesOrOtherInvestmentsConsolidatedEntitiesPolicy" order="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestmentsPolicy" xlink:label="loc_us-gaapEquityMethodInvestmentsPolicy" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEquityMethodInvestmentsPolicy" order="4" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_NoncontrollingInterestsPolicyTextBlock" xlink:label="loc_clwtNoncontrollingInterestsPolicyTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtNoncontrollingInterestsPolicyTextBlock" order="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:label="loc_us-gaapSegmentReportingPolicyPolicyTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSegmentReportingPolicyPolicyTextBlock" order="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="loc_us-gaapRevenueRecognitionPolicyTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapRevenueRecognitionPolicyTextBlock" order="7" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:label="loc_us-gaapResearchAndDevelopmentExpensePolicy" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapResearchAndDevelopmentExpensePolicy" order="8" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdvertisingCostsPolicyTextBlock" xlink:label="loc_us-gaapAdvertisingCostsPolicyTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAdvertisingCostsPolicyTextBlock" order="9" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxPolicyTextBlock" xlink:label="loc_us-gaapIncomeTaxPolicyTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapIncomeTaxPolicyTextBlock" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsPolicyTextBlock" xlink:label="loc_us-gaapCashAndCashEquivalentsPolicyTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapCashAndCashEquivalentsPolicyTextBlock" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy" xlink:label="loc_us-gaapCashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapCashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy" order="12" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReceivablesPolicyTextBlock" xlink:label="loc_us-gaapReceivablesPolicyTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapReceivablesPolicyTextBlock" order="13" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryPolicyTextBlock" xlink:label="loc_us-gaapInventoryPolicyTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapInventoryPolicyTextBlock" order="14" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:label="loc_us-gaapPropertyPlantAndEquipmentPolicyTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapPropertyPlantAndEquipmentPolicyTextBlock" order="15" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" xlink:label="loc_us-gaapImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" order="16" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentPolicyTextBlock" xlink:label="loc_us-gaapInvestmentPolicyTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapInvestmentPolicyTextBlock" order="17" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeLeasesPolicyTextBlock" xlink:label="loc_us-gaapLesseeLeasesPolicyTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapLesseeLeasesPolicyTextBlock" order="18" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy" xlink:label="loc_us-gaapGoodwillAndIntangibleAssetsGoodwillPolicy" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapGoodwillAndIntangibleAssetsGoodwillPolicy" order="19" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" xlink:label="loc_us-gaapForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomePolicyPolicyTextBlock" xlink:label="loc_us-gaapComprehensiveIncomePolicyPolicyTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapComprehensiveIncomePolicyPolicyTextBlock" order="21" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OrdinaryShares" xlink:label="loc_clwtOrdinaryShares" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtOrdinaryShares" order="22" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerSharePolicyTextBlock" xlink:label="loc_us-gaapEarningsPerSharePolicyTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEarningsPerSharePolicyTextBlock" order="23" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:label="loc_us-gaapShareBasedCompensationOptionAndIncentivePlansPolicy" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapShareBasedCompensationOptionAndIncentivePlansPolicy" order="24" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_RelatedPartiesPolicy" xlink:label="loc_clwtRelatedPartiesPolicy" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtRelatedPartiesPolicy" order="25" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskCreditRisk" xlink:label="loc_us-gaapConcentrationRiskCreditRisk" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapConcentrationRiskCreditRisk" order="26" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_FinanceCostsPolicyTextBlock" xlink:label="loc_clwtFinanceCostsPolicyTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtFinanceCostsPolicyTextBlock" order="27" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ExtendedProductWarrantyPolicy" xlink:label="loc_us-gaapExtendedProductWarrantyPolicy" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapExtendedProductWarrantyPolicy" order="28" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ContractAssetsAndContractLiabilitiesPolicyTextBlock" xlink:label="loc_clwtContractAssetsAndContractLiabilitiesPolicyTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtContractAssetsAndContractLiabilitiesPolicyTextBlock" order="29" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShippingAndHandlingCostPolicyTextBlock" xlink:label="loc_us-gaapShippingAndHandlingCostPolicyTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapShippingAndHandlingCostPolicyTextBlock" order="30" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_RetirementPlanCostsPolicyTextBlock" xlink:label="loc_clwtRetirementPlanCostsPolicyTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtRetirementPlanCostsPolicyTextBlock" order="31" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_StatutoryReservesPolicyTextBlock" xlink:label="loc_clwtStatutoryReservesPolicyTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtStatutoryReservesPolicyTextBlock" order="32" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueMeasurementPolicyPolicyTextBlock" xlink:label="loc_us-gaapFairValueMeasurementPolicyPolicyTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapFairValueMeasurementPolicyPolicyTextBlock" order="33" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="loc_us-gaapNewAccountingPronouncementsPolicyPolicyTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapNewAccountingPronouncementsPolicyPolicyTextBlock" order="34" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Reclassifications" xlink:label="loc_us-gaapReclassifications" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapReclassifications" order="35" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:label="loc_us-gaapBasisOfPresentationAndSignificantAccountingPoliciesTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapBasisOfPresentationAndSignificantAccountingPoliciesTextBlock" order="36" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ClassificationOfContractAssetsNetAndLiabilitiesPolicyTextBlock" xlink:label="loc_clwtClassificationOfContractAssetsNetAndLiabilitiesPolicyTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtClassificationOfContractAssetsNetAndLiabilitiesPolicyTextBlock" order="37" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntangibleAssetsFiniteLivedPolicy" xlink:label="loc_us-gaapIntangibleAssetsFiniteLivedPolicy" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapIntangibleAssetsFiniteLivedPolicy" order="38" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_GovernmentGrantIncomePolicyTextBlock" xlink:label="loc_clwtGovernmentGrantIncomePolicyTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtGovernmentGrantIncomePolicyTextBlock" order="39" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ShareCapitalPolicyTextBlock" xlink:label="loc_clwtShareCapitalPolicyTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtShareCapitalPolicyTextBlock" order="40" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_NetIncomePerOrdinarySharePolicyTextBlock" xlink:label="loc_clwtNetIncomePerOrdinarySharePolicyTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtNetIncomePerOrdinarySharePolicyTextBlock" order="41" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ShippingAndHandlingCostsPolicyTextBlock" xlink:label="loc_clwtShippingAndHandlingCostsPolicyTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtShippingAndHandlingCostsPolicyTextBlock" order="42" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ShortTermAndLongTermInvestmentsPolicyTextBlock" xlink:label="loc_clwtShortTermAndLongTermInvestmentsPolicyTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtShortTermAndLongTermInvestmentsPolicyTextBlock" order="43" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_NonControllingInterestsPolicyTextBlock" xlink:label="loc_clwtNonControllingInterestsPolicyTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtNonControllingInterestsPolicyTextBlock" order="44" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/OrganizationAndBusinessBackgroundTables" xlink:title="995584 - Disclosure - Organization and Business Background (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiariesMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ScheduleOfSignificantSubsidiariesTableTextBlock" xlink:label="loc_clwtScheduleOfSignificantSubsidiariesTableTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtScheduleOfSignificantSubsidiariesTableTextBlock" order="1" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesTables" xlink:title="995585 - Disclosure - Summary of significant accounting policies (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiariesMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_PropertyPlantAndEquipmentUsefulLifeTableTextblock" xlink:label="loc_clwtPropertyPlantAndEquipmentUsefulLifeTableTextblock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtPropertyPlantAndEquipmentUsefulLifeTableTextblock" order="1" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ScheduleOfReconciliationOfBacklogRepresentingTheAmountOfRevenueTableTextBlock" xlink:label="loc_clwtScheduleOfReconciliationOfBacklogRepresentingTheAmountOfRevenueTableTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtScheduleOfReconciliationOfBacklogRepresentingTheAmountOfRevenueTableTextBlock" order="2" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/SegmentInformationTables" xlink:title="995586 - Disclosure - Segment information (Tables)" />
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/AccountsReceivableNetTables" xlink:title="995587 - Disclosure - Accounts receivable net (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiariesMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" xlink:label="loc_us-gaapScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock" xlink:label="loc_us-gaapAllowanceForCreditLossesOnFinancingReceivablesTableTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAllowanceForCreditLossesOnFinancingReceivablesTableTextBlock" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PastDueFinancingReceivablesTableTextBlock" xlink:label="loc_us-gaapPastDueFinancingReceivablesTableTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapPastDueFinancingReceivablesTableTextBlock" order="3" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/PrepaymentsAndOtherCurrentAssetsTables" xlink:title="995588 - Disclosure - Prepayments and other current assets (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiariesMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfOtherCurrentAssetsTableTextBlock" xlink:label="loc_us-gaapScheduleOfOtherCurrentAssetsTableTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapScheduleOfOtherCurrentAssetsTableTextBlock" order="1" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/ContractAssetsAndLiabilitiesTables" xlink:title="995589 - Disclosure - Contract assets and liabilities (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiariesMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:label="loc_us-gaapContractWithCustomerAssetAndLiabilityTableTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapContractWithCustomerAssetAndLiabilityTableTextBlock" order="1" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ContractWithCustomerNetAssetLiabilityPositionTableTextBlock" xlink:label="loc_clwtContractWithCustomerNetAssetLiabilityPositionTableTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtContractWithCustomerNetAssetLiabilityPositionTableTextBlock" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:label="loc_us-gaapDisaggregationOfRevenueTableTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapDisaggregationOfRevenueTableTextBlock" order="3" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/IntangibleAssetsNetTable" xlink:title="995590 - Disclosure - Intangible assets, net (Table)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiariesMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_IntangibleAssetsDisclosureTableTextBlock" xlink:label="loc_clwtIntangibleAssetsDisclosureTableTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtIntangibleAssetsDisclosureTableTextBlock" order="1" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_EstimatedFutureIntangibleAssetsAmortizationExpenseTableTextBlock" xlink:label="loc_clwtEstimatedFutureIntangibleAssetsAmortizationExpenseTableTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtEstimatedFutureIntangibleAssetsAmortizationExpenseTableTextBlock" order="2" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/LandUseRightNetTable" xlink:title="995591 - Disclosure - Land use right, net (Table)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiariesMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_LandUseRightNetTableTextBlock" xlink:label="loc_clwtLandUseRightNetTableTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtLandUseRightNetTableTextBlock" order="1" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_LandUseRightNetEstimatedFutureLandUseRightAmortizationExpenseTableTextBlock" xlink:label="loc_clwtLandUseRightNetEstimatedFutureLandUseRightAmortizationExpenseTableTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtLandUseRightNetEstimatedFutureLandUseRightAmortizationExpenseTableTextBlock" order="2" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/BankBorrowingsTable" xlink:title="995592 - Disclosure - Bank borrowings (Table)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiariesMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ScheduleOfBankBorrowingsTableTextBlock" xlink:label="loc_clwtScheduleOfBankBorrowingsTableTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtScheduleOfBankBorrowingsTableTextBlock" order="1" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/InventoriesTables" xlink:title="995593 - Disclosure - Inventories (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiariesMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="loc_us-gaapScheduleOfInventoryCurrentTableTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapScheduleOfInventoryCurrentTableTextBlock" order="1" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/PropertyPlantAndEquipmentNetTables" xlink:title="995594 - Disclosure - Property plant and equipment net (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiariesMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:label="loc_us-gaapPropertyPlantAndEquipmentTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapPropertyPlantAndEquipmentTextBlock" order="1" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/InvestmentsInAffiliatesTables" xlink:title="995595 - Disclosure - Investments in affiliates (Tables)" />
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/OtherPayablesAndAccruedExpensesTables" xlink:title="995596 - Disclosure - Other payables and accrued expenses (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiariesMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock" xlink:label="loc_us-gaapScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock" order="1" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/LeaseObligationsTables" xlink:title="995597 - Disclosure - Lease obligations (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiariesMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseCostTableTextBlock" xlink:label="loc_us-gaapLeaseCostTableTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapLeaseCostTableTextBlock" order="1" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ScheduleOfSupplementalConsolidatedBalanceSheetInformationRelatedToLeasesTableTextBlock" xlink:label="loc_clwtScheduleOfSupplementalConsolidatedBalanceSheetInformationRelatedToLeasesTableTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtScheduleOfSupplementalConsolidatedBalanceSheetInformationRelatedToLeasesTableTextBlock" order="2" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ScheduleOfSupplementalConsolidatedCashFlowInformationRelatedToLeasesTableTextBlock" xlink:label="loc_clwtScheduleOfSupplementalConsolidatedCashFlowInformationRelatedToLeasesTableTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtScheduleOfSupplementalConsolidatedCashFlowInformationRelatedToLeasesTableTextBlock" order="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock" xlink:label="loc_us-gaapScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock" order="4" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/OrdinaryShareTables" xlink:title="995598 - Disclosure - Ordinary share (Tables)" />
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/OtherIncomeTables" xlink:title="995599 - Disclosure - Other income (Tables)" />
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/IncomeTaxesTables" xlink:title="995600 - 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_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiariesMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" xlink:label="loc_us-gaapScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:label="loc_us-gaapScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" xlink:label="loc_us-gaapScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" order="3" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/OtherIncomeAndOtherLossesTable" xlink:title="995601 - Disclosure - Other income and other losses (Table)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiariesMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ScheduleOfOtherIncomeTabletextBlock" xlink:label="loc_clwtScheduleOfOtherIncomeTabletextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtScheduleOfOtherIncomeTabletextBlock" order="1" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ScheduleOfOtherLossesTabletextBlock" xlink:label="loc_clwtScheduleOfOtherLossesTabletextBlock" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtScheduleOfOtherLossesTabletextBlock" order="2" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/NetIncomePerOrdinaryShareTables" xlink:title="995602 - Disclosure - Net income per ordinary share (Tables)" />
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/StockOptionsTables" xlink:title="995603 - Disclosure - Stock options (Tables)" />
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/CommitmentsAndContingenciesTables" xlink:title="995604 - Disclosure - Commitments and contingencies (Tables)" />
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/OrganizationAndBusinessDetails" xlink:title="995605 - Disclosure - Organization and business (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" 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_SubsidiarySaleOfStockAxis" xlink:label="loc_us-gaapSubsidiarySaleOfStockAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapSubsidiarySaleOfStockAxis" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SaleOfStockNameOfTransactionDomain" xlink:label="loc_us-gaapSaleOfStockNameOfTransactionDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapSubsidiarySaleOfStockAxis" xlink:to="loc_us-gaapSaleOfStockNameOfTransactionDomain" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SaleOfStockNameOfTransactionDomain" xlink:label="loc_us-gaapSaleOfStockNameOfTransactionDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaapSubsidiarySaleOfStockAxis" xlink:to="loc_us-gaapSaleOfStockNameOfTransactionDomain_10" order="40" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="40" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="50" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:label="loc_srtScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" order="50" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="loc_srtEquityMethodInvesteeNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:to="loc_srtEquityMethodInvesteeNameDomain" order="60" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_EquityMethodInvesteeNameDomain" xlink:label="loc_srtEquityMethodInvesteeNameDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:to="loc_srtEquityMethodInvesteeNameDomain_10" order="70" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ZhejiangTianlanEnvironmentalProtectionEngineeringsMember" xlink:label="loc_clwtZhejiangTianlanEnvironmentalProtectionEngineeringsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapSaleOfStockNameOfTransactionDomain" xlink:to="loc_clwtZhejiangTianlanEnvironmentalProtectionEngineeringsMember" order="51" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ZhejiangTianlanMember" xlink:label="loc_clwtZhejiangTianlanMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_clwtZhejiangTianlanMember" order="52" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_HangzhouTianlanEnvironmenstalProtectionEquipmentCompanyLimitedMember" xlink:label="loc_clwtHangzhouTianlanEnvironmenstalProtectionEquipmentCompanyLimitedMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapSaleOfStockNameOfTransactionDomain" xlink:to="loc_clwtHangzhouTianlanEnvironmenstalProtectionEquipmentCompanyLimitedMember" order="53" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_HangzhouTianlanPureEnvironmentalProtectionTechnologyCompanysLimitedMember" xlink:label="loc_clwtHangzhouTianlanPureEnvironmentalProtectionTechnologyCompanysLimitedMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapSaleOfStockNameOfTransactionDomain" xlink:to="loc_clwtHangzhouTianlanPureEnvironmentalProtectionTechnologyCompanysLimitedMember" order="54" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_HangzhouTiancanEnvironmentalTechnologyCompanysLimitedMember" xlink:label="loc_clwtHangzhouTiancanEnvironmentalTechnologyCompanysLimitedMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapSaleOfStockNameOfTransactionDomain" xlink:to="loc_clwtHangzhouTiancanEnvironmentalTechnologyCompanysLimitedMember" order="55" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_HangzhouZhongyiEcologicalAndEnvironmentalConsultingCompanyLimitedMember" xlink:label="loc_clwtHangzhouZhongyiEcologicalAndEnvironmentalConsultingCompanyLimitedMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtEquityMethodInvesteeNameDomain" xlink:to="loc_clwtHangzhouZhongyiEcologicalAndEnvironmentalConsultingCompanyLimitedMember" order="56" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ShanghaiEuroTechsLimitedMember" xlink:label="loc_clwtShanghaiEuroTechsLimitedMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtEquityMethodInvesteeNameDomain" xlink:to="loc_clwtShanghaiEuroTechsLimitedMember" order="57" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_EuroTechTradingsLimitedMember" xlink:label="loc_clwtEuroTechTradingsLimitedMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtEquityMethodInvesteeNameDomain" xlink:to="loc_clwtEuroTechTradingsLimitedMember" order="58" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_EuroTechFarEastsLimitedMember" xlink:label="loc_clwtEuroTechFarEastsLimitedMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtEquityMethodInvesteeNameDomain" xlink:to="loc_clwtEuroTechFarEastsLimitedMember" order="59" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_PactAsiaPacificLimitedsMember" xlink:label="loc_clwtPactAsiaPacificLimitedsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtEquityMethodInvesteeNameDomain" xlink:to="loc_clwtPactAsiaPacificLimitedsMember" order="60" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_YixingPactEnvironmentalsMember" xlink:label="loc_clwtYixingPactEnvironmentalsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtEquityMethodInvesteeNameDomain" xlink:to="loc_clwtYixingPactEnvironmentalsMember" order="61" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_PactEnvironmentalTechnologyPteLtdMember" xlink:label="loc_clwtPactEnvironmentalTechnologyPteLtdMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtEquityMethodInvesteeNameDomain" xlink:to="loc_clwtPactEnvironmentalTechnologyPteLtdMember" order="62" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ZhejiangTianlanEnvironmentalProtectionTechnologyCoLtdMember" xlink:label="loc_clwtZhejiangTianlanEnvironmentalProtectionTechnologyCoLtdMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtEquityMethodInvesteeNameDomain" xlink:to="loc_clwtZhejiangTianlanEnvironmentalProtectionTechnologyCoLtdMember" order="63" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_XuanchengLanjingEnvironmentalProtectionEquipmentCoLtdMember" xlink:label="loc_clwtXuanchengLanjingEnvironmentalProtectionEquipmentCoLtdMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtEquityMethodInvesteeNameDomain" xlink:to="loc_clwtXuanchengLanjingEnvironmentalProtectionEquipmentCoLtdMember" order="64" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" xlink:label="loc_us-gaapSubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions" order="1" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_PlaceOfIncorporation" xlink:label="loc_clwtPlaceOfIncorporation" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtPlaceOfIncorporation" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityMethodInvestmentDescriptionOfPrincipalActivities" xlink:label="loc_us-gaapEquityMethodInvestmentDescriptionOfPrincipalActivities" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEquityMethodInvestmentDescriptionOfPrincipalActivities" order="3" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetails" xlink:title="995606 - Disclosure - Summary of significant accounting policies (Details)" />
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetails1" xlink:title="995607 - Disclosure - Summary of significant accounting policies (Details 1)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" 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_PropertyPlantAndEquipmentByTypeAxis" xlink:label="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:to="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaapPropertyPlantAndEquipmentTypeDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:to="loc_us-gaapPropertyPlantAndEquipmentTypeDomain_10" order="40" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis" xlink:label="loc_us-gaapPlanNameAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapPlanNameAxis" order="40" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="loc_us-gaapPlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapPlanNameAxis" xlink:to="loc_us-gaapPlanNameDomain" order="50" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="loc_us-gaapPlanNameDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaapPlanNameAxis" xlink:to="loc_us-gaapPlanNameDomain_10" order="60" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="50" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="60" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="70" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="loc_us-gaapLeaseholdImprovementsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapLeaseholdImprovementsMember" order="51" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_VehiclesMember" xlink:label="loc_us-gaapVehiclesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapVehiclesMember" order="52" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherMachineryAndEquipmentMember" xlink:label="loc_us-gaapOtherMachineryAndEquipmentMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapOtherMachineryAndEquipmentMember" order="53" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OfficerPremisesMember" xlink:label="loc_clwtOfficerPremisesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_clwtOfficerPremisesMember" order="54" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_BottomsMember" xlink:label="loc_clwtBottomsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPlanNameDomain" xlink:to="loc_clwtBottomsMember" order="55" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OfficePremisesMember" xlink:label="loc_clwtOfficePremisesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_clwtOfficePremisesMember" order="56" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_TopsMember" xlink:label="loc_clwtTopsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPlanNameDomain" xlink:to="loc_clwtTopsMember" order="57" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="loc_us-gaapFurnitureAndFixturesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapFurnitureAndFixturesMember" order="58" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiariesMember" order="59" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_LandUseRightMember" xlink:label="loc_clwtLandUseRightMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_clwtLandUseRightMember" order="60" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_PlantAndMachineriesMember" xlink:label="loc_clwtPlantAndMachineriesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_clwtPlantAndMachineriesMember" order="61" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BuildingAndBuildingImprovementsMember" xlink:label="loc_us-gaapBuildingAndBuildingImprovementsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_us-gaapBuildingAndBuildingImprovementsMember" order="62" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PublicUtilitiesPropertyPlantAndEquipmentFuelUsefulLife" xlink:label="loc_us-gaapPublicUtilitiesPropertyPlantAndEquipmentFuelUsefulLife" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapPublicUtilitiesPropertyPlantAndEquipmentFuelUsefulLife" order="1" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_PublicUtilitiesPropertyPlantAndEquipmentLeaseholdImprovementsFuelUsefulLife" xlink:label="loc_clwtPublicUtilitiesPropertyPlantAndEquipmentLeaseholdImprovementsFuelUsefulLife" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtPublicUtilitiesPropertyPlantAndEquipmentLeaseholdImprovementsFuelUsefulLife" order="2" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative" xlink:title="995608 - Disclosure - Summary of significant accounting policies (Details Narrative)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="loc_us-gaapConcentrationRiskByBenchmarkAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapConcentrationRiskByBenchmarkAxis" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="loc_us-gaapConcentrationRiskBenchmarkDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapConcentrationRiskByBenchmarkAxis" xlink:to="loc_us-gaapConcentrationRiskBenchmarkDomain" order="40" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="loc_us-gaapConcentrationRiskBenchmarkDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaapConcentrationRiskByBenchmarkAxis" xlink:to="loc_us-gaapConcentrationRiskBenchmarkDomain_10" order="50" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementBusinessSegmentsAxis" xlink:label="loc_us-gaapStatementBusinessSegmentsAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementBusinessSegmentsAxis" order="50" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentDomain" xlink:label="loc_us-gaapSegmentDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapStatementBusinessSegmentsAxis" xlink:to="loc_us-gaapSegmentDomain" order="60" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentDomain" xlink:label="loc_us-gaapSegmentDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaapStatementBusinessSegmentsAxis" xlink:to="loc_us-gaapSegmentDomain_10" order="70" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiaryIssuerMember" xlink:label="loc_srtSubsidiaryIssuerMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiaryIssuerMember" order="51" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SalesRevenueNetMember" xlink:label="loc_us-gaapSalesRevenueNetMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:to="loc_us-gaapSalesRevenueNetMember" order="52" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CustomerOneMember" xlink:label="loc_clwtCustomerOneMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapSegmentDomain" xlink:to="loc_clwtCustomerOneMember" order="53" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="loc_us-gaapResearchAndDevelopmentExpense" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapResearchAndDevelopmentExpense" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MarketingAndAdvertisingExpense" xlink:label="loc_us-gaapMarketingAndAdvertisingExpense" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapMarketingAndAdvertisingExpense" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ImpairmentOfLongLivedAssetsHeldForUse" xlink:label="loc_us-gaapImpairmentOfLongLivedAssetsHeldForUse" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapImpairmentOfLongLivedAssetsHeldForUse" order="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesIssued" xlink:label="loc_us-gaapCommonStockSharesIssued" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapCommonStockSharesIssued" order="4" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ContractWithCustomerRemainingPerformanceObligation" xlink:label="loc_clwtContractWithCustomerRemainingPerformanceObligation" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtContractWithCustomerRemainingPerformanceObligation" order="5" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_RevenueFromContractWithCustomerIncreaseDecrease" xlink:label="loc_clwtRevenueFromContractWithCustomerIncreaseDecrease" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtRevenueFromContractWithCustomerIncreaseDecrease" order="6" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ConcentrationPercentage" xlink:label="loc_clwtConcentrationPercentage" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtConcentrationPercentage" order="7" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/SegmentInformationDetails" xlink:title="995609 - Disclosure - Segment information (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductOrServiceAxis" xlink:label="loc_srtProductOrServiceAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtProductOrServiceAxis" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srtProductsAndServicesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtProductOrServiceAxis" xlink:to="loc_srtProductsAndServicesDomain" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srtProductsAndServicesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtProductOrServiceAxis" xlink:to="loc_srtProductsAndServicesDomain_10" order="40" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_TradingsAndManufacturingMember" xlink:label="loc_clwtTradingsAndManufacturingMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_clwtTradingsAndManufacturingMember" order="21" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_EngineeringsMember" xlink:label="loc_clwtEngineeringsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_clwtEngineeringsMember" order="22" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_UnallocatedCorporateExpensessMember" xlink:label="loc_clwtUnallocatedCorporateExpensessMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_clwtUnallocatedCorporateExpensessMember" order="23" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Revenues" xlink:label="loc_us-gaapRevenues" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapRevenues" order="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="loc_us-gaapOperatingIncomeLoss" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOperatingIncomeLoss" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Depreciation" xlink:label="loc_us-gaapDepreciation" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapDepreciation" order="3" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CapitalExpendituresGross" xlink:label="loc_clwtCapitalExpendituresGross" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtCapitalExpendituresGross" order="4" />
    <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-gaapAssets" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAssets" order="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Liabilities" xlink:label="loc_us-gaapLiabilities" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapLiabilities" order="6" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/SegmentInformationDetails1" xlink:title="995610 - Disclosure - Segment information (Details 1)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" 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_StatementBusinessSegmentsAxis" xlink:label="loc_us-gaapStatementBusinessSegmentsAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementBusinessSegmentsAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentDomain" xlink:label="loc_us-gaapSegmentDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapStatementBusinessSegmentsAxis" xlink:to="loc_us-gaapSegmentDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentDomain" xlink:label="loc_us-gaapSegmentDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaapStatementBusinessSegmentsAxis" xlink:to="loc_us-gaapSegmentDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ThePRCsMember" xlink:label="loc_clwtThePRCsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapSegmentDomain" xlink:to="loc_clwtThePRCsMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_HongKongsMember" xlink:label="loc_clwtHongKongsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapSegmentDomain" xlink:to="loc_clwtHongKongsMember" order="12" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OthersGeographicAreaMember" xlink:label="loc_clwtOthersGeographicAreaMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapSegmentDomain" xlink:to="loc_clwtOthersGeographicAreaMember" order="13" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Revenues" xlink:label="loc_us-gaapRevenues" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapRevenues" order="1" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_GeographicalAnalysisOfLonglivedAssets" xlink:label="loc_clwtGeographicalAnalysisOfLonglivedAssets" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtGeographicalAnalysisOfLonglivedAssets" order="2" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/SegmentInformationDetails2" xlink:title="995611 - Disclosure - Segment information (Details 2)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" 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_StatementBusinessSegmentsAxis" xlink:label="loc_us-gaapStatementBusinessSegmentsAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementBusinessSegmentsAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentDomain" xlink:label="loc_us-gaapSegmentDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapStatementBusinessSegmentsAxis" xlink:to="loc_us-gaapSegmentDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentDomain" xlink:label="loc_us-gaapSegmentDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaapStatementBusinessSegmentsAxis" xlink:to="loc_us-gaapSegmentDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_SuppliersAMember" xlink:label="loc_clwtSuppliersAMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapSegmentDomain" xlink:to="loc_clwtSuppliersAMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_SuppliersBMember" xlink:label="loc_clwtSuppliersBMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapSegmentDomain" xlink:to="loc_clwtSuppliersBMember" order="12" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_SuppliersCMember" xlink:label="loc_clwtSuppliersCMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapSegmentDomain" xlink:to="loc_clwtSuppliersCMember" order="13" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_SuppliersDMember" xlink:label="loc_clwtSuppliersDMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapSegmentDomain" xlink:to="loc_clwtSuppliersDMember" order="14" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_SuppliersEMember" xlink:label="loc_clwtSuppliersEMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapSegmentDomain" xlink:to="loc_clwtSuppliersEMember" order="15" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_SuppliersFMember" xlink:label="loc_clwtSuppliersFMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapSegmentDomain" xlink:to="loc_clwtSuppliersFMember" order="16" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskSupplier" xlink:label="loc_us-gaapConcentrationRiskSupplier" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapConcentrationRiskSupplier" order="1" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/SegmentInformationDetails3" xlink:title="995612 - Disclosure - Segment information (Details 3)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" 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_StatementBusinessSegmentsAxis" xlink:label="loc_us-gaapStatementBusinessSegmentsAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementBusinessSegmentsAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentDomain" xlink:label="loc_us-gaapSegmentDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapStatementBusinessSegmentsAxis" xlink:to="loc_us-gaapSegmentDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentDomain" xlink:label="loc_us-gaapSegmentDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaapStatementBusinessSegmentsAxis" xlink:to="loc_us-gaapSegmentDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CustomerDMember" xlink:label="loc_clwtCustomerDMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapSegmentDomain" xlink:to="loc_clwtCustomerDMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CustomerEMember" xlink:label="loc_clwtCustomerEMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapSegmentDomain" xlink:to="loc_clwtCustomerEMember" order="12" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CustomersCMember" xlink:label="loc_clwtCustomersCMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapSegmentDomain" xlink:to="loc_clwtCustomersCMember" order="13" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CustomersBMember" xlink:label="loc_clwtCustomersBMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapSegmentDomain" xlink:to="loc_clwtCustomersBMember" order="14" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CustomersAMember" xlink:label="loc_clwtCustomersAMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapSegmentDomain" xlink:to="loc_clwtCustomersAMember" order="15" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CustomerFMember" xlink:label="loc_clwtCustomerFMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapSegmentDomain" xlink:to="loc_clwtCustomerFMember" order="16" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CustomerGMember" xlink:label="loc_clwtCustomerGMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapSegmentDomain" xlink:to="loc_clwtCustomerGMember" order="17" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CustomerHMember" xlink:label="loc_clwtCustomerHMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapSegmentDomain" xlink:to="loc_clwtCustomerHMember" order="18" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CustomerIMember" xlink:label="loc_clwtCustomerIMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapSegmentDomain" xlink:to="loc_clwtCustomerIMember" order="19" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskCustomer" xlink:label="loc_us-gaapConcentrationRiskCustomer" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapConcentrationRiskCustomer" order="1" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/LeaseObligationsDetails" xlink:title="995613 - Disclosure - Lease obligations (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiaryIssuerMember" xlink:label="loc_srtSubsidiaryIssuerMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiaryIssuerMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseCost" xlink:label="loc_us-gaapOperatingLeaseCost" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOperatingLeaseCost" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermLeaseCost" xlink:label="loc_us-gaapShortTermLeaseCost" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapShortTermLeaseCost" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseInterestExpense" xlink:label="loc_us-gaapFinanceLeaseInterestExpense" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapFinanceLeaseInterestExpense" order="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinanceLeaseRightOfUseAssetAmortization" xlink:label="loc_us-gaapFinanceLeaseRightOfUseAssetAmortization" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapFinanceLeaseRightOfUseAssetAmortization" order="4" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_TotalOperatingLeaseCost" xlink:label="loc_clwtTotalOperatingLeaseCost" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtTotalOperatingLeaseCost" order="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseCost" xlink:label="loc_us-gaapLeaseCost" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapLeaseCost" order="6" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/LeaseObligationsDetails1" xlink:title="995614 - Disclosure - Lease obligations (Details 1)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiaryIssuerMember" xlink:label="loc_srtSubsidiaryIssuerMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiaryIssuerMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeasePayments" xlink:label="loc_us-gaapOperatingLeasePayments" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOperatingLeasePayments" order="1" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_FinanceLeasePayments" xlink:label="loc_clwtFinanceLeasePayments" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtFinanceLeasePayments" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:label="loc_us-gaapRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" order="3" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/LeaseObligationsDetails2" xlink:title="995615 - Disclosure - Lease obligations (Details 2)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsByMajorClassAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsByMajorClassAxis" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain" order="40" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain_10" order="50" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiaryIssuerMember" xlink:label="loc_srtSubsidiaryIssuerMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiaryIssuerMember" order="31" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_LeaseObligationsMember" xlink:label="loc_clwtLeaseObligationsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="loc_clwtLeaseObligationsMember" order="32" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="loc_us-gaapOperatingLeaseRightOfUseAsset" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOperatingLeaseRightOfUseAsset" order="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="loc_us-gaapOperatingLeaseLiabilityCurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOperatingLeaseLiabilityCurrent" order="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="loc_us-gaapOperatingLeaseLiabilityNoncurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOperatingLeaseLiabilityNoncurrent" order="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiability" xlink:label="loc_us-gaapOperatingLeaseLiability" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOperatingLeaseLiability" order="4" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_WeightedAverageRemainingLeaseTermOperatingLeases" xlink:label="loc_clwtWeightedAverageRemainingLeaseTermOperatingLeases" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtWeightedAverageRemainingLeaseTermOperatingLeases" order="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="loc_us-gaapOperatingLeaseWeightedAverageDiscountRatePercent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOperatingLeaseWeightedAverageDiscountRatePercent" order="6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="loc_us-gaapAccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" order="7" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaapPropertyPlantAndEquipmentNet" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapPropertyPlantAndEquipmentNet" order="8" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/LeaseObligationsDetails3" xlink:title="995616 - Disclosure - Lease obligations (Details 3)" />
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/LeaseObligationsDetailsNarrative" xlink:title="995617 - Disclosure - Lease obligations (Details Narrative)" />
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/AccountsReceivableNetDetails" xlink:title="995618 - Disclosure - Accounts receivable net (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiaryIssuerMember" xlink:label="loc_srtSubsidiaryIssuerMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiaryIssuerMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableGross" xlink:label="loc_us-gaapAccountsReceivableGross" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAccountsReceivableGross" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:label="loc_us-gaapAllowanceForDoubtfulAccountsReceivable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAllowanceForDoubtfulAccountsReceivable" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNet" xlink:label="loc_us-gaapAccountsReceivableNet" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAccountsReceivableNet" order="3" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/AccountsReceivableNetDetails1" xlink:title="995619 - Disclosure - Accounts receivable net (Details 1)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiaryIssuerMember" xlink:label="loc_srtSubsidiaryIssuerMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiaryIssuerMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:label="loc_us-gaapAllowanceForDoubtfulAccountsReceivable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAllowanceForDoubtfulAccountsReceivable" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivablePeriodIncreaseDecrease" xlink:label="loc_us-gaapAllowanceForDoubtfulAccountsReceivablePeriodIncreaseDecrease" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAllowanceForDoubtfulAccountsReceivablePeriodIncreaseDecrease" order="2" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ReversalOfProvisionForDoubtfulAccounts" xlink:label="loc_clwtReversalOfProvisionForDoubtfulAccounts" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtReversalOfProvisionForDoubtfulAccounts" order="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs" xlink:label="loc_us-gaapAllowanceForDoubtfulAccountsReceivableWriteOffs" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAllowanceForDoubtfulAccountsReceivableWriteOffs" order="4" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/AccountsReceivableNetDetails2" xlink:title="995620 - Disclosure - Accounts receivable net (Details 2)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis" xlink:label="loc_us-gaapAccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapAccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReceivableTypeDomain" xlink:label="loc_us-gaapReceivableTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapAccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis" xlink:to="loc_us-gaapReceivableTypeDomain" order="40" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReceivableTypeDomain" xlink:label="loc_us-gaapReceivableTypeDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaapAccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis" xlink:to="loc_us-gaapReceivableTypeDomain_10" order="50" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiaryIssuerMember" xlink:label="loc_srtSubsidiaryIssuerMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiaryIssuerMember" order="31" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CurrentsMember" xlink:label="loc_clwtCurrentsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapReceivableTypeDomain" xlink:to="loc_clwtCurrentsMember" order="32" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OneMonthsPastDueMember" xlink:label="loc_clwtOneMonthsPastDueMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapReceivableTypeDomain" xlink:to="loc_clwtOneMonthsPastDueMember" order="33" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OneToTwoMonthPastDueMember" xlink:label="loc_clwtOneToTwoMonthPastDueMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapReceivableTypeDomain" xlink:to="loc_clwtOneToTwoMonthPastDueMember" order="34" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ThreeMonthPastDueMember" xlink:label="loc_clwtThreeMonthPastDueMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapReceivableTypeDomain" xlink:to="loc_clwtThreeMonthPastDueMember" order="35" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_MoreThanThreeMonthPastDueMember" xlink:label="loc_clwtMoreThanThreeMonthPastDueMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapReceivableTypeDomain" xlink:to="loc_clwtMoreThanThreeMonthPastDueMember" order="36" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_PastDuesMember" xlink:label="loc_clwtPastDuesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapReceivableTypeDomain" xlink:to="loc_clwtPastDuesMember" order="37" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_WithinOneYearMember" xlink:label="loc_clwtWithinOneYearMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapReceivableTypeDomain" xlink:to="loc_clwtWithinOneYearMember" order="38" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OneYearToTwoYearMember" xlink:label="loc_clwtOneYearToTwoYearMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapReceivableTypeDomain" xlink:to="loc_clwtOneYearToTwoYearMember" order="39" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_TwoYearToThreeYearMember" xlink:label="loc_clwtTwoYearToThreeYearMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapReceivableTypeDomain" xlink:to="loc_clwtTwoYearToThreeYearMember" order="40" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ThreeYearsToFourYearMember" xlink:label="loc_clwtThreeYearsToFourYearMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapReceivableTypeDomain" xlink:to="loc_clwtThreeYearsToFourYearMember" order="41" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_FourYearsToFiveYearsMember" xlink:label="loc_clwtFourYearsToFiveYearsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapReceivableTypeDomain" xlink:to="loc_clwtFourYearsToFiveYearsMember" order="42" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OverfiveYearsMember" xlink:label="loc_clwtOverfiveYearsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapReceivableTypeDomain" xlink:to="loc_clwtOverfiveYearsMember" order="43" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_AllowanceForDoubtfulAccountsReceivables" xlink:label="loc_clwtAllowanceForDoubtfulAccountsReceivables" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtAllowanceForDoubtfulAccountsReceivables" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNet" xlink:label="loc_us-gaapAccountsReceivableNet" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAccountsReceivableNet" order="2" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/PrepaymentsAndOtherCurrentAssetsDetails" xlink:title="995621 - Disclosure - Prepayments and other current assets (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiaryIssuerMember" xlink:label="loc_srtSubsidiaryIssuerMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiaryIssuerMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepositAssets" xlink:label="loc_us-gaapDepositAssets" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapDepositAssets" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidExpenseCurrentAndNoncurrent" xlink:label="loc_us-gaapPrepaidExpenseCurrentAndNoncurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapPrepaidExpenseCurrentAndNoncurrent" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherReceivables" xlink:label="loc_us-gaapOtherReceivables" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOtherReceivables" order="3" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_DepositsPaidForBiddingProjectsAndTemporaryPayments" xlink:label="loc_clwtDepositsPaidForBiddingProjectsAndTemporaryPayments" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtDepositsPaidForBiddingProjectsAndTemporaryPayments" order="4" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_IncomeTaxRecoverable" xlink:label="loc_clwtIncomeTaxRecoverable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtIncomeTaxRecoverable" order="5" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OtherTaxRecoverable" xlink:label="loc_clwtOtherTaxRecoverable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtOtherTaxRecoverable" order="6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsCurrent" xlink:label="loc_us-gaapOtherAssetsCurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOtherAssetsCurrent" order="7" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidExpenseAndOtherAssets" xlink:label="loc_us-gaapPrepaidExpenseAndOtherAssets" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapPrepaidExpenseAndOtherAssets" order="8" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails" xlink:title="995622 - Disclosure - Contract assets and liabilities (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" 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_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis" xlink:label="loc_us-gaapAccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapAccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReceivablesBillingStatusDomain" xlink:label="loc_us-gaapReceivablesBillingStatusDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapAccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis" xlink:to="loc_us-gaapReceivablesBillingStatusDomain" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReceivablesBillingStatusDomain" xlink:label="loc_us-gaapReceivablesBillingStatusDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaapAccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis" xlink:to="loc_us-gaapReceivablesBillingStatusDomain_10" order="40" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="40" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="50" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UnbilledRevenuesMember" xlink:label="loc_us-gaapUnbilledRevenuesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapReceivablesBillingStatusDomain" xlink:to="loc_us-gaapUnbilledRevenuesMember" order="31" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiaryIssuerMember" xlink:label="loc_srtSubsidiaryIssuerMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiaryIssuerMember" order="32" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerAssetNet" xlink:label="loc_us-gaapContractWithCustomerAssetNet" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapContractWithCustomerAssetNet" order="1" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails1" xlink:title="995623 - Disclosure - Contract assets and liabilities (Details 1)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiaryIssuerMember" xlink:label="loc_srtSubsidiaryIssuerMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiaryIssuerMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredRevenue" xlink:label="loc_us-gaapDeferredRevenue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapDeferredRevenue" order="1" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails2" xlink:title="995624 - Disclosure - Contract assets and liabilities (Details 2)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiaryIssuerMember" xlink:label="loc_srtSubsidiaryIssuerMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiaryIssuerMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerAssetNet" xlink:label="loc_us-gaapContractWithCustomerAssetNet" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapContractWithCustomerAssetNet" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="loc_us-gaapContractWithCustomerLiability" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapContractWithCustomerLiability" order="2" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ContractWithCustomerAssetLiabilityNet" xlink:label="loc_clwtContractWithCustomerAssetLiabilityNet" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtContractWithCustomerAssetLiabilityNet" order="3" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails3" xlink:title="995625 - Disclosure - Contract assets and liabilities (Details 3)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiaryIssuerMember" xlink:label="loc_srtSubsidiaryIssuerMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiaryIssuerMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CostsIncurredInContractsInProcess" xlink:label="loc_clwtCostsIncurredInContractsInProcess" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtCostsIncurredInContractsInProcess" order="1" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_RevenueEarnedButNotYetBilled" xlink:label="loc_clwtRevenueEarnedButNotYetBilled" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtRevenueEarnedButNotYetBilled" order="2" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CostsAndEstimatedEarningsOnUncompletedContracts" xlink:label="loc_clwtCostsAndEstimatedEarningsOnUncompletedContracts" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtCostsAndEstimatedEarningsOnUncompletedContracts" order="3" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_BillingsToDate" xlink:label="loc_clwtBillingsToDate" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtBillingsToDate" order="4" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CostsAndEstimatedEarningsOnUncompletedContractsInExcessOfBillingsUnbilledRevenue" xlink:label="loc_clwtCostsAndEstimatedEarningsOnUncompletedContractsInExcessOfBillingsUnbilledRevenue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtCostsAndEstimatedEarningsOnUncompletedContractsInExcessOfBillingsUnbilledRevenue" order="5" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails4" xlink:title="995626 - Disclosure - Contract assets and liabilities (Details 4)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis" xlink:label="loc_us-gaapAccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapAccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReceivablesBillingStatusDomain" xlink:label="loc_us-gaapReceivablesBillingStatusDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapAccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis" xlink:to="loc_us-gaapReceivablesBillingStatusDomain" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReceivablesBillingStatusDomain" xlink:label="loc_us-gaapReceivablesBillingStatusDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaapAccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis" xlink:to="loc_us-gaapReceivablesBillingStatusDomain_10" order="40" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiaryIssuerMember" xlink:label="loc_srtSubsidiaryIssuerMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiaryIssuerMember" order="21" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UnbilledRevenuesMember" xlink:label="loc_us-gaapUnbilledRevenuesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapReceivablesBillingStatusDomain" xlink:to="loc_us-gaapUnbilledRevenuesMember" order="22" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BilledRevenuesMember" xlink:label="loc_us-gaapBilledRevenuesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapReceivablesBillingStatusDomain" xlink:to="loc_us-gaapBilledRevenuesMember" order="23" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerAssetGross" xlink:label="loc_us-gaapContractWithCustomerAssetGross" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapContractWithCustomerAssetGross" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss" xlink:label="loc_us-gaapContractWithCustomerAssetAccumulatedAllowanceForCreditLoss" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapContractWithCustomerAssetAccumulatedAllowanceForCreditLoss" order="2" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ContractWithCustomerAssetLiabilityNet" xlink:label="loc_clwtContractWithCustomerAssetLiabilityNet" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtContractWithCustomerAssetLiabilityNet" order="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerAssetNet" xlink:label="loc_us-gaapContractWithCustomerAssetNet" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapContractWithCustomerAssetNet" order="4" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails5" xlink:title="995627 - Disclosure - Contract assets and liabilities (Details 5)" />
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetailsNarrative" xlink:title="995628 - Disclosure - Contract assets and liabilities (Details Narrative)" />
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/InventoriesDetails" xlink:title="995629 - Disclosure - Inventories (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiaryIssuerMember" xlink:label="loc_srtSubsidiaryIssuerMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiaryIssuerMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryRawMaterialsNetOfReserves" xlink:label="loc_us-gaapInventoryRawMaterialsNetOfReserves" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapInventoryRawMaterialsNetOfReserves" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="loc_us-gaapInventoryWorkInProcessNetOfReserves" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapInventoryWorkInProcessNetOfReserves" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="loc_us-gaapInventoryFinishedGoodsNetOfReserves" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapInventoryFinishedGoodsNetOfReserves" order="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaapInventoryNet" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapInventoryNet" order="4" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/InventoriesDetailsNarrative" xlink:title="995630 - Disclosure - Inventories (Details Narrative)" />
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/ShortTermAndLongTermInvestmentsDetailsNarrative" xlink:title="995631 - Disclosure - Short-term and long-term investments (Details Narrative)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiaryIssuerMember" xlink:label="loc_srtSubsidiaryIssuerMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiaryIssuerMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherOwnershipInterestsValue" xlink:label="loc_us-gaapOtherOwnershipInterestsValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOtherOwnershipInterestsValue" order="1" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/PropertyPlantAndEquipmentNetDetails" xlink:title="995632 - Disclosure - Property plant and equipment net (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiaryIssuerMember" xlink:label="loc_srtSubsidiaryIssuerMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiaryIssuerMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BuildingsAndImprovementsGross" xlink:label="loc_us-gaapBuildingsAndImprovementsGross" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapBuildingsAndImprovementsGross" order="1" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_BuildingsGross" xlink:label="loc_clwtBuildingsGross" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtBuildingsGross" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseholdImprovementsGross" xlink:label="loc_us-gaapLeaseholdImprovementsGross" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapLeaseholdImprovementsGross" order="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FurnitureAndFixturesGross" xlink:label="loc_us-gaapFurnitureAndFixturesGross" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapFurnitureAndFixturesGross" order="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MachineryAndEquipmentGross" xlink:label="loc_us-gaapMachineryAndEquipmentGross" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapMachineryAndEquipmentGross" order="5" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_PlantAndMachineries" xlink:label="loc_clwtPlantAndMachineries" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtPlantAndMachineries" order="6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentOther" xlink:label="loc_us-gaapPropertyPlantAndEquipmentOther" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapPropertyPlantAndEquipmentOther" order="7" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="loc_us-gaapPropertyPlantAndEquipmentGross" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapPropertyPlantAndEquipmentGross" order="8" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_PropertyPlantsAndEquipmentGross" xlink:label="loc_clwtPropertyPlantsAndEquipmentGross" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtPropertyPlantsAndEquipmentGross" order="9" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="loc_us-gaapAccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" order="10" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_Accumulated" xlink:label="loc_clwtAccumulated" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtAccumulated" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaapPropertyPlantAndEquipmentNet" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapPropertyPlantAndEquipmentNet" order="12" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/PropertyPlantAndEquipmentNetDetails1" xlink:title="995633 - Disclosure - Property plant and equipment net (Details 1)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiaryIssuerMember" xlink:label="loc_srtSubsidiaryIssuerMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiaryIssuerMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DepreciationDepletionAndAmortization" xlink:label="loc_us-gaapDepreciationDepletionAndAmortization" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapDepreciationDepletionAndAmortization" order="1" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/PropertyPlantAndEquipmentNetDetailsNarrative" xlink:title="995634 - Disclosure - Property plant and equipment net (Details Narrative)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:to="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="loc_us-gaapPropertyPlantAndEquipmentTypeDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaapPropertyPlantAndEquipmentByTypeAxis" xlink:to="loc_us-gaapPropertyPlantAndEquipmentTypeDomain_10" order="40" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiaryIssuerMember" xlink:label="loc_srtSubsidiaryIssuerMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiaryIssuerMember" order="21" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_PropertyInBeijingPRCMember" xlink:label="loc_clwtPropertyInBeijingPRCMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPropertyPlantAndEquipmentTypeDomain" xlink:to="loc_clwtPropertyInBeijingPRCMember" order="22" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_BankLoans" xlink:label="loc_srtBankLoans" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_srtBankLoans" order="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="loc_us-gaapPropertyPlantAndEquipmentNet" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapPropertyPlantAndEquipmentNet" order="2" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/IntangibleAssetsNetDetails" xlink:title="995635 - Disclosure - Intangible assets, net (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiaryIssuerMember" xlink:label="loc_srtSubsidiaryIssuerMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiaryIssuerMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedPatentsGross" xlink:label="loc_us-gaapFiniteLivedPatentsGross" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapFiniteLivedPatentsGross" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherFiniteLivedIntangibleAssetsGross" xlink:label="loc_us-gaapOtherFiniteLivedIntangibleAssetsGross" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOtherFiniteLivedIntangibleAssetsGross" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsGross" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsGross" order="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAccumulatedAmortization" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAccumulatedAmortization" order="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsNet" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsNet" order="5" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/IntangibleAssetsNetDetails1" xlink:title="995636 - Disclosure - Intangible assets, net (Details 1)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiaryIssuerMember" xlink:label="loc_srtSubsidiaryIssuerMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiaryIssuerMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="loc_us-gaapAmortizationOfIntangibleAssets" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAmortizationOfIntangibleAssets" order="1" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/IntangibleAssetsNetDetails2" xlink:title="995637 - Disclosure - Intangible assets, net (Details 2)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiaryIssuerMember" xlink:label="loc_srtSubsidiaryIssuerMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiaryIssuerMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" order="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="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearThree" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearThree" order="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearFour" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearFour" order="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearFive" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseYearFive" order="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:label="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapFiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" order="6" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_FiniteLivedIntangibleAssetsAmortizationExpense" xlink:label="loc_clwtFiniteLivedIntangibleAssetsAmortizationExpense" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtFiniteLivedIntangibleAssetsAmortizationExpense" order="7" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/LandUseRightNetDetails" xlink:title="995638 - Disclosure - Land use right net (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiariesMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedContractualRightsGross" xlink:label="loc_us-gaapFiniteLivedContractualRightsGross" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapFiniteLivedContractualRightsGross" order="1" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_LandUseRightAccumulatedAmortisation" xlink:label="loc_clwtLandUseRightAccumulatedAmortisation" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtLandUseRightAccumulatedAmortisation" order="2" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_FiniteLivedIntangibleAssetContractualRightNetLandUseRight" xlink:label="loc_clwtFiniteLivedIntangibleAssetContractualRightNetLandUseRight" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtFiniteLivedIntangibleAssetContractualRightNetLandUseRight" order="3" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/LandUseRightNetDetails1" xlink:title="995639 - Disclosure - Land use right net (Details 1)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiaryIssuerMember" xlink:label="loc_srtSubsidiaryIssuerMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiaryIssuerMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccretionExpense" xlink:label="loc_us-gaapAccretionExpense" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAccretionExpense" order="1" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/LandUseRightNetDetails2" xlink:title="995640 - Disclosure - Land use right net (Details 2)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiariesMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_LandUseRightAmortizationExpenseYearTwo" xlink:label="loc_clwtLandUseRightAmortizationExpenseYearTwo" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtLandUseRightAmortizationExpenseYearTwo" order="1" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_LandUseRightAmortizationExpenseNextTwelveMonths" xlink:label="loc_clwtLandUseRightAmortizationExpenseNextTwelveMonths" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtLandUseRightAmortizationExpenseNextTwelveMonths" order="2" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_LandUseRightAmortizationExpenseYearThree" xlink:label="loc_clwtLandUseRightAmortizationExpenseYearThree" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtLandUseRightAmortizationExpenseYearThree" order="3" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_LandUseRightAmortizationExpenseYearFour" xlink:label="loc_clwtLandUseRightAmortizationExpenseYearFour" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtLandUseRightAmortizationExpenseYearFour" order="4" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_LandUseRightAmortizationExpenseYearFive" xlink:label="loc_clwtLandUseRightAmortizationExpenseYearFive" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtLandUseRightAmortizationExpenseYearFive" order="5" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_LandUseRightAmortizationExpenseThereafter" xlink:label="loc_clwtLandUseRightAmortizationExpenseThereafter" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtLandUseRightAmortizationExpenseThereafter" order="6" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_LandUseRightAmortizationExpense" xlink:label="loc_clwtLandUseRightAmortizationExpense" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtLandUseRightAmortizationExpense" order="7" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/LandUseRightNetDetailsNarrative" xlink:title="995641 - Disclosure - Land use right net (Details Narrative)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiariesMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_LandUseRightPledgedBankLoan" xlink:label="loc_clwtLandUseRightPledgedBankLoan" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtLandUseRightPledgedBankLoan" order="1" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/BankBorrowingsDetails" xlink:title="995642 - Disclosure - Bank borrowings (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentAxis" xlink:label="loc_us-gaapDebtInstrumentAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapDebtInstrumentAxis" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="loc_us-gaapDebtInstrumentNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapDebtInstrumentAxis" xlink:to="loc_us-gaapDebtInstrumentNameDomain" order="40" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="loc_us-gaapDebtInstrumentNameDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaapDebtInstrumentAxis" xlink:to="loc_us-gaapDebtInstrumentNameDomain_10" order="50" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiariesMember" order="31" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_BankLoanBorrowedByTheCompanysMember" xlink:label="loc_clwtBankLoanBorrowedByTheCompanysMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDebtInstrumentNameDomain" xlink:to="loc_clwtBankLoanBorrowedByTheCompanysMember" order="32" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_BankLoanBorrowedBySubsidiariesOfTheCompanysMember" xlink:label="loc_clwtBankLoanBorrowedBySubsidiariesOfTheCompanysMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapDebtInstrumentNameDomain" xlink:to="loc_clwtBankLoanBorrowedBySubsidiariesOfTheCompanysMember" order="33" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_BankLoans" xlink:label="loc_srtBankLoans" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_srtBankLoans" order="1" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/BankBorrowingsDetailsNarrative" xlink:title="995643 - Disclosure - Bank borrowings (Details Narrative)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis" xlink:label="loc_us-gaapPlanNameAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapPlanNameAxis" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="loc_us-gaapPlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapPlanNameAxis" xlink:to="loc_us-gaapPlanNameDomain" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="loc_us-gaapPlanNameDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaapPlanNameAxis" xlink:to="loc_us-gaapPlanNameDomain_10" order="40" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiariesMember" order="21" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_BorrowedByTheCompanyMember" xlink:label="loc_clwtBorrowedByTheCompanyMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPlanNameDomain" xlink:to="loc_clwtBorrowedByTheCompanyMember" order="22" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_BorrowedBySubsidiariesCompanyMember" xlink:label="loc_clwtBorrowedBySubsidiariesCompanyMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPlanNameDomain" xlink:to="loc_clwtBorrowedBySubsidiariesCompanyMember" order="23" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubordinatedBorrowingInterestRate" xlink:label="loc_us-gaapSubordinatedBorrowingInterestRate" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSubordinatedBorrowingInterestRate" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestPaid" xlink:label="loc_us-gaapInterestPaid" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapInterestPaid" order="2" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/InvestmentsInAffiliatesDetails" xlink:title="995644 - Disclosure - Investments in affiliates (Details)" />
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/InvestmentsInAffiliatesDetails1" xlink:title="995645 - Disclosure - Investments in affiliates (Details 1)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementScenarioAxis" xlink:label="loc_srtStatementScenarioAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtStatementScenarioAxis" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="loc_srtScenarioUnspecifiedDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtStatementScenarioAxis" xlink:to="loc_srtScenarioUnspecifiedDomain" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="loc_srtScenarioUnspecifiedDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtStatementScenarioAxis" xlink:to="loc_srtScenarioUnspecifiedDomain_10" order="40" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_BluesSkyMember" xlink:label="loc_clwtBluesSkyMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtScenarioUnspecifiedDomain" xlink:to="loc_clwtBluesSkyMember" order="21" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrent" xlink:label="loc_us-gaapAssetsCurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAssetsCurrent" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsNoncurrent" xlink:label="loc_us-gaapAssetsNoncurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAssetsNoncurrent" order="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="loc_us-gaapAssets" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAssets" order="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Liabilities" xlink:label="loc_us-gaapLiabilities" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapLiabilities" order="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="loc_us-gaapStockholdersEquity" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockholdersEquity" order="5" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/InvestmentsInAffiliatesDetails2" xlink:title="995646 - Disclosure - Investments in affiliates (Details 2)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementScenarioAxis" xlink:label="loc_srtStatementScenarioAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtStatementScenarioAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="loc_srtScenarioUnspecifiedDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtStatementScenarioAxis" xlink:to="loc_srtScenarioUnspecifiedDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="loc_srtScenarioUnspecifiedDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtStatementScenarioAxis" xlink:to="loc_srtScenarioUnspecifiedDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_BluesSkyMember" xlink:label="loc_clwtBluesSkyMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtScenarioUnspecifiedDomain" xlink:to="loc_clwtBluesSkyMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetInvestmentInLeaseSale" xlink:label="loc_us-gaapNetInvestmentInLeaseSale" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapNetInvestmentInLeaseSale" order="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="loc_us-gaapOperatingIncomeLoss" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOperatingIncomeLoss" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapNetIncomeLoss" order="3" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/InvestmentsInAffiliatesDetailsNarrative" xlink:title="995647 - Disclosure - Investments in affiliates (Details Narrative)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementScenarioAxis" xlink:label="loc_srtStatementScenarioAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtStatementScenarioAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="loc_srtScenarioUnspecifiedDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtStatementScenarioAxis" xlink:to="loc_srtScenarioUnspecifiedDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="loc_srtScenarioUnspecifiedDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtStatementScenarioAxis" xlink:to="loc_srtScenarioUnspecifiedDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_BluesSkyMember" xlink:label="loc_clwtBluesSkyMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtScenarioUnspecifiedDomain" xlink:to="loc_clwtBluesSkyMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_InterestEarningAssetsNetYield" xlink:label="loc_srtInterestEarningAssetsNetYield" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_srtInterestEarningAssetsNetYield" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermInvestments" xlink:label="loc_us-gaapLongTermInvestments" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapLongTermInvestments" order="2" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/GoodwillDetailsNarrative" xlink:title="995648 - Disclosure - Goodwill (Details Narrative)" />
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/OtherPayablesAndAccruedExpensesDetails" xlink:title="995649 - Disclosure - Other payables and accrued expenses (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiaryIssuerMember" xlink:label="loc_srtSubsidiaryIssuerMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiaryIssuerMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DividendsPayableCurrent" xlink:label="loc_us-gaapDividendsPayableCurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapDividendsPayableCurrent" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerDepositsCurrent" xlink:label="loc_us-gaapCustomerDepositsCurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapCustomerDepositsCurrent" order="2" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_RentalDepositReceived" xlink:label="loc_clwtRentalDepositReceived" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtRentalDepositReceived" order="3" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_AccruedOperatingExpenses" xlink:label="loc_clwtAccruedOperatingExpenses" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtAccruedOperatingExpenses" order="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccrualForTaxesOtherThanIncomeTaxesCurrent" xlink:label="loc_us-gaapAccrualForTaxesOtherThanIncomeTaxesCurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAccrualForTaxesOtherThanIncomeTaxesCurrent" order="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesFairValueDisclosure" xlink:label="loc_us-gaapAccountsPayableAndAccruedLiabilitiesFairValueDisclosure" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAccountsPayableAndAccruedLiabilitiesFairValueDisclosure" order="6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedBonusesCurrent" xlink:label="loc_us-gaapAccruedBonusesCurrent" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAccruedBonusesCurrent" order="7" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OutputValueAddedTax" xlink:label="loc_clwtOutputValueAddedTax" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtOutputValueAddedTax" order="8" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_DepositsReceivedAndTemporaryReceipts" xlink:label="loc_clwtDepositsReceivedAndTemporaryReceipts" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtDepositsReceivedAndTemporaryReceipts" order="9" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/OtherTaxesPayableDetailsNarrative" xlink:title="995650 - Disclosure - Other taxes payable (Details Narrative)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis" xlink:label="loc_us-gaapPlanNameAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapPlanNameAxis" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="loc_us-gaapPlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapPlanNameAxis" xlink:to="loc_us-gaapPlanNameDomain" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="loc_us-gaapPlanNameDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaapPlanNameAxis" xlink:to="loc_us-gaapPlanNameDomain_10" order="40" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiariesMember" order="21" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_BottomsMember" xlink:label="loc_clwtBottomsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPlanNameDomain" xlink:to="loc_clwtBottomsMember" order="22" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_TopsMember" xlink:label="loc_clwtTopsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPlanNameDomain" xlink:to="loc_clwtTopsMember" order="23" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ValuedAddedTaxInterestRate" xlink:label="loc_clwtValuedAddedTaxInterestRate" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtValuedAddedTaxInterestRate" order="1" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/OtherIncomeAndOtherLossesDetails" xlink:title="995651 - Disclosure - Other income and other losses (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiariesMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ImpairmentGainOnContractAssets" xlink:label="loc_clwtImpairmentGainOnContractAssets" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtImpairmentGainOnContractAssets" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentIncomeNet" xlink:label="loc_us-gaapInvestmentIncomeNet" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapInvestmentIncomeNet" order="2" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_FaitValueGainOnShortTermInvestment" xlink:label="loc_clwtFaitValueGainOnShortTermInvestment" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtFaitValueGainOnShortTermInvestment" order="3" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CompensationIncome" xlink:label="loc_clwtCompensationIncome" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtCompensationIncome" order="4" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_AmountsWaivedByPayees" xlink:label="loc_clwtAmountsWaivedByPayees" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtAmountsWaivedByPayees" order="5" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_AllowanceForDoubtfulAccountsReversal" xlink:label="loc_clwtAllowanceForDoubtfulAccountsReversal" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtAllowanceForDoubtfulAccountsReversal" order="6" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_SubsidyIncome" xlink:label="loc_clwtSubsidyIncome" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtSubsidyIncome" order="7" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherIncome" xlink:label="loc_us-gaapOtherIncome" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOtherIncome" order="8" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/OtherIncomeAndOtherLossesDetails1" xlink:title="995652 - Disclosure - Other income and other losses (Details 1)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiariesMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ImpairmentLossOnShortTermInvestments" xlink:label="loc_clwtImpairmentLossOnShortTermInvestments" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtImpairmentLossOnShortTermInvestments" order="1" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ImpairmentLossOnContractAssets" xlink:label="loc_clwtImpairmentLossOnContractAssets" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtImpairmentLossOnContractAssets" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherNonoperatingGainsLosses" xlink:label="loc_us-gaapOtherNonoperatingGainsLosses" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOtherNonoperatingGainsLosses" order="3" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/OrdinaryShareDetails" xlink:title="995653 - Disclosure - Ordinary share (Details)" />
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/OrdinaryShareDetailsNarrative" xlink:title="995654 - Disclosure - Ordinary share (Details Narrative)" />
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/TreasuryStockDetailsNarrative" xlink:title="995655 - Disclosure - Treasury stock (Details Narrative)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" 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_PlanNameAxis" xlink:label="loc_us-gaapPlanNameAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapPlanNameAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="loc_us-gaapPlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapPlanNameAxis" xlink:to="loc_us-gaapPlanNameDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="loc_us-gaapPlanNameDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaapPlanNameAxis" xlink:to="loc_us-gaapPlanNameDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_StockRepurchasePlanMember" xlink:label="loc_clwtStockRepurchasePlanMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPlanNameDomain" xlink:to="loc_clwtStockRepurchasePlanMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharesOutstanding" xlink:label="loc_us-gaapSharesOutstanding" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSharesOutstanding" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherInventoryPurchasedGoods" xlink:label="loc_us-gaapOtherInventoryPurchasedGoods" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOtherInventoryPurchasedGoods" order="2" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/PrcStatutoryReservesDetailsNarrative" xlink:title="995656 - Disclosure - PRC statutory reserves (Details Narrative)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" 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_ShortTermDebtTypeAxis" xlink:label="loc_us-gaapShortTermDebtTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapShortTermDebtTypeAxis" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermDebtTypeDomain" xlink:label="loc_us-gaapShortTermDebtTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapShortTermDebtTypeAxis" xlink:to="loc_us-gaapShortTermDebtTypeDomain" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermDebtTypeDomain" xlink:label="loc_us-gaapShortTermDebtTypeDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaapShortTermDebtTypeAxis" xlink:to="loc_us-gaapShortTermDebtTypeDomain_10" order="40" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_StatutoryReserveFundMember" xlink:label="loc_clwtStatutoryReserveFundMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtTypeDomain" xlink:to="loc_clwtStatutoryReserveFundMember" order="21" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_StatutoryStaffWelfareFundMember" xlink:label="loc_clwtStatutoryStaffWelfareFundMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtTypeDomain" xlink:to="loc_clwtStatutoryStaffWelfareFundMember" order="22" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_EnterpriseExpansionFundMember" xlink:label="loc_clwtEnterpriseExpansionFundMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShortTermDebtTypeDomain" xlink:to="loc_clwtEnterpriseExpansionFundMember" order="23" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatutoryAccountingPracticesStatutoryNetIncomeAmount" xlink:label="loc_us-gaapStatutoryAccountingPracticesStatutoryNetIncomeAmount" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatutoryAccountingPracticesStatutoryNetIncomeAmount" order="1" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_MinimumRegisteredCapitalPercentage" xlink:label="loc_clwtMinimumRegisteredCapitalPercentage" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtMinimumRegisteredCapitalPercentage" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PublicUtilitiesRequestedDebtCapitalStructurePercentage" xlink:label="loc_us-gaapPublicUtilitiesRequestedDebtCapitalStructurePercentage" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapPublicUtilitiesRequestedDebtCapitalStructurePercentage" order="3" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_StatutoryAccountingPracticesStatutoryNetIncomePercentage" xlink:label="loc_clwtStatutoryAccountingPracticesStatutoryNetIncomePercentage" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtStatutoryAccountingPracticesStatutoryNetIncomePercentage" order="4" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/OtherIncomeNetDetails" xlink:title="995657 - Disclosure - Other income net (Details)" />
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/IncomeTaxesDetails" xlink:title="995658 - Disclosure - Income taxes (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiaryIssuerMember" xlink:label="loc_srtSubsidiaryIssuerMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiaryIssuerMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CurrentTaxExpensesPrcAndHongKong" xlink:label="loc_clwtCurrentTaxExpensesPrcAndHongKong" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtCurrentTaxExpensesPrcAndHongKong" order="1" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_IncomeTaxExpensePrcEit" xlink:label="loc_clwtIncomeTaxExpensePrcEit" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtIncomeTaxExpensePrcEit" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit" xlink:label="loc_us-gaapCurrentIncomeTaxExpenseBenefit" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapCurrentIncomeTaxExpenseBenefit" order="3" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_DeferredTaxBenefitPrcAndHongKong" xlink:label="loc_clwtDeferredTaxBenefitPrcAndHongKong" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtDeferredTaxBenefitPrcAndHongKong" order="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredOtherTaxExpenseBenefit" xlink:label="loc_us-gaapDeferredOtherTaxExpenseBenefit" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapDeferredOtherTaxExpenseBenefit" order="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="loc_us-gaapDeferredIncomeTaxExpenseBenefit" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapDeferredIncomeTaxExpenseBenefit" order="6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaapIncomeTaxExpenseBenefit" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapIncomeTaxExpenseBenefit" order="7" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/IncomeTaxesDetails1" xlink:title="995659 - Disclosure - Income taxes (Details 1)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityNameAxis" xlink:label="loc_us-gaapIncomeTaxAuthorityNameAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapIncomeTaxAuthorityNameAxis" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="loc_us-gaapIncomeTaxAuthorityNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapIncomeTaxAuthorityNameAxis" xlink:to="loc_us-gaapIncomeTaxAuthorityNameDomain" order="40" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="loc_us-gaapIncomeTaxAuthorityNameDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaapIncomeTaxAuthorityNameAxis" xlink:to="loc_us-gaapIncomeTaxAuthorityNameDomain_10" order="50" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiaryIssuerMember" xlink:label="loc_srtSubsidiaryIssuerMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiaryIssuerMember" order="31" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_HongKongProfitTaxMember" xlink:label="loc_clwtHongKongProfitTaxMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapIncomeTaxAuthorityNameDomain" xlink:to="loc_clwtHongKongProfitTaxMember" order="32" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" xlink:label="loc_us-gaapIncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapIncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" order="2" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OverProvisionForIncomeTaxInPriorYears" xlink:label="loc_clwtOverProvisionForIncomeTaxInPriorYears" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtOverProvisionForIncomeTaxInPriorYears" order="3" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_TemporaryDifferences" xlink:label="loc_clwtTemporaryDifferences" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtTemporaryDifferences" order="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationNondeductibleExpense" xlink:label="loc_us-gaapIncomeTaxReconciliationNondeductibleExpense" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapIncomeTaxReconciliationNondeductibleExpense" order="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationNondeductibleExpenseResearchAndDevelopment" xlink:label="loc_us-gaapIncomeTaxReconciliationNondeductibleExpenseResearchAndDevelopment" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapIncomeTaxReconciliationNondeductibleExpenseResearchAndDevelopment" order="6" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_TaxEffectOfRevenueNotSubjectToTax" xlink:label="loc_clwtTaxEffectOfRevenueNotSubjectToTax" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtTaxEffectOfRevenueNotSubjectToTax" order="7" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationOtherAdjustments" xlink:label="loc_us-gaapIncomeTaxReconciliationOtherAdjustments" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapIncomeTaxReconciliationOtherAdjustments" order="8" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" xlink:label="loc_us-gaapIncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapIncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance" order="9" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_IncomeTaxesCreditExpenseAtEffectiveTaxRate" xlink:label="loc_clwtIncomeTaxesCreditExpenseAtEffectiveTaxRate" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtIncomeTaxesCreditExpenseAtEffectiveTaxRate" order="10" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/IncomeTaxesDetails2" xlink:title="995660 - Disclosure - Income taxes (Details 2)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiaryIssuerMember" xlink:label="loc_srtSubsidiaryIssuerMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiaryIssuerMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_DeferredTaxAssetTaxLosses" xlink:label="loc_clwtDeferredTaxAssetTaxLosses" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtDeferredTaxAssetTaxLosses" order="1" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_DeferredTaxAssetTemporaryDifferences" xlink:label="loc_clwtDeferredTaxAssetTemporaryDifferences" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtDeferredTaxAssetTemporaryDifferences" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsValuationAllowance" xlink:label="loc_us-gaapDeferredTaxAssetsValuationAllowance" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapDeferredTaxAssetsValuationAllowance" order="3" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_NetDeferredTaxAssetsLiabilities" xlink:label="loc_clwtNetDeferredTaxAssetsLiabilities" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtNetDeferredTaxAssetsLiabilities" order="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" xlink:label="loc_us-gaapDeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapDeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" order="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsDeferredIncome" xlink:label="loc_us-gaapDeferredTaxAssetsDeferredIncome" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapDeferredTaxAssetsDeferredIncome" order="6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsImpairmentLosses" xlink:label="loc_us-gaapDeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsImpairmentLosses" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapDeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsImpairmentLosses" order="7" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_DeferredtaxassetstaxdeferrechangeInFairValue" xlink:label="loc_clwtDeferredtaxassetstaxdeferrechangeInFairValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtDeferredtaxassetstaxdeferrechangeInFairValue" order="8" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_InvestmentLoss" xlink:label="loc_clwtInvestmentLoss" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtInvestmentLoss" order="9" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsNet" xlink:label="loc_us-gaapDeferredTaxAssetsNet" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapDeferredTaxAssetsNet" order="10" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/IncomeTaxesDetailsNarrative" xlink:title="995661 - Disclosure - Income taxes (Details Narrative)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" 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_SubsidiarySaleOfStockAxis" xlink:label="loc_us-gaapSubsidiarySaleOfStockAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapSubsidiarySaleOfStockAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SaleOfStockNameOfTransactionDomain" xlink:label="loc_us-gaapSaleOfStockNameOfTransactionDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapSubsidiarySaleOfStockAxis" xlink:to="loc_us-gaapSaleOfStockNameOfTransactionDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SaleOfStockNameOfTransactionDomain" xlink:label="loc_us-gaapSaleOfStockNameOfTransactionDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaapSubsidiarySaleOfStockAxis" xlink:to="loc_us-gaapSaleOfStockNameOfTransactionDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="loc_srtStatementGeographicalAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtStatementGeographicalAxis" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srtSegmentGeographicalDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtStatementGeographicalAxis" xlink:to="loc_srtSegmentGeographicalDomain" order="40" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srtSegmentGeographicalDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtStatementGeographicalAxis" xlink:to="loc_srtSegmentGeographicalDomain_10" order="50" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_ShanghaiEuroTechLimitedMember" xlink:label="loc_clwtShanghaiEuroTechLimitedMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapSaleOfStockNameOfTransactionDomain" xlink:to="loc_clwtShanghaiEuroTechLimitedMember" order="31" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_YixingPactEnvironmentalTechnologyCoLtdMember" xlink:label="loc_clwtYixingPactEnvironmentalTechnologyCoLtdMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapSaleOfStockNameOfTransactionDomain" xlink:to="loc_clwtYixingPactEnvironmentalTechnologyCoLtdMember" order="32" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_EuroTechTradingShanghaiLimitedMember" xlink:label="loc_clwtEuroTechTradingShanghaiLimitedMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapSaleOfStockNameOfTransactionDomain" xlink:to="loc_clwtEuroTechTradingShanghaiLimitedMember" order="33" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_HKMember" xlink:label="loc_clwtHKMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_clwtHKMember" order="34" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="loc_us-gaapEffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" order="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="loc_us-gaapProfitLoss" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapProfitLoss" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UndistributedEarningsDiluted" xlink:label="loc_us-gaapUndistributedEarningsDiluted" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapUndistributedEarningsDiluted" order="3" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/NetIncomePerOrdinaryShareDetails" xlink:title="995662 - Disclosure - Net income per ordinary share (Details)" />
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/StockOptionsDetails" xlink:title="995663 - Disclosure - Stock options (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" 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_FinancialInstrumentAxis" xlink:label="loc_us-gaapFinancialInstrumentAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapFinancialInstrumentAxis" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:label="loc_us-gaapTransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapFinancialInstrumentAxis" xlink:to="loc_us-gaapTransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:label="loc_us-gaapTransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaapFinancialInstrumentAxis" xlink:to="loc_us-gaapTransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_10" order="40" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockOptionMember" xlink:label="loc_us-gaapStockOptionMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapTransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="loc_us-gaapStockOptionMember" order="21" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" order="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:label="loc_us-gaapWeightedAverageNumberDilutedSharesOutstandingAdjustment" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapWeightedAverageNumberDilutedSharesOutstandingAdjustment" order="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" order="6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" order="7" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" order="8" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice" order="9" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BasicEarningsPerShareAdjustmentProForma" xlink:label="loc_us-gaapBasicEarningsPerShareAdjustmentProForma" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapBasicEarningsPerShareAdjustmentProForma" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" order="12" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/StockOptionsDetailsNarrative" xlink:title="995664 - Disclosure - Stock options (Details Narrative)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" 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_PlanNameAxis" xlink:label="loc_us-gaapPlanNameAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapPlanNameAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="loc_us-gaapPlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapPlanNameAxis" xlink:to="loc_us-gaapPlanNameDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="loc_us-gaapPlanNameDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaapPlanNameAxis" xlink:to="loc_us-gaapPlanNameDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_TwoThousandTwentyNineStockOptionAndIncentivePlanMember" xlink:label="loc_clwtTwoThousandTwentyNineStockOptionAndIncentivePlanMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPlanNameDomain" xlink:to="loc_clwtTwoThousandTwentyNineStockOptionAndIncentivePlanMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsDiscountForPostvestingRestrictions" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsDiscountForPostvestingRestrictions" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsDiscountForPostvestingRestrictions" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:label="loc_us-gaapWeightedAverageNumberDilutedSharesOutstandingAdjustment" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapWeightedAverageNumberDilutedSharesOutstandingAdjustment" order="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="loc_us-gaapStockRepurchasedDuringPeriodShares" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockRepurchasedDuringPeriodShares" order="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" order="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensation" xlink:label="loc_us-gaapShareBasedCompensation" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapShareBasedCompensation" order="6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" order="7" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum" order="8" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" order="9" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/PensionPlanDetailsNarrative" xlink:title="995665 - Disclosure - Pension plan (Details Narrative)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis" xlink:label="loc_us-gaapPlanNameAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapPlanNameAxis" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="loc_us-gaapPlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapPlanNameAxis" xlink:to="loc_us-gaapPlanNameDomain" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="loc_us-gaapPlanNameDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaapPlanNameAxis" xlink:to="loc_us-gaapPlanNameDomain_10" order="40" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiaryIssuerMember" xlink:label="loc_srtSubsidiaryIssuerMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiaryIssuerMember" order="21" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiariesMember" order="22" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_BottomsMember" xlink:label="loc_clwtBottomsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPlanNameDomain" xlink:to="loc_clwtBottomsMember" order="23" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_TopsMember" xlink:label="loc_clwtTopsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPlanNameDomain" xlink:to="loc_clwtTopsMember" order="24" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_EmployeesPensionPlanDescription" xlink:label="loc_clwtEmployeesPensionPlanDescription" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtEmployeesPensionPlanDescription" order="1" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_PensionSchemeBasicSalaryPercentage" xlink:label="loc_clwtPensionSchemeBasicSalaryPercentage" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtPensionSchemeBasicSalaryPercentage" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PensionContributions" xlink:label="loc_us-gaapPensionContributions" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapPensionContributions" order="3" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/RiskFactorsDetailsNarrative" xlink:title="995666 - Disclosure - Risk factors (Details Narrative)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductOrServiceAxis" xlink:label="loc_srtProductOrServiceAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtProductOrServiceAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srtProductsAndServicesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtProductOrServiceAxis" xlink:to="loc_srtProductsAndServicesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srtProductsAndServicesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtProductOrServiceAxis" xlink:to="loc_srtProductsAndServicesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="40" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="loc_srtStatementGeographicalAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtStatementGeographicalAxis" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srtSegmentGeographicalDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtStatementGeographicalAxis" xlink:to="loc_srtSegmentGeographicalDomain" order="40" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srtSegmentGeographicalDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtStatementGeographicalAxis" xlink:to="loc_srtSegmentGeographicalDomain_10" order="50" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_HongKongAndPRCMember" xlink:label="loc_clwtHongKongAndPRCMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_clwtHongKongAndPRCMember" order="31" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiariesMember" order="32" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_CNMember" xlink:label="loc_clwtCNMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_clwtCNMember" order="33" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskCreditRiskFinancialInstrumentMaximumExposure" xlink:label="loc_us-gaapConcentrationRiskCreditRiskFinancialInstrumentMaximumExposure" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapConcentrationRiskCreditRiskFinancialInstrumentMaximumExposure" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedCash" xlink:label="loc_us-gaapRestrictedCash" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapRestrictedCash" order="2" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/RiskAndUncertaintyDetailsNarrative" xlink:title="995667 - Disclosure - Risk and uncertainty (Details Narrative)" />
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/RelatedPartyTransactionsDetailsNarrative" xlink:title="995668 - Disclosure - Related party transactions (Details Narrative)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesAxis" xlink:label="loc_srtConsolidatedEntitiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtConsolidatedEntitiesAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ConsolidatedEntitiesDomain" xlink:label="loc_srtConsolidatedEntitiesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtConsolidatedEntitiesAxis" xlink:to="loc_srtConsolidatedEntitiesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductOrServiceAxis" xlink:label="loc_srtProductOrServiceAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtProductOrServiceAxis" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srtProductsAndServicesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtProductOrServiceAxis" xlink:to="loc_srtProductsAndServicesDomain" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srtProductsAndServicesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtProductOrServiceAxis" xlink:to="loc_srtProductsAndServicesDomain_10" order="40" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SubsidiariesMember" xlink:label="loc_srtSubsidiariesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtConsolidatedEntitiesDomain" xlink:to="loc_srtSubsidiariesMember" order="21" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_EngineeringServiceMember" xlink:label="loc_clwtEngineeringServiceMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_clwtEngineeringServiceMember" order="22" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Investments" xlink:label="loc_us-gaapInvestments" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapInvestments" order="1" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_Remuneration" xlink:label="loc_clwtRemuneration" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtRemuneration" order="2" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/CommitmentsAndContingenciesDetails" xlink:title="995669 - Disclosure - Commitments and contingencies (Details)" />
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/CommitmentsAndContingenciesDetailsNarrative" xlink:title="995670 - Disclosure - Commitments and contingencies (Details Narrative)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" 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_RelatedPartyTransactionAxis" xlink:label="loc_us-gaapRelatedPartyTransactionAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapRelatedPartyTransactionAxis" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionDomain" xlink:label="loc_us-gaapRelatedPartyTransactionDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapRelatedPartyTransactionAxis" xlink:to="loc_us-gaapRelatedPartyTransactionDomain" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RelatedPartyTransactionDomain" xlink:label="loc_us-gaapRelatedPartyTransactionDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaapRelatedPartyTransactionAxis" xlink:to="loc_us-gaapRelatedPartyTransactionDomain_10" order="40" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_PactAsiaPacificLimitedMember" xlink:label="loc_clwtPactAsiaPacificLimitedMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapRelatedPartyTransactionDomain" xlink:to="loc_clwtPactAsiaPacificLimitedMember" order="21" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_UtilisedForIssuanceOfBankGuarantees" xlink:label="loc_clwtUtilisedForIssuanceOfBankGuarantees" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtUtilisedForIssuanceOfBankGuarantees" order="1" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_TangibleNetWorth" xlink:label="loc_clwtTangibleNetWorth" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtTangibleNetWorth" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" xlink:label="loc_us-gaapLineOfCreditFacilityCurrentBorrowingCapacity" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapLineOfCreditFacilityCurrentBorrowingCapacity" order="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SecurityDeposit" xlink:label="loc_us-gaapSecurityDeposit" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSecurityDeposit" order="4" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_VolatilityRateForCompanies" xlink:label="loc_clwtVolatilityRateForCompanies" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtVolatilityRateForCompanies" order="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtWeightedAverageInterestRate" xlink:label="loc_us-gaapDebtWeightedAverageInterestRate" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapDebtWeightedAverageInterestRate" order="6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LoansAssumed1" xlink:label="loc_us-gaapLoansAssumed1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapLoansAssumed1" order="7" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermDebtInterestRateIncrease" xlink:label="loc_us-gaapShortTermDebtInterestRateIncrease" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapShortTermDebtInterestRateIncrease" order="8" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_MediumDiscountForLackOfMarketability" xlink:label="loc_clwtMediumDiscountForLackOfMarketability" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtMediumDiscountForLackOfMarketability" order="9" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_EarningsRatioMediumPriceDescription" xlink:label="loc_clwtEarningsRatioMediumPriceDescription" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtEarningsRatioMediumPriceDescription" order="10" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_AverageUsefulLifeOfACompany" xlink:label="loc_clwtAverageUsefulLifeOfACompany" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtAverageUsefulLifeOfACompany" order="11" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OptionsEstimatedUsefulLife" xlink:label="loc_clwtOptionsEstimatedUsefulLife" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtOptionsEstimatedUsefulLife" order="12" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_RiskFreeRateForCompany" xlink:label="loc_clwtRiskFreeRateForCompany" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtRiskFreeRateForCompany" order="13" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_DividendYieldRate" xlink:label="loc_clwtDividendYieldRate" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtDividendYieldRate" order="14" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_IntermediateLifePlantsUsefulLifes" xlink:label="loc_clwtIntermediateLifePlantsUsefulLifes" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtIntermediateLifePlantsUsefulLifes" order="15" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_OptionsStrikePrice" xlink:label="loc_clwtOptionsStrikePrice" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtOptionsStrikePrice" order="16" />
    <link:loc xlink:type="locator" xlink:href="clwt-20241231.xsd#clwt_FairValueOfOptions" xlink:label="loc_clwtFairValueOfOptions" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_clwtFairValueOfOptions" order="17" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://euro-tech.com/role/SubsequentEventsDetailsNarrative" xlink:title="995671 - Disclosure - Subsequent events (Details Narrative)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" 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_SubsequentEventTypeAxis" xlink:label="loc_us-gaapSubsequentEventTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapSubsequentEventTypeAxis" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="loc_us-gaapSubsequentEventTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapSubsequentEventTypeAxis" xlink:to="loc_us-gaapSubsequentEventTypeDomain" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="loc_us-gaapSubsequentEventTypeDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaapSubsequentEventTypeAxis" xlink:to="loc_us-gaapSubsequentEventTypeDomain_10" order="40" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventMember" xlink:label="loc_us-gaapSubsequentEventMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapSubsequentEventTypeDomain" xlink:to="loc_us-gaapSubsequentEventMember" order="21" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RepurchaseAgreementsInterestExpenseAmount" xlink:label="loc_us-gaapRepurchaseAgreementsInterestExpenseAmount" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapRepurchaseAgreementsInterestExpenseAmount" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="loc_us-gaapStockRepurchasedDuringPeriodShares" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockRepurchasedDuringPeriodShares" order="2" />
  </link:definitionLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>14
<FILENAME>clwt_20fimg1.jpg
<TEXT>
begin 644 clwt_20fimg1.jpg
M_]C_X  02D9)1@ ! 0$ 8 !@  #_VP!#  4$! 0$ P4$! 0&!04&" T(" <'
M"! +# D-$Q 4$Q(0$A(4%QT9%!8<%A(2&B,:'!X?(2$A%!DD)R0@)AT@(2#_
MVP!# 04&!@@'" \(" \@%1(5(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @("#_P  1" $* FX# 2(  A$! Q$!_\0
M'P   04! 0$! 0$           $" P0%!@<("0H+_\0 M1   @$# P($ P4%
M! 0   %] 0(#  01!1(A,4$&$U%A!R)Q%#*!D:$((T*QP152T? D,V)R@@D*
M%A<8&1HE)B<H*2HT-38W.#DZ0T1%1D=(24I35%565UA96F-D969G:&EJ<W1U
M=G=X>7J#A(6&AXB)BI*3E)66EYB9FJ*CI*6FIZBIJK*SM+6VM[BYNL+#Q,7&
MQ\C)RM+3U-76U]C9VN'BX^3EYN?HZ>KQ\O/T]?;W^/GZ_\0 'P$  P$! 0$!
M 0$! 0        $" P0%!@<("0H+_\0 M1$  @$"! 0#! <%! 0  0)W  $"
M Q$$!2$Q!A)!40=A<1,B,H$(%$*1H;'!"2,S4O 58G+1"A8D-.$E\1<8&1HF
M)R@I*C4V-S@Y.D-$149'2$E*4U155E=865IC9&5F9VAI:G-T=79W>'EZ@H.$
MA8:'B(F*DI.4E9:7F)F:HJ.DI::GJ*FJLK.TM;:WN+FZPL/$Q<;'R,G*TM/4
MU=;7V-G:XN/DY>;GZ.GJ\O/T]?;W^/GZ_]H # ,!  (1 Q$ /P#[+HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHKG/$VM3:#HWV^UL1>W#7$%M% TWE*SRRK&,O@X +Y/!Z4
M ='17)?VIX__ .A-TK_P=M_\CTO]J^/_ /H3=)_\';?_ "/0!UE%<G_:OC__
M *$W2?\ P=M_\CT?VKX__P"A-TG_ ,';?_(] '645R?]J^/_ /H3=)_\';?_
M "/1_:OC_P#Z$W2?_!VW_P CT =917)_VKX__P"A-TG_ ,';?_(]']J^/_\
MH3=)_P#!VW_R/0!UE%<G_:OC_P#Z$W2?_!VW_P CT?VKX_\ ^A-TG_P=M_\
M(] '645R?]J^/_\ H3=)_P#!VW_R/5GPOK5QKFC/>7=BMA<Q74]I+"LWG*KQ
M2M&2'VKD$KGH.M '1T444 %%%% !1110 4444 %%%% !1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%
M%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444
M4 %%%% !7)_$#_D6[/\ ["^G?^ED5=97)_$#_D6[/_L+Z=_Z614 =97):IXL
M73?%MMX=^P&62>W%RLIG5,CS A55/+,,@X[UUM<MKFG^'[>ZD\5:N\EH]M;B
M&2X%S)&OE;MVPJIPV6QQ@D\#VH 8GCKPNRHRZNA5T\T$Q2#Y-BON/R\#:ZG)
M]0.M.U7Q;;6?AR?7M-MVU.VMW9)E5Q$T95MK A\$,#Q@XK,L_#/@=D*G39+0
MS(]I]GNY98_,5T4% KMAOE5,8Z;1C&*NRV/@^ZT"ZT-KV!["?,EP%O2'D.X%
MF9PVXDDC)SW% %C_ (3#1H+I]/OKR.VU*)-TMFI,KH>/E&T'<?F4X'.".*9I
M?B^QU8:I';*WVJR:8"!B0941BH<$C&"1^&>:JW&D>#[J2YNIIK?S;DQ7<DB7
MS(=RX$<PVN-I.%&\8)& 2:EL=+\*Q7]S)ILR//=K+#)LOG<GS/WKA1O."?O<
M8('(XH SM)^(VCZFZ^:IM8S86]]O$@F(,V\B+:F27 B<G (P,U+_ ,)YIK,W
MEQEV.H1V<8C?>)(W,>)\@$!?WHZ]<8!J#3=)\$:AI-CK%E9W8MU$>GV\LL\T
M;Q+ TB+C<X("YE&1R0S=0:F3P]X%CG>XLXH9',B,RVMZW'SQA> X 561"!T!
M7@9Z@&A;^-O#LT*LVJ1))Y2RLJ*[K\RH0%.T;CB6/ ')W#BK^D^(]%UIO^)5
M>&<^4LW^I=,*W(/S =<].M<C/X/\#ZAX>VZ1J2V\$UN'CF%\\J&$!$)P7Y4K
M$BYR,8&"#70>$]-T7^S++7-/>>X>>T6-+F>1BQBX(&"2 .!^5 '65R?@/_D#
MZK_V&]1_]*I*ZRN2\!_\@?5?^PWJ7_I7)0!UM%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 5R7C_ /Y%NS_["^G?^ED5=;7)_$#_ )%N
MS_["^G?^ED5 '65SOB*PTS6-(?1M6F,<5Q\R[6VR!HR) Z^ZE0W0C(%=%61=
M::9-8M]26?RW2"6V(//RN5;(]P4'X9H Y-=)T/Q>D&J'7I]1-LBQR,B*H==Z
M3(2FW*\JC!AC()['C&U'X=V=EI*W%AKZ*\3VZK)=PQ+"V!#$,E4YR(UP.A8U
ML6OPOTNV@6/^U+MF6,1ABJ#;@1@,!CAL1#)[Y--7X9:5Y MX]1O$@'RB(+'L
MV[4&W;MQC]V,^^?6@"C<^!?"VGZIY+:Y<6]S%$EP(3'&P$?VB-R0-GW3*B\=
MLD# QC=\-^$(M!U1[_S?,CCMH[>$@8+A1S*Z!0!)C"<?PJ/H-*'PW'%%H:_;
M+EGTB,PI)N ,R%0NUQCD95&[<H*Y-_AG$/L,4.J2200M(TKSJ#(V8TC7!'&5
M"9&>A/X4 6KCP;8Z;X8M[34/$UU%I]K=BXB9X8OEDDD8X/R<Y:7'Y5!;?#O1
M_P"TC;V^O3F>S,,LL*10@@9@*;L+T/V1?S?UXU=/\!VNGZ=?64>KW3"[EAE9
MV5,AHY/,STYSP#GL!5*X^%MC<1JG]O:D@5@RX*';@N1SMS_RT8=>E $2_#GP
MW9:C96YU*87WE1_9/,6(R#R-G*_+RNT(&7H>N,G-=AH-G9Z7I4.C6=T9EL%$
M)W8W+QD9   X([5R/_"L--.W_B<:B-BLJ;?+'EAFW87Y> ".G3/)S79PZ>T&
MM7FHR3;VN4BB"@8"JF[&?4DNWZ>E &M7)> _^0/JO_8;U+_TKDKK:Y+P'_R!
M]5_[#>I?^E<E '6T444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !6'X@T.W\0:2VFW-S<6J^;%.DULX62-XY%D1@2".&4=0:W** .3_P"$
M-OO^A\\2_P#?VW_^,T?\(;??]#YXE_[^V_\ \9KK** .3_X0V^_Z'SQ+_P!_
M;?\ ^,T?\(;??]#YXE_[^V__ ,9KK*X36O$^L6.J:E9V]G#.ML\ CQ&Y9M\;
MML/.,LR*H/0;N<T 7_\ A#;[_H?/$O\ W]M__C-9G_"-ZI_PDHT[_A._$?D_
M9/._UEOG=OQU\GTJ:UU_Q3>Z.+RVTV S)?1QRI(&3]TR*7503RZ,Q3/0E2<=
MJET'5O[;UN'4/L\EN6LY$*3)L8%9MIXR>..#0!8_X0V^_P"A\\2_]_;?_P",
MT?\ "&WW_0^>)?\ O[;_ /QFNLHH Y/_ (0V^_Z'SQ+_ -_;?_XS1_PAM]_T
M/GB7_O[;_P#QFNLHH Y/_A#;[_H?/$O_ ']M_P#XS5_P_H-OX=TPZ?;W5S<A
MII;B2:Z<-)))(Y=V)  ZL>@%;M% !1110 4444 %%%% !1110 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %
M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44
M44 %%%% !1110 4444 %8>OZY;>'M*;4KN&XN(Q+%"L5M'ODD>1U1%49&268
M5N5R?Q _Y%NS_P"POIW_ *614 -_X3:?_H2?$_\ X"1__'*/^$VG_P"A)\3_
M /@)'_\ '*ZB1_+B:3:6"@G"C)/TKG]+\6:+JMA%J$<[6MO-&)H7NU\CS4(S
MN7=C( Z^G&: *_\ PFT__0D^)_\ P$C_ /CE'_";3_\ 0D^)_P#P$C_^.5LI
MJFF-*L,=];/(SF-46922PY*@9ZCTJF/$EB-=ET5H;I+B)/-=WMV$:IR Q?IC
M*D9]J *7_";3_P#0D^)__ 2/_P".5F_\)5>?\)*-0_X0GQ+Y/V3R?^/2/.[?
MG_GIZ5T6H>(]'TVWCN+B^A9':(#RW5CMD<(KGG[FYA\W2B]US3[*>RA:1YY;
MQ6DMXK9#*TJ* 6<!?X1N7GIR.Y% &?\ \)M/_P!"3XG_ / 2/_XY1_PFT_\
MT)/B?_P$C_\ CE7[?Q%IMQ-/"MP87BF2 BX'E%G>-9%4!L$G:PXZYXJ33?$>
MBZM807EKJ$02=O+5'D57W_W",\-[=: ,S_A-I_\ H2?$_P#X"1__ !RC_A-I
M_P#H2?$__@)'_P#'*;=>._#]GH^FZQ<R7*66HPO<12"W9MD:)O9GP#MPH)_
MUL6NM:7J"HUAJ5K<K(SJGERJVXH<,!SS@]?2@#)_X3:?_H2?$_\ X"1__'*O
M^']=M_$&E?VA:PSP*)I;=XKE-DD<D;E'4C)Z%3WK?KD_ ?\ R!]5_P"PWJ/_
M *524 =91110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %<
MG\0/^1;L_P#L+Z=_Z615UE<G\0/^1;L_^POIW_I9%0!TTBL\3*K;&8$!@,X]
MZ\\C^%^FIH-KHIU.<06J-&CQP0H[*T+1/N(3YF*M][KP*])HH X.W^'NEVTU
MM*UW<2F&8S."J#S2+@W"9PO!5R>1@E>#FKFN^%['4YM5U#4]2F@MKK3UM)54
MHBQ(CF3S-Q&<@DYSQCM785GZE#)<Z1=V<3*DL\+Q(S= 2I S0!PUIX)T%K"%
M-+U;_1+V2&ZM_(CA>-GC*.60A.%?RTRH.WJ1R:T&\)Z?;V>BQQZE<6]U86SZ
M;#<!4/G12 %HW3;M(_=J>@P5^H.?)X6\27'AW2--CUVPA&G6IM=UN90)0(U3
M<<,.05S[56_X5_X@DM[BS;7H4M+@L)$#3,2A^TC;R_99XU_[8CVP 6)/ASH.
MFV$DDVI72V,, 202E"H@6.(-EMN0?W"-O'S YP>:FB^'&CR-:WMOJ%Q\DD<\
M;HL>'"/YD>?EY(/\74@\]!C.?X<ZM):W5M)X@\R.=1$82THB:+RF0(5W\;"V
M5(Z[0#7HNGV[6FF6UH\@D>")(F91@$A0,X[4 <W'X'L([/PY:W%U)>0:#O\
M+CGBC=9\H4!<;>H!XQCFF6_P_P!+M-=_MF"ZG%ROFM$72-_)9WD<,F5X(,T@
M]P0#G%=O10 5R7@/_D#:K_V&]1_]*Y*ZVN2\!_\ ('U7_L-ZE_Z5R4 =;111
M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %
M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %<G\0/^1;L_\
ML+Z=_P"ED5=97->*='NM>T/[#9W4=E<I<074<TD/FH&BE60!E#*2#LQU'6@#
MI:*Y/[#\1/\ H9= _P#!--_\DTGV'XB_]#-H'_@FF_\ DF@#K:P+C3[BXURW
MO%8/;K;2P%'_ (';:0X'?@%3WY^M4?L/Q%_Z&;0/_!--_P#)-'V'XB_]#-H'
M_@FF_P#DF@#GXO OBRQMK>UTGQ-':6\6[$2*RX_N@L.6 XZ\D  DXR:<GAOX
ME/8331Z\ZW*RRM]G-P?W@8 * W10.OKUZ9Q76_8?B)_T,N@?^":;_P"2:HP?
M\+$FU>]L?^$B\/@6Z1/N_L>;G?N_Z>?]F@"!?"_C)IX_,\72>6K'.T-E@48*
M#S@[&(/^V!\W-;'AW2-0TV2;^T+MKEFABB+M)O:5UW$R$X'.&5?7""F?8?B)
M_P!#+H'_ ()IO_DFC[#\1/\ H9= _P#!--_\DT =917)_8?B)_T,N@?^":;_
M .2:/L/Q$_Z&70/_  33?_)- '65R7@/_D#ZK_V&]2_]*Y*7[#\1/^AET#_P
M33?_ "35CPOHMUH>CR6M[?1W=U-=7%Y++%"84+2RM(0JEF( W8Y)Z4 =)111
M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %
M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%8.OZU;^'M'
M?4KJ&XN$\V*%8;5-\DCR.L:*HR.2S#O0!O45Q_\ PG%S_P!")XH_\!8O_CM'
M_"<7/_0B>*/_  %B_P#CM '85YM-XPUY%7R=/AF_?3Q,R0R8*I/)&9!ST1$1
MF'\6_C%;/_"<7/\ T(GBC_P%B_\ CM'_  G%S_T(GBC_ ,!8O_CM %&?Q)XC
MM;&SU:338Y+ V4DUP(T8S!U/RLJ9^Z5YP?7J*V])G6ZU_4;E$=%EMK60*ZX8
M AS@CL:H_P#"<7'_ $(OBC_P%B_^.UG6_BJ^AUW4+UO OB?R[B.%5_T:'.5W
MY_Y:_P"T* /0J*X[_A-[G_H1?%'_ ("Q?_':7_A.+G_H1/%'_@+%_P#': .P
MHKCO^$WN?^A%\4?^ L7_ ,=I?^$XN?\ H1/%'_@+%_\ ': .PHKCO^$WN?\
MH1?%'_@+%_\ ':VM!UFU\0>'[+6K%95MKR(2QK,NUP#V8=C0!KT444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %
M%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 44
M44 %%%% !1110 4444 %%%% !1110 4444 %%%% !7)_$#_D6[/_ +"^G?\
MI9%765R?Q _Y%NS_ .POIW_I9%0!UE<S:^)M-N-1N[/=/&UG<&UFEEA9(DE
M5MN\\<AUQZY'>NFKAIO -G<7.MR27TN-8F,\V(8MZ-B,*%?;G:/*0X.<D<T
M=*=8TE6+-JEJ !N),ZX SC/7UXJEJ'B"RTJ^M;.XM[V26[;;$8+9Y%9L,Q&0
M.NU6/T%<]_PK728A-B_NF>1PX9HXCCY959<;,$,)GX/0X(QBMJ_TG3[&#1[R
M34'L++029 792A01&/\ >,P) "L3G(YY)H T[G6-+M;>6XDOH2L>Y2JR L64
M9*@9Y;';K4%KX@TNYT2VU>&X5K6Y\L1D'+,SX"IC^]D@8KE--^'_ (=MX;;^
MS-4F*W,$H614B<7$3!=I)V8++A,/]XXY)JW;^#;#2=*MM/34I'D2_AO;=I45
M1OAC5=IV #!2,Y)[DGVH VM.\4:3J<9EC::WBWF-9+F)H5=PY0JI;&3N4C'M
M3]2\1:3IMHMY)<&>-KA+,?95,Q\UV"JI"YP22!SZBN<U+P+HMOX7DM;[4I;>
MUBN);ZYN]L2,Y8NV7.S&%+D@]1@=:N3>!+67PO#H/VZ7RH[X7YD,,1,CB8S!
M67;M*[B!TS@=: -Z+6-.:'S)+I;=@@D>*X81O&I.,LIY'/K26NO:7>WHM+.^
MBGD)D4>6P8%HR!(N1_$I(R/>N8N/ASI]W>2WDVJ71GDMQ;<10JJ(-G"J$^7'
MEKCTJ_I_@ZUT_5K2[CNII([62YGC63&XR3XWY( X&#CW;V% '8UQ_P ,O^26
M>'_^O8?^A&NPKC_AE_R2SP__ ->P_P#0C0!V%%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 5R?Q _P"1;L_^POIW_I9%765R?Q _Y%NS
M_P"POIW_ *614 =91110 5S/B:2UO/#6JZ3_ &E:6LUW:3P(]Q( J_(0Q(SD
MA0<FNFKSV_\  EQJ6EV.FS:D(C:1W<1E0-NG\Y2H=B&4YYRPY!- #KSPWXEU
M*VTM1JEE'#;0B(I"TH69=T+!L@C)Q&X^C_7//7G@?5+?37T[5/%=E;VEQ#(K
M+--+B3$,BEL,_(&Z,GT$?XUO7'@WQ%YXNK?QA=*R,66(>8D;'.1D!\#CY.FW
M !VYR3 O@77+WP_I$%]KAAU+3YIYC-)NNO,9U*J&WMRG/*="...M %:^^'NK
M:C;Z@K^(O/COFERDK2M$4=6\M@H? :/=@8X8 9YQCTS>JLJ,X#L.!GDXZXKA
MKOP?X@DO!>1^,+B*02&3R4\Q(B=P(X$F  /D QC&,@G),^@^'=8M]&TNWU:]
M,MS;7;74T[3M(S#:0%!;/!SR,XP/>@#N:*** "N/^&7_ "2SP_\ ]>P_]"-=
MA7'_  R_Y)9X?_Z]A_Z$: .PHHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "L3Q!H=OX@TEM-N;FXME\V*=)K9@LD;QR+(C D$<,HZ@UM
MT4 <E_PA]]_T/?B7_OY;?_&:3_A#K_\ Z'SQ+_W\MO\ XS7744 <C_PAU_\
M]#YXE_[^6W_QFC_A#K__ *'SQ+_W\MO_ (S7744 <E_PA]]_T/?B7_OY;?\
MQFLZW\-ZE-KE]8MXZ\1".WCB=2)+?)+;LY_<_P"R*[ZL6Q_Y&W6/^N-M_P"U
M* ,O_A#K_P#Z'SQ+_P!_+;_XS1_PAU__ -#YXE_[^6W_ ,9KKJ* .1_X0Z__
M .A\\2_]_+;_ .,T?\(=?_\ 0^>)?^_EM_\ &:ZZB@#DO^$/OO\ H>_$O_?R
MV_\ C-:F@:+:^'_#UEHMFTKVUG$(D:9MSL!W8X&3^%;-% !1110 4444 %%%
M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M %%%% !1110 4444 %%%% !1110 4444 4/MMH) GVJ+<7,87>,EP,E?J!VI
M%OK-A"RW4+"?)BQ(#YF!D[?7 ]*X^^\ KJ4M[YVH"*.[N99F$,.UE5_*/!W<
M/NA&6[AB,=ZO-X-M9M/M8;B8&\MI)Y8[F-"GE-+G=L7. ,D<'/ ]Z +UU"=0
M\4K;->7*6ZV8E5;>X:,%BY&3M(SP*N_V!;?\_P!J?_@?-_\ %5F:19W%CKEO
M9WEX][<0Z6B27+K@RD2'DBNJH R/[ MO^?[4_P#P/F_^*H_L"V_Y_M3_ / ^
M;_XJM>B@#(_L"V_Y_M3_ / ^;_XJC^P+;_G^U/\ \#YO_BJUZ* ,C^P+;_G^
MU/\ \#YO_BJ/[ MO^?[4_P#P/F_^*K7HH R/[ MO^?[4_P#P/F_^*H_L"V_Y
M_M3_ / ^;_XJM>B@#(_L"V_Y_M3_ / ^;_XJC^P+;_G^U/\ \#YO_BJUZ* ,
MC^P+;_G^U/\ \#YO_BJ/[ MO^?[4_P#P/F_^*K7HH P?['L2VS^TM0W;MNW^
MT)<YQG'WNN.:>NBV;?=U#43R1Q?R]1U_BK!D\(73^(K+5([J&%+>^DNFAPS@
MAMN0">YVY]CTXR#8L?"LVDZ]%>Z7?&VL6GGFN;5@9/-,@'1CR/F&?RH FT_2
M8YM1U:.34-2*07")&/MTOR@PQMC[WJQ_.M3^P+;_ )_M3_\  ^;_ .*HTO\
MY#&N?]?2?^B(JUZ ,C^P+;_G^U/_ ,#YO_BJ/[ MO^?[4_\ P/F_^*K7HH R
M/[ MO^?[4_\ P/F_^*H_L"V_Y_M3_P# ^;_XJM>B@#(_L"V_Y_M3_P# ^;_X
MJC^P+;_G^U/_ ,#YO_BJUZ* ,C^P+;_G^U/_ ,#YO_BJ/[ MO^?[4_\ P/F_
M^*K7HH R/[ MO^?[4_\ P/F_^*H_L"V_Y_M3_P# ^;_XJM>B@#(_L"V_Y_M3
M_P# ^;_XJJZ^&[%+J2X6XU$2RJJNXOILL!G'\7;)_.M^B@#!&CZ?G8-3U ON
MV[?[0ESG&<?>ZXJGJVEP0:!J-S;:EJ*S16\K*POY3M95)_O=C6>WA&Z/B.QU
M9+J&".VO);EH0&?(?;D GU*Y]B>..#7U#PO)H]KJ%WIE\T%@T%[+<6C OYAD
M0D88\CD9_ "@#IXM!MV@1C?:GDJ#_P ?\W_Q52?V!;?\_P!J?_@?-_\ %5I0
M?\>\7^Z/Y5+0!D?V!;?\_P!J?_@?-_\ %4?V!;?\_P!J?_@?-_\ %5KT4 9'
M]@6W_/\ :G_X'S?_ !5']@6W_/\ :G_X'S?_ !5:]% &1_8%M_S_ &I_^!\W
M_P 51_8%M_S_ &I_^!\W_P 56O10!D?V!;?\_P!J?_@?-_\ %4?V!;?\_P!J
M?_@?-_\ %5KT4 9']@6W_/\ :G_X'S?_ !5']@6W_/\ :G_X'S?_ !5:]% &
M"^CV,9_>:EJ"G!;YM0E' ZG[W:G_ -BV6[']HZCG&[']H2]/7[U97B;PS)X@
MDE,4RV[-:M;ASN);+9P1T !&0>N?4<&M?^"YKBUMI[/41:ZS;:>MDMVJG9P0
M1^[Z8R#^GI0!<L=)6;7-7MY-0U)HX'B$:_;I?ES&"?XO6M;^P+;_ )_M3_\
M ^;_ .*JOHZNNNZTLK;W#0!GQC<?*&3CM6_0!D?V!;?\_P!J?_@?-_\ %4?V
M!;?\_P!J?_@?-_\ %5KT4 9']@6W_/\ :G_X'S?_ !5']@6W_/\ :G_X'S?_
M !5:]% &1_8%M_S_ &I_^!\W_P 51_8%M_S_ &I_^!\W_P 56O10!D?V!;?\
M_P!J?_@?-_\ %4?V!;?\_P!J?_@?-_\ %5KT4 9']@6W_/\ :G_X'S?_ !5'
M]@6W_/\ :G_X'S?_ !5:]<AXCT&^UB]AFMI(H@EI/;L6D*L6=HV7C:05S&<@
M]0<=S0!L?V!;?\_VI_\ @?-_\556^T6&#3KF>.^U'?'$SJ3?2GD D?Q5FV?A
M_5+6\\.$ZL)H='1DE1D.;@M$5W#!PO)X4YP!UJI'X9U+05F6SU+?HZVMSYD$
M^9)=[$LI5B.!Z_UZ@ ['39FN-*LYY6S))"C,?4E035VJ.D?\@+3_ /KWC_\
M015Z@ HHHH **** "BBB@ HHHH *Y'X@7E]IO@+5+S3;M[.Z146.>,*6CW2*
MI(W C.">H-==7'?$W_DFNK?]LO\ T<E $G_"&ZA_T4#Q-_WW:_\ QBC_ (0W
M4/\ HH'B;_ONU_\ C%=;10!R7_"&ZA_T4#Q-_P!]VO\ \8H_X0W4/^B@>)O^
M^[7_ .,54\;-K"W/A_\ LHWPC-XXN_LRS%?*\B3&_P H%L;_ "\8[^V:S&\2
M>-(=373X=%F:U^T+"EU+8RN1$SQ!9&PW)"/(6Z8*<XZ4 ;W_  ANH?\ 10/$
MW_?=K_\ &*/^$/U#_H?_ !+_ -]VO_QBH]"OM?UBSOX]>L)=.C5(RI@5XI%?
M+>9&.26"[5PZ\,'XZ5R^G:IXXT_0-%6UT>ZOYIK$W5T=2$IE:95(:'_IF> 1
MNP&R0* .E_X06Z^V&\_X3OQ)YYC\K=YEM]W.<?ZCUJ?_ (0W4/\ H?\ Q+_W
MW:__ !BL72]6\2?\)I%]HM;R;3;V.W1F?3YHDC^6X8N 21&<B(,#_>'2F3R>
M(-/\2Z[)8?VK<I'/916PN8YIH-LK8F=0,;@@.>#QB@#=_P"$-U#_ *'_ ,2_
M]]VO_P 8H_X0W4/^A_\ $O\ WW:__&*Y2ZU[QY?V-U9_V+=V1^T?N[J"TD5V
M53&0F-WRY_>_/DKA0/XA22>-O%6GVMQ<3:$\5M"DC9N+.X W;9F!+L< ;DC7
M'_30#(H ZS_A#]0_Z'_Q+_WW:_\ QBC_ (0_4/\ H?\ Q+_WW:__ !BK'A/4
MKW6/#=MJ&H$?:I&?>JPM#MPQ !5B2#C&>2,YQQ72T <!K7AO5M/\/:E?6_C[
MQ&9K:UEF3<UJ1N5"1G]QZBNG\/74][X5TF\NGWSW%G#+(V,;F9 2?S-'BC_D
M3M;_ .O&?_T6U-\)_P#(D:#_ -@^W_\ 1:T :5RQCM)I%X949A]<5Y]X5T'6
MM:\&Z'K%YX^\0BYOK""YE$;6H7>\:L<#R.!DFO0;W_CQN/\ KFW\JP?A]_R2
M_P *?]@BT_\ 1*T 0?\ "&ZA_P!#_P")?^^[7_XQ1_PANH?]#_XE_P"^[7_X
MQ76UY]XRM_$%]K>AV.A:A?:?YRW"RW4*.T,)V HS@?*2#T#'!Y!H U/^$-U#
M_H?_ !+_ -]VO_QBC_A#=0_Z'_Q+_P!]VO\ \8KE=6UKQ]_:.I?V5IEW]GU&
MU==/)A^:UDA<!BP*@(94+LF\X+(H[UI:O!<-8Z7-I=UXD9)M1@CD'[Y72(G$
MA88#!<#DMT[4 ;'_  A^H?\ 0_\ B7_ONU_^,4?\(=J'_10/$O\ WW:__&*Q
M]8;6;?XBV:1OJKZ1'IR;VA2=T:83?],QM+E<YW<8ZU'HOB+QQJ1LVNM'6V61
MTCG#V<D1A+P))O\ G8;E1Q(C8YR5]Z -*/P/=12SR1^//$BO.P>0^9;?,0H7
M/^H]%'Y5:_X0W4/^B@>)O^^[7_XQ7+VOB3QL]E\FA2P(BQK^]LIW=69)&W?,
MV6 =$0@?=$F3P*D_X2[QP9&AE\.O!*TC*,:=/*L6"X^\#A\X4@C _/@ Z3_A
M#=0_Z*!XF_[[M?\ XQ1_PANH?]% \3?]]VO_ ,8KF8O&'CZ9!M\,;0L3S%I+
M.=?,(A1_*"]0P9F7)X8H0.:AF\4?$(">>'19GVPLD47]F2A7EW(03EMP&UBO
M<<$]C@ ZS_A#=0_Z*!XF_P"^[7_XQ1_PANH?]% \3?\ ?=K_ /&*;X1FU*X3
M5I=4CO(6:_=HDND9=J&-#A-W\(.X#'O77T >9^)M)UGP]HR:M:>.-<N)(KRT
M3RKDVS1NKW,:,K 0@X*L>A%>F5R/Q&_Y$>3_ *_K#_TLAKKJ .7\97UYIG@+
M7M0L9C;W=M83RPR@ E'"$AL'(X/K5:/P?J+1(Q^('B;)4'[]K_\ &*L?$3_D
ME_BC_L&7'_HLUT4:[K1%W%<H!E>HXH YG_A#=0_Z*!XF_P"^[7_XQ1_PANH?
M]% \3?\ ?=K_ /&*YNUU#7M/L;V34+Z_U*32M0BTU6\EU^U1O-&3<L$C!)5'
M*G9\I\MO7B$^./$B)$]UH;?;8Y)(V$5O<B$K^[V2?=.X,KE@.JX*GD&@#JO^
M$-U#_HH'B;_ONU_^,4?\(;J'_10/$W_?=K_\8K$T7QUJFI>+;+1IK*"VC:%F
MG9HY5)<;\!2P !.T-M;G:<YK*M->\;:7I5[K0$^K0/=S6MO93VLAE!2:8ASM
MC4JIB6-5^\"2#G)P0#L/^$/U#_H?_$O_ 'W:_P#QBJ\_@>[NK66VF\=^)'BE
M0QLOF6PRI&"/]15;3_$7B+4->TZ-]+^R6$UQ/#<)):RB2+8A**6.%Y(SN&5(
M..M8NG^)-?LEU&:1[J[F.JRVL,=S%*RI ;DJLA58A@*F""&.X<GUH ZL>#=0
M  'C_P 2X'^W:_\ QBC_ (0W4/\ H?\ Q+_WW:__ !BL%?$WB>;3OMUUHK0P
M8LYU\J.8,R2M&"O][>C>;O!7[H7IN-5W\;>*H],CNQX8\UVM/M7EK!.,@K(2
M.5SE&1 RD9/F CW .F_X0W4/^A_\2_\ ?=K_ /&*/^$.U#_HH'B7_ONU_P#C
M%<S+XZ\2"4QPZ/&Y20Q,YM+G:>9@''R_=Q'&3_O_ $IDGC[Q5]F:Z7PO]GB/
MW4FAN&D!$#R\@)C#%5 (/!;!&>* .I_X0[4/^B@>)?\ ONU_^,5')X/U%(78
M?$#Q+D*3]^U_^,5RU_XP\5?8KNV_LN<-*MZ%FALIU>!0LGD%3@AF^5/KO'3I
M7HMK))-HL$LI8N]NK,6&"25YR#T- &9X-OKO4_ 6@ZA?3&XN[FP@EFE( +N4
M!+8&!R?2H?'U]?:5\/=<U+3;IK6\@M6:*90"8VZ;@&!&?J#4OP[_ .27^%_^
MP9;_ /HL57^*'_)*O$7_ %ZG^8H D_X0[4/^B@>)?^^[7_XQ1_PAVH?]% \2
M_P#?=K_\8K;U35++1],GU/49##:P#=(X1GVC.,X4$_I4.FZMINJ6K75A<+)&
MK.C9RK(R,5=65L%2K @@@8- &5_PANH?]% \3?\ ?=K_ /&*/^$-U#_HH'B;
M_ONU_P#C%;L-Y:W#RQQW$4LD)'F*CABF1D9QTR.?I45EJNGZC90ZCI]Y%<VD
M^?*EC;(DP2"!ZG(/Y4 8_P#PA^H?]#_XE_[[M?\ XQ1_PA^H?]#_ .)?^^[7
M_P",5N?;K?[*UTS,J)%YKJ5.]%QGE>N<=L9JAH_B+1]<A:72KY9PI0,K*T;C
M<@=?E8 \H0PXY!S0!DIX&NHYY9X_'?B19)B#(PDMOFP,#_EAZ59_X0W4/^B@
M>)O^^[7_ .,5I:AK6GZ7:M<7<I6$ 8D52RLQ<(J CJQ8@ =:NV=]%>6L4ZK)
M$94\P13(8Y /=#R* ,#_ (0W4/\ HH'B;_ONU_\ C%'_  ANH?\ 10/$W_?=
MK_\ &*OZ=KFFZKIT.I:=+)/:32F%9!"Z_,"5.0P! !!&>G%79+N&.,L'\SD#
M$?SGEMN<#MGKZ<T 8?\ PANH?]% \3?]]VO_ ,8K-UCPQJMCH.H7D/Q \1^;
M;V\DJ;FM2,JI(S^X]J[&&_L[BU6XM[R&:%E\P2)(&4KZY';WK*U*^MM2\ 7^
MH6<ADMKC3Y9(V*E<J8SC@\B@"QX;NKB^\(Z-?74GF7%Q90S2/C&YFC!)P/<U
MF>.+B^M_#UM'I^H364MUJ5G:M<0!3(B27"(^W<K#.TD<@UH^#_\ D0_#W_8.
MM_\ T4M4/'G_ "!]*_[#>G?^E4= "?\ "&ZA_P!#_P")?^^[7_XQ1_PA^H?]
M#_XE_P"^[7_XQ4GC#4)M.\/23VWVHW#R)%"+93DNQP-Y"MM0=6;' ![XKB[?
MQ1XET6]NXHQ?>)(5@A1&FM)49Y!"[/(N$ V[EY'7D <]0#L/^$/U#_H?_$O_
M 'W:_P#QBC_A#=0_Z'_Q+_WW:_\ QBN9;QAK45S^^TMI+A%5I$M//EC4FVD<
M?(%! R%&" <D=Q4+?$+Q!;P23WN@B#RX-S(T,X_>>6S<$KC&5  ZDLHS0!UG
M_"'ZA_T/_B7_ +[M?_C%12>"[V:)XI/'WB5D=2K#?:\@\?\ /"LB_P!:UG4/
MAO;:\EY/:7QG16338F/RF<(04968$)G(['/IFF7WBS7-)U*YTZWTFZOXX+LQ
M-/+#,^^,0PD."J[<[G8$#@[6/K0!LQ>";V&&.&+Q[XE5(U"J/,MN !@?\L*F
M_P"$/U#_ *'_ ,2_]]VO_P 8KD/^$T\327*7BZ;<&9+.11:I:3^2TC/;%&;*
MY! DD7K_  L>W&_X=\6:IK6JSV^I:6^GP?9Y) ?)F5T*B/J64#G>V,<_(>O8
M T/^$/U#_H?_ !+_ -]VO_QBC_A#]0_Z'_Q+_P!]VO\ \8KBM&\8>)M/\%:5
M>74-UJ.IW%L)+M+F"9C&ZPER,+$NQV8;=O(!Q^.QJOBCQ)8V+W5QH9D>WNIH
MD2".;$^V&62-QMR2C+Y2G(^^Q'84 ;O_  A^H?\ 0_\ B7_ONU_^,4?\(?J'
M_0_^)?\ ONU_^,5A7'C#Q5;W!A;00X$D4;3"";8@=H@)>A+(1(_ Y4Q'/?%+
M_A/O$A6.9=!!3RPSI]EN=^X+"S*/D[^9(![I]: .J_X0_4/^A_\ $O\ WW:_
M_&*/^$/U#_H?_$O_ 'W:_P#QBN;C\<>*?M, N/#XMXI92-IAN&=%$L495OD
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
MJEKI]G)=W3*C)!%C>^V16(&2!G />NNHH Y#_A-Y_P#H2/$__@''_P#'*/\
MA-YO^A)\3_\ @)'_ /'*Z^B@#D?^$WG_ .A(\3_^ D?_ ,<I/^$WF_Z$GQ/_
M . D?_QRNOHH Y#_ (3>?_H2/$__ (!Q_P#QRHO^$S?S#)_P@WB7<1M)^QQY
M(]/]9]:[2B@#D/\ A-YO^A)\3_\ @)'_ /'*A7QDREW7P-XE#-C<19QY;MS^
M\YKM:* .0_X3>;_H2?$__@)'_P#'*/\ A-Y_^A(\3_\ @''_ /'*Z^B@#D/^
M$WF_Z$GQ/_X"1_\ QRC_ (3>?_H2/$__ (!Q_P#QRNOHH \]UKQ9>:AX=U*Q
MM_!'B437%K+$FZTC W,A _Y:>IKJ_#MO-9^%M(L[F/RYX+.&.1#_  L$ (_,
M5KT4 5[E3):31KRS(P ]\5YYX4\27^C>"M#T>\\$^(_M5C806TNRUC9=Z1JK
M8/F<C(->ET4 <A_PF\W_ $)/B?\ \!(__CE'_";S?]"3XG_\!(__ (Y77T4
M<A_PF\__ $)'B?\ \ X__CE'_";S_P#0D>)__ ./_P".5U]% '&Q>,GBC$<7
M@;Q*B+P%6SC '_D2H!XJC6\:\7X?^(5N'7:THL8MY'H3YF<5W-% '"6_BQ;.
M-8+?P'XC@B&=J1V42J,G)X$GJ:F;QD\@42>!?$K[2&&ZSC.".A_UG6NUHH Y
M#_A-Y_\ H2/$_P#X!Q__ !RC_A-YO^A)\3_^ D?_ ,<KKZ* .0_X3>;_ *$G
MQ/\ ^ D?_P <H_X3>?\ Z$CQ/_X!Q_\ QRNOHH \S\3:YJ/B+18](L_!VO0S
M37EHWF7%O&D:*ES&[,QWG "J37IE%% '+^.K>XO/AWXCL[.W>YN)M/GCCAC7
M+2,8SA0.Y-5H_'5FL2*?#_B7(4#_ ) MQ_\ $UV-% ')?\)W9_\ 0O\ B7_P
M2W'_ ,31_P )W9_]"_XE_P#!+<?_ !-=;10!R7_"=V7_ $+_ (E_\$UQ_P#$
MTO\ PG5G_P! #Q)_X);C_P")KK** .+E\9:9.%$WAGQ%($8,H;19S@CH1\M2
M_P#"<:?_ -"[XC[?\P6X_P#B:Z^B@#B5\9Z6LWG+X;\1++MV;QHL^=N<X^[T
MR:L_\)W9?]"_XE_\$UQ_\376T4 <G_PG5G_T /$G_@EN/_B:3_A.[+_H7_$O
M_@FN/_B:ZVB@#DO^$[L_^A?\2_\ @EN/_B:CE\=6;0NH\/>)<E2/^0+<?_$U
MV-% '+^!;6YL_AWX=L[RWDM[B#3H(Y8I!AHV$8!4CL14'Q$M[J^^&^OVEC:R
MW=S):L(X85W/(>N%'<^U=?10!R7_  G=G_T+_B7_ ,$MQ_\ $T?\)W9?]"]X
ME_\ !+<?_$UUM% ')?\ "=V7_0O>)?\ P2W'_P 31_PG=E_T+WB7_P $MQ_\
M376T4 <E_P )W9?]"]XE_P#!+<?_ !-'_"=V7_0O>)?_  2W'_Q-=;10!R7_
M  G=E_T+WB7_ ,$MQ_\ $T?\)W9?]"]XE_\ !+<?_$UUM% ')?\ "=V7_0O>
M)?\ P2W'_P 31_PG=E_T+WB7_P $MQ_\376T4 <E_P )W9?]"]XE_P#!+<?_
M !-9VM>,K>Z\/:E:P>'?$;2SVLL:+_8UP,L4( ^[7?44 87ABWGM/!NB6MS&
MT4\-C!')&W5&$:@@_0UE>/EN#X?M)K>RN;PVVJ6-S)%:Q&63RTN$9B%')P 3
MQZ5V5% ')?\ "=V7_0O>)?\ P2W'_P 31_PG=E_T+WB7_P $MQ_\376T4 <E
M_P )W9?]"]XE_P#!+<?_ !-'_"=V7_0O>)?_  2W'_Q-=;10!R7_  G=E_T+
MWB7_ ,$MQ_\ $T?\)W9?]"]XE_\ !+<?_$UUM% '%OXRTR29)F\,^(FE0$*Y
MT6<E0<9P=OL/RJ3_ (3;3\'_ (I[Q'SG/_$EN.<_\!KL** .)C\::9"TC1^&
M_$2F1MS[=$N 6.,9/R^@ _"K/_"=V7_0O>)?_!+<?_$UUM% ')?\)W9?]"]X
ME_\ !+<?_$T?\)W9?]"]XE_\$MQ_\376T4 <E_PG=E_T+WB7_P $MQ_\31_P
MG=E_T+WB7_P2W'_Q-=;10!YCX@UIO$4^@6.G^']=5X]8M+B1[C3)H8TC1\LQ
M9@  !7IU%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%
M%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444
M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%
M%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444
(4 %%%% '_]D!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>15
<FILENAME>clwt_20fimg3.jpg
<TEXT>
begin 644 clwt_20fimg3.jpg
M_]C_X  02D9)1@ ! 0$ 8 !@  #_VP!#  4$! 0$ P4$! 0&!04&" T(" <'
M"! +# D-$Q 4$Q(0$A(4%QT9%!8<%A(2&B,:'!X?(2$A%!DD)R0@)AT@(2#_
MVP!# 04&!@@'" \(" \@%1(5(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @("#_P  1"  \ %T# 2(  A$! Q$!_\0
M'P   04! 0$! 0$           $" P0%!@<("0H+_\0 M1   @$# P($ P4%
M! 0   %] 0(#  01!1(A,4$&$U%A!R)Q%#*!D:$((T*QP152T? D,V)R@@D*
M%A<8&1HE)B<H*2HT-38W.#DZ0T1%1D=(24I35%565UA96F-D969G:&EJ<W1U
M=G=X>7J#A(6&AXB)BI*3E)66EYB9FJ*CI*6FIZBIJK*SM+6VM[BYNL+#Q,7&
MQ\C)RM+3U-76U]C9VN'BX^3EYN?HZ>KQ\O/T]?;W^/GZ_\0 'P$  P$! 0$!
M 0$! 0        $" P0%!@<("0H+_\0 M1$  @$"! 0#! <%! 0  0)W  $"
M Q$$!2$Q!A)!40=A<1,B,H$(%$*1H;'!"2,S4O 58G+1"A8D-.$E\1<8&1HF
M)R@I*C4V-S@Y.D-$149'2$E*4U155E=865IC9&5F9VAI:G-T=79W>'EZ@H.$
MA8:'B(F*DI.4E9:7F)F:HJ.DI::GJ*FJLK.TM;:WN+FZPL/$Q<;'R,G*TM/4
MU=;7V-G:XN/DY>;GZ.GJ\O/T]?;W^/GZ_]H # ,!  (1 Q$ /P#YSYI:;17T
M1\H.HKT_X0_"^S^)VI:O:WFK3Z<+" 3*T**Q<DXP<UYM=0BWOKBW#;A%(R G
MO@XJ%)-N/8IPDHJ3V9#\U ;GY6P?8U[3\#OA7IGCJZU#7_$TQCT'2L;TW;!*
MV,G)[* #FNJ\0WW[-NL:/JMEI]I)87MG#(UO-"DB><Z@X )X.3ZUDZR4N5*Y
MLJ#<>=M(^;2S-]YB?J<TE%3V=G=:A?06-E"T]S<2+'%&@R78G  K<YMROS25
M]+Z;^S3I5CH\%SX[\<1:-=S#*PK)&BK[9?J1[5QGQ(^!>I>"=";Q1H^M0:WH
M:D;IE90Z G /'# D]JQ5>#=DSI="48\S1XW24&BM3 6BBB@1])_LF_\ (P>*
M?^O)?YBOGG4_^0Q??]=W_P#0C7T+^R?_ ,A_Q3_UY+_.OGG4S_Q.;[_KN_\
MZ$:YX?Q9?(ZJG\*'S/H?]G'5[/5_#?BSX:W-P+>XU6VD:W?U#1E& ]QG/X5\
M_:WHU]X?UZ]T74H3#=V4K12*?4'K7N/P3^%=YBR^*&NZW_PCVEV4@FMW+!3,
M!U))X"'I[UVWQ@^&5K\3-5T#QEX+NX;J*_N$L;ZY@^90I;:)3C^[T-9JI&%5
M]G^9LZ4YT5IJOR/DBO2O@2+/_A>'AW[;C;YC>7GIOV';^M>@_$;X'^ _ WA#
M4+M?%TDFM6\ DALYI$5I3D?PYSBOGJRO;K3[ZWO[*9H+JW=98I$."C Y!%;J
M2JQ?*<W)*C-<QZG^T-<:W)\9-2CU;SUMHPHLPV0GEXX*]J\V_M_6SH+:"VJ7
M+:6T@E-J9"4W#H:^B=(^.W@7QMI,.C?%KP[$TZKL^W)%O7_>X^93]*P/B1\%
M=*M/"[^.OAOJ7]K:"!YDT ?>T*]R#U('<'D5A"7*E&:L;U(N;<HN_P"9X$:;
M2YXI*[#B'T4E36]O<74PAM;>6XE/1(D+L?P'- ;GT=^RC_R,/BC_ *\E_F*^
M=M4_Y"]__P!=W_\ 0C7U-\#_  S?_#7X?^*/'GBR,Z:D]L?)AFX?:!D$CL2<
M "OE.XF-Q<S7##!E=G(^IS7+!WJ2:\CLJKEIP3W/J#X^?:$^!?@==&9QH12,
M2^5]TCRODW8[9_6L_P#9:\:7EKXEN_ \T<D]C>(US"5&1 ZC)SZ C]<5@?##
MXV:?H/A@^"_'FCG6M ^[$=BR&-?[I5NJC]*ZV[^.7PS\%Z1=1_"_PJL6IW2D
M>>UNL2+[L>IQZ=*R<9*+ARW\SH4XN2GS6\CSS]HQ;@_'74WN(W53!#Y1<<%0
MO4>U>=^&?"^N>+M;71_#]G]KNRC2%<X"J!DDGM7I'Q<^)GA_XC>%/#4XT^1/
M$]LF+V8*%C48Y4>N3R*\Z\)^+-<\%^(H-=T&Z,-U%P0>5D7NK#N#6]/F5.UM
M3EJ\KJMWNF95]97FFWTUAJ%M);7,+%)(I%P5(KZ5_9E&H?\ "'^-A?[_ .P?
MLYP)/]7NV-NQ^&<TJ_'#X2^,(8KCXA> U;5$ W3I DJMCT8D-^&*YOXB?'33
M]2\)R>#?A[HIT32)%\N:0HL;,G=55<@ ]S6<W.HN5QL:P5.D^92N>#7&S[5-
MY7^K\QMOTSQ45%-KJ.(=77_#OQM)X!\7IXBATZ/4)$B>-89/NY88S7(44-<R
MLP3<7='HGC[XN>+_ (C;;?5IX[33T;<MG; K'GU.22?Q->?4E+1&"BK(J3E-
<W;"BBBJ,@HHHH&!III>],/6I&A*,T4C=:"S_V0$!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>16
<FILENAME>clwt_20fimg2.jpg
<TEXT>
begin 644 clwt_20fimg2.jpg
M_]C_X  02D9)1@ ! 0$ 8 !@  #_VP!#  4$! 0$ P4$! 0&!04&" T(" <'
M"! +# D-$Q 4$Q(0$A(4%QT9%!8<%A(2&B,:'!X?(2$A%!DD)R0@)AT@(2#_
MVP!# 04&!@@'" \(" \@%1(5(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @("#_P  1" !. &D# 2(  A$! Q$!_\0
M'P   04! 0$! 0$           $" P0%!@<("0H+_\0 M1   @$# P($ P4%
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
KPY-+2A342Y2E,****LS:L%%%% !0:*2DP$/2FGK2M3:12"C-+VJ.@H__V0$!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>18
<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>Cover<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2024 </div>
<div>shares</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentInformationLineItems', window );"><strong>Document Information Line Items</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">EURO TECH HOLDINGS COMPANY LIMITED<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0001026662<span></span>
</td>
</tr>
<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">20-F<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">false<span></span>
</td>
</tr>
<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_EntityVoluntaryFilers', window );">Entity Voluntary Filers</a></td>
<td class="text">No<span></span>
</td>
</tr>
<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>
</tr>
<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_EntityWellKnownSeasonedIssuer', window );">Entity Well Known Seasoned Issuer</a></td>
<td class="text">No<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityShellCompany', window );">Entity Shell Company</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</a></td>
<td class="text">false<span></span>
</td>
</tr>
<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>
</tr>
<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">Dec. 31,  2024<span></span>
</td>
</tr>
<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>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFiscalPeriodFocus', window );">Document Fiscal Period Focus</a></td>
<td class="text">FY<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2024<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCommonStockSharesOutstanding', window );">Entity Common Stock Shares Outstanding</a></td>
<td class="nump">7,716,299<span></span>
</td>
</tr>
<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_DocumentAnnualReport', window );">Document Annual Report</a></td>
<td class="text">true<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentTransitionReport', window );">Document Transition Report</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">000-22113<span></span>
</td>
</tr>
<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 Country Code</a></td>
<td class="text">D8<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressAddressLine1', window );">Entity Address Address Line 1</a></td>
<td class="text">Unit D, 18/F.<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressAddressLine2', window );">Entity Address Address Line 2</a></td>
<td class="text">Gee Chang Hong Centre<span></span>
</td>
</tr>
<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">65 Wong Chuk Hang Road<span></span>
</td>
</tr>
<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_EntityAddressCountry', window );">Entity Address Country</a></td>
<td class="text">HK<span></span>
</td>
</tr>
<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">true<span></span>
</td>
</tr>
<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_IcfrAuditorAttestationFlag', window );">Icfr Auditor Attestation Flag</a></td>
<td class="text">false<span></span>
</td>
</tr>
<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_AuditorName', window );">Auditor Name</a></td>
<td class="text">J&S Associate PLT<span></span>
</td>
</tr>
<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_AuditorLocation', window );">Auditor Location</a></td>
<td class="text">Kuala Lumpur, Malaysia<span></span>
</td>
</tr>
<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_AuditorFirmId', window );">Auditor Firm Id</a></td>
<td class="text">6743<span></span>
</td>
</tr>
<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 );">Security 12b Title</a></td>
<td class="text">ordinary shares, no par value<span></span>
</td>
</tr>
<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">CLWT<span></span>
</td>
</tr>
<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>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityInteractiveDataCurrent', window );">Entity Interactive Data Current</a></td>
<td class="text">Yes<span></span>
</td>
</tr>
<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_DocumentShellCompanyReport', window );">Document Shell Company Report</a></td>
<td class="text">false<span></span>
</td>
</tr>
<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_DocumentRegistrationStatement', window );">Document Registration Statement</a></td>
<td class="text">false<span></span>
</td>
</tr>
<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_DocumentAccountingStandard', window );">Document Accounting Standard</a></td>
<td class="text">U.S. GAAP<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_dei_EntityAddressesAddressTypeAxis=dei_BusinessContactMember', window );">Business Contact [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentInformationLineItems', window );"><strong>Document Information Line Items</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressAddressLine1', window );">Entity Address Address Line 1</a></td>
<td class="text">Unit D, 18/F<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressAddressLine2', window );">Entity Address Address Line 2</a></td>
<td class="text">Gee Chang Hong Centre<span></span>
</td>
</tr>
<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">65 Wong Chuk Hang Road<span></span>
</td>
</tr>
<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_EntityAddressCountry', window );">Entity Address Country</a></td>
<td class="text">HK<span></span>
</td>
</tr>
<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_PhoneFaxNumberDescription', window );">Phone Fax Number Description</a></td>
<td class="text">852-28734887<span></span>
</td>
</tr>
<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_ContactPersonnelName', window );">Contact Personnel Name</a></td>
<td class="text">David YL Leung<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_AuditorFirmId">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>PCAOB issued Audit Firm Identifier</p></div>
<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-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_AuditorFirmId</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:nonemptySequenceNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<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_AuditorLocation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_AuditorLocation</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:internationalNameItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<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_AuditorName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_AuditorName</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:internationalNameItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<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_ContactPersonnelName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 contact personnel</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_ContactPersonnelName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CurrentFiscalYearEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>End date of current fiscal year in the format --MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CurrentFiscalYearEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gMonthDayItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentAccountingStandard">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 basis of accounting the registrant has used to prepare the financial statements included in this filing This can either be 'U.S. GAAP', 'International Financial Reporting Standards', or '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/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_DocumentAccountingStandard</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:accountingStandardItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<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_DocumentAnnualReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 annual 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-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_DocumentAnnualReport</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_DocumentFiscalPeriodFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fiscal period values are FY, Q1, Q2, and Q3. 1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalPeriodFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fiscalPeriodItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalYearFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalYearFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gYearItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentInformationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentInformationLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentPeriodEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentPeriodEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentRegistrationStatement">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 registration statement.</p></div>
<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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_DocumentRegistrationStatement</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_DocumentShellCompanyReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 for a Shell Company Report pursuant to section 13 or 15(d) 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 Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_DocumentShellCompanyReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentTransitionReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as a transition report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Forms 10-K, 10-Q, 20-F<br> -Number 240<br> -Section 13<br> -Subsection a-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentTransitionReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentType">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentType</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressAddressLine1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Address Line 1 such as Attn, Building Name, Street Name</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressAddressLine2">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Address Line 2 such as Street or Suite number</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine2</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressCityOrTown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the City or Town</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressCityOrTown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressCountry">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>ISO 3166-1 alpha-2 country 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_EntityAddressCountry</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:countryCodeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<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_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_EntityVoluntaryFilers">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.</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_EntityVoluntaryFilers</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_EntityWellKnownSeasonedIssuer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A.</p></div>
<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 Securities Act<br> -Number 230<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_EntityWellKnownSeasonedIssuer</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_IcfrAuditorAttestationFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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 Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_IcfrAuditorAttestationFlag</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_PhoneFaxNumberDescription">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 Phone or Fax Number</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_PhoneFaxNumberDescription</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_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressesAddressTypeAxis=dei_BusinessContactMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressesAddressTypeAxis=dei_BusinessContactMember</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>19
<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="1" rowspan="1"><div style="width: 200px;"><strong>CONSOLIDATED BALANCE SHEETS<br> &#165; in Thousands, $ in Thousands</strong></div></th>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>CNY (&#165;)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>Current asset:</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_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">$ 5,805<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 5,453<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestrictedCashCurrent', window );">Restricted cash</a></td>
<td class="nump">1,132<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,193<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNet', window );">Accounts receivable, net</a></td>
<td class="nump">1,386<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,864<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent', window );">Prepayments and other current assets</a></td>
<td class="nump">271<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">246<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetNet', window );">Contract assets</a></td>
<td class="nump">135<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">66<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventories</a></td>
<td class="nump">500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">723<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrent', window );">Total current assets</a></td>
<td class="nump">9,229<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,545<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsNoncurrentAbstract', window );"><strong>Non-current 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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property, plant and equipment, net</a></td>
<td class="nump">159<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">168<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVentures', window );">Investments in affiliates</a></td>
<td class="nump">9,947<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,856<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">1,071<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,071<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Operating lease right-of-use assets, net</a></td>
<td class="nump">101<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">233<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_clwt_DeferredTaxAssets', window );">Deferred tax assets</a></td>
<td class="nump">62<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">103<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestrictedCashNoncurrent', window );">Restricted cash</a></td>
<td class="nump">139<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">144<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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">20,708<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">22,120<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrentAbstract', window );"><strong>Current liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermBankLoansAndNotesPayable', window );">Bank borrowings</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">154<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsPayableCurrent', window );">Accounts payable</a></td>
<td class="nump">2,279<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,456<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Contract liabilities</a></td>
<td class="nump">593<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">650<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAccountsPayableAndAccruedLiabilities', window );">Other payables and accrued expenses</a></td>
<td class="nump">1,050<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,124<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Current portion of long-term operating lease liabilities</a></td>
<td class="nump">83<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">170<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TaxesPayableCurrent', window );">Income tax payable</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">42<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">Total current liabilities</a></td>
<td class="nump">4,005<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,596<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesNoncurrentAbstract', window );"><strong>Non-current liabilities:</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_OperatingLeaseLiabilityNoncurrent', window );">Long-term operating lease liabilities, net of current portion</a></td>
<td class="nump">9<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">44<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Liabilities', window );">TOTAL LIABILITIES</a></td>
<td class="nump">4,014<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,640<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>SHAREHOLDERS' EQUITY</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockValue', window );">Ordinary share, 20,000,000 shares authorized and no par value; 7,899,832 and 7,899,832 issued and outstanding as of December 31, 2024 and 2023</a></td>
<td class="nump">123<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">123<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapital', window );">Additional paid-in capital</a></td>
<td class="nump">9,774<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,762<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Treasury stock, 183,533 and 178,400 shares at cost, as of December 31, 2024 and 2023, respectively</a></td>
<td class="num">(807)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(800)<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_clwt_PRCStatutoryReserve', window );">PRC statutory reserve</a></td>
<td class="nump">345<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">342<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="nump">713<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">733<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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="nump">5,595<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,481<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Total shareholders' equity attributable to Euro Tech Holdings Company Limited</a></td>
<td class="nump">15,743<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">15,641<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<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 );">Noncontrolling interests</a></td>
<td class="nump">951<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">839<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Shareholders' equity</a></td>
<td class="nump">16,694<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">16,480<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<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 SHAREHOLDERS' EQUITY</a></td>
<td class="nump">20,708<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">22,120<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermInvestments', window );">Long-term investments</a></td>
<td class="nump">$ 5,540<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,540<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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember', window );">ZHEJIANG TIANLAN</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_AssetsCurrentAbstract', window );"><strong>Current asset:</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_AccountsReceivableNet', window );">Accounts receivable, net | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 135,056<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 128,235<span></span>
</td>
</tr>
<tr class="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 );">Prepayments and other current assets | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">30,788<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">23,741<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetNet', window );">Contract assets | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">66,644<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">72,880<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrent', window );">Total current assets | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">364,219<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">365,313<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsNoncurrentAbstract', window );"><strong>Non-current 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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property, plant and equipment, net | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">57,738<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">63,505<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Operating lease right-of-use assets, net | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,389<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_DeferredTaxAssets', window );">Deferred tax assets | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8,848<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,939<span></span>
</td>
</tr>
<tr class="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 | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">440,472<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">442,419<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrentAbstract', window );"><strong>Current liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_AccountsPayableCurrent', window );">Accounts payable | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">106,785<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">107,211<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAccountsPayableAndAccruedLiabilities', window );">Other payables and accrued expenses | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">22,371<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">23,720<span></span>
</td>
</tr>
<tr class="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 of long-term operating lease liabilities | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">563<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_LiabilitiesCurrent', window );">Total current liabilities | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">176,086<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">185,011<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesNoncurrentAbstract', window );"><strong>Non-current liabilities:</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_OperatingLeaseLiabilityNoncurrent', window );">Long-term operating lease liabilities, net of current portion</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,542<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Liabilities', window );">TOTAL LIABILITIES | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">181,830<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">186,424<span></span>
</td>
</tr>
<tr class="ro">
<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>SHAREHOLDERS' EQUITY</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_RetainedEarningsAccumulatedDeficit', window );">Retained earnings | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">106,049<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">105,766<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Total shareholders' equity attributable to Euro Tech Holdings Company Limited | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">251,479<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">249,510<span></span>
</td>
</tr>
<tr class="re">
<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 );">Noncontrolling interests | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,163<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,485<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Shareholders' equity | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">258,642<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">255,995<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquity', window );">TOTAL LIABILITIES AND SHAREHOLDERS' EQUITY | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">440,472<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">442,419<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Cash', window );">Cash | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">73,731<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">135,988<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Investments', window );">Inventories | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,708<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,469<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermInvestments', window );">Short-term investments | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">53,292<span></span>
</td>
<td class="text">&#160;<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_OtherIntangibleAssetsNet', window );">Intangible assets, net | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,528<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,763<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_clwt_LandLeaseRightOfUseAsset', window );">Land use right, net | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,550<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,699<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermInvestments', window );">Long-term investments | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,200<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsNoncurrent', window );">Total non-current assets | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">76,253<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">77,106<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherBorrowings', window );">Bank borrowings | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,006<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,509<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_clwt_ContractLiabilitiesCurrent', window );">Contract liabilities | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">35,367<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">43,452<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_clwt_OtherTaxesPayableCurrentLiabilities', window );">Other taxes payable | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,994<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,119<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_clwt_DeferredGovernmentGrant', window );">Deferred government grant | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,202<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,413<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesNoncurrent', window );">Total non-current liabilities | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,744<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,413<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_clwt_ShareCapital', window );">Share capital 82,572,000 no par value shares authorized, issued and outstanding, as of December 31, 2023 and 2022, respectively | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">82,572<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">82,572<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_clwt_CapitalReserve', window );">Capital reserve | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">35,761<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">35,761<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatutoryAccountingPracticesStatutoryCapitalAndSurplusBalance', window );">PRC statutory reserve | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 27,097<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 25,411<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_clwt_CapitalReserve">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_CapitalReserve</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_ContractLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- 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;">clwt_ContractLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_DeferredGovernmentGrant">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_DeferredGovernmentGrant</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_DeferredTaxAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_DeferredTaxAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_LandLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_LandLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_OtherTaxesPayableCurrentLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_OtherTaxesPayableCurrentLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_PRCStatutoryReserve">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_PRCStatutoryReserve</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_ShareCapital">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_ShareCapital</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AccountsReceivableNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477802/946-310-45-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(5)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 954<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479196/954-310-45-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(3))<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_AccountsReceivableNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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_AssetsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold or consumed after one year or beyond the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 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/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/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 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)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<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 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 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<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)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 17: 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_AssetsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_AssetsNoncurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AssetsNoncurrentAbstract</td>
</tr>
<tr>
<td style="padding-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_Cash">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477796/946-210-45-21<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -SubTopic 210<br> -Topic 946<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477796/946-210-45-20<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Cash</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_ContractWithCustomerAssetNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 in exchange for good or service transferred to customer when right is conditioned on something other than passage of 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/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479837/606-10-45-3<br><br>Reference 2: 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 3: 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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_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_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Investments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all investments.</p></div>
<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 944<br> -SubTopic 80<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480078/944-80-55-14<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 944<br> -SubTopic 80<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480078/944-80-55-9<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)(1)(h))<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 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(1)(6))<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_Investments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVentures">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 investment in equity method investee and investment in and advance to affiliate.</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(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVentures</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_LiabilitiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 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> -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(24))<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(25))<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(26))<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(23))<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 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 7: 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 8: 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 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/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/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 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)(iv))<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)(5))<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 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 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)(iii)(A))<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)(B))<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)(iv))<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)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 22: 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 23: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (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_LiabilitiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_LiabilitiesNoncurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_LiabilitiesNoncurrentAbstract</td>
</tr>
<tr>
<td style="padding-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_LongTermInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 total amount of investments that are intended to be held for an extended period of time (longer than one operating cycle).</p></div>
<a href="javascript: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(12))<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_LongTermInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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_OtherAccountsPayableAndAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 incurred and payable to vendors for goods and services received classified as other, and expenses incurred but not yet paid, payable within one year or the operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAccountsPayableAndAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_OtherBorrowings">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 for the aggregate of other miscellaneous borrowings owed by the reporting entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(13))<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_OtherBorrowings</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_OtherIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated amortization of finite-lived and indefinite-lived intangible assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidExpenseAndOtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-7A<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 360<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478451/942-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestrictedCashCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash restricted as to withdrawal or usage, classified as current. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-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_RestrictedCashCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_RestrictedCashNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash restricted as to withdrawal or usage, classified as noncurrent. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits.</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(17))<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> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -SubTopic 210<br> -Topic 954<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477220/954-210-45-5<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestrictedCashNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ShortTermBankLoansAndNotesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 borrowings from a bank classified as other, maturing within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://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)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(13)(a)(1))<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_ShortTermBankLoansAndNotesPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ShortTermInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 investments including trading securities, available-for-sale securities, held-to-maturity securities, and short-term investments classified as other and current.</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(4))<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 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 3: 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(8))<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_ShortTermInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_StatutoryAccountingPracticesStatutoryCapitalAndSurplusBalance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 statutory capital and surplus (stockholders' equity) as of the balance sheet date using prescribed or permitted statutory accounting practices (rather than GAAP, if different) of the state or country.</p></div>
<a href="javascript: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)(23)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 505<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477908/944-505-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_StatutoryAccountingPracticesStatutoryCapitalAndSurplusBalance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember</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>20
<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>CONSOLIDATED BALANCE SHEETS (Parenthetical) - shares<br></strong></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_CommonStockSharesAuthorized', window );">Common stock, authorized</a></td>
<td class="nump">20,000,000<span></span>
</td>
<td class="nump">20,000,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common stock, issued</a></td>
<td class="nump">7,899,832<span></span>
</td>
<td class="nump">7,899,832<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common stock, outstanding</a></td>
<td class="nump">7,716,299<span></span>
</td>
<td class="nump">7,721,432<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockCommonShares', window );">Treasury stock, shares</a></td>
<td class="nump">183,533<span></span>
</td>
<td class="nump">178,400<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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember', window );">ZHEJIANG TIANLAN</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_CommonStockSharesAuthorized', window );">Common stock, authorized</a></td>
<td class="nump">82,572,000<span></span>
</td>
<td class="nump">82,572,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_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_TreasuryStockCommonShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of previously issued common shares repurchased by the issuing entity and held in treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481549/505-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockCommonShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember</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>21
<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>CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME (LOSS)<br> &#165; in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="6">12 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>CNY (&#165;) </div>
<div>&#165; / shares </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>USD ($) </div>
<div>$ / shares </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>CNY (&#165;) </div>
<div>&#165; / shares </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($) </div>
<div>$ / shares </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>CNY (&#165;) </div>
<div>&#165; / shares </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($) </div>
<div>$ / shares </div>
<div>shares</div>
</th>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_RevenueFromTradingAndManufacturing', window );">Trading and manufacturing</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 9,549<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 12,143<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 9,332<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_clwt_RevenueFromEngineering', window );">Engineering</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,834<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,797<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,617<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">15,383<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">17,940<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">14,949<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfRevenueAbstract', window );"><strong>Cost of revenue:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_CostOfTradingAndManufacturing', window );">Trading and manufacturing</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(7,300)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(9,751)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(7,345)<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_clwt_CostOfEngineering', window );">Engineering</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(3,629)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(4,328)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2,986)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfRevenue', window );">Cost of revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(10,929)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(14,079)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(10,331)<span></span>
</td>
</tr>
<tr class="ro">
<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="text">&#160;<span></span>
</td>
<td class="nump">4,454<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,861<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,618<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingExpensesAbstract', window );"><strong>Operating expenses:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_clwt_FinanceCosts', window );">Finance costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(7)<span></span>
</td>
<td class="text">&#160;<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_GeneralAndAdministrativeExpense', window );">General and administrative expenses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(4,067)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(4,103)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(4,490)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnDispositionOfAssets', window );">Loss on disposal of property, plant and equipment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<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_OperatingExpenses', window );">Operating Expenses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(4,068)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(4,110)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(4,504)<span></span>
</td>
</tr>
<tr class="ro">
<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 );">INCOME (LOSS) FROM OPERATION</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">386<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(249)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">114<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpenseAbstract', window );"><strong>Other income:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestIncomeOther', window );">Interest income</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">96<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">37<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">23<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquitySecuritiesFvNiRealizedGainLoss', window );">Equity in income of affiliates</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">398<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,927<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">413<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_clwt_OtherIncomeNet', window );">Other income, net</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">37<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(20)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">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_OtherNonoperatingIncomeExpense', window );">Total other income, net</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">531<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,944<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">449<span></span>
</td>
</tr>
<tr class="ro">
<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 INCOME TAXES</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">917<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,695<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">563<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income tax (expense) credit</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(72)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(45)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(24)<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_clwt_NetIncome', window );">NET INCOME</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">845<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,650<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">539<span></span>
</td>
</tr>
<tr class="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 );">Net loss (income) attributable to noncontrolling interests</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(111)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">178<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(170)<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_clwt_NetIncomeAttributableToEuroTechHoldingsCompanyLimited', window );">Net income attributable to Euro Tech Holdings Company Limited</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">734<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,828<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">369<span></span>
</td>
</tr>
<tr class="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>Other comprehensive income (loss):</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">845<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,650<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">539<span></span>
</td>
</tr>
<tr class="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 adjustment loss</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(19)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(9)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(115)<span></span>
</td>
</tr>
<tr class="ro">
<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</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">826<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,641<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">424<span></span>
</td>
</tr>
<tr class="re">
<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 (loss) attributable to noncontrolling interests</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(111)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">195<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(117)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossTaxPortionAttributableToParent1', window );">Comprehensive income attributable to Euro Tech Holdings Company Limited</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 715<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,836<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 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_EarningsPerShareDiluted', window );">Net income per ordinary share attributable to Euro Tech Holdings Company Limited- Basic and Diluted | $ / shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.10<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.24<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.05<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Weighted average common shares outstanding- Basic and Diluted | shares</a></td>
<td class="nump">7,716,993<span></span>
</td>
<td class="nump">7,716,993<span></span>
</td>
<td class="nump">7,726,118<span></span>
</td>
<td class="nump">7,726,118<span></span>
</td>
<td class="nump">7,732,132<span></span>
</td>
<td class="nump">7,732,132<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 734<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,828<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 369<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember', window );">ZHEJIANG TIANLAN</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Revenue | &#165;</a></td>
<td class="nump">&#165; 348,465<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 325,176<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 403,118<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfRevenueAbstract', window );"><strong>Cost of revenue:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfRevenue', window );">Cost of revenue | &#165;</a></td>
<td class="num">(270,659)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(215,400)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(335,978)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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 | &#165;</a></td>
<td class="nump">77,806<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">109,766<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">67,140<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingExpensesAbstract', window );"><strong>Operating expenses:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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 );">INCOME (LOSS) FROM OPERATION | &#165;</a></td>
<td class="nump">13,874<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">52,896<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,893<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpenseAbstract', window );"><strong>Other income:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestIncomeOther', window );">Interest income | &#165;</a></td>
<td class="nump">813<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,217<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">105<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<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 INCOME TAXES | &#165;</a></td>
<td class="nump">14,831<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">86,606<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">15,398<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income tax (expense) credit | &#165;</a></td>
<td class="num">(365)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(16,069)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">368<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Net loss (income) attributable to noncontrolling interests | &#165;</a></td>
<td class="nump">302<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(366)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,458)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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>Other comprehensive income (loss):</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_NetIncomeLoss', window );">Net income | &#165;</a></td>
<td class="nump">&#165; 14,768<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 70,171<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 14,308<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Net income per ordinary share attributable to Euro Tech Holdings Company Limited- Basic and Diluted | &#165; / shares</a></td>
<td class="nump">&#165; 0.18<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 0.85<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 0.17<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Weighted average common shares outstanding- Basic and Diluted | shares</a></td>
<td class="nump">82,572,000<span></span>
</td>
<td class="nump">82,572,000<span></span>
</td>
<td class="nump">82,572,000<span></span>
</td>
<td class="nump">82,572,000<span></span>
</td>
<td class="nump">82,572,000<span></span>
</td>
<td class="nump">82,572,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_SellingGeneralAndAdministrativeExpense', window );">Selling and administrative expenses | &#165;</a></td>
<td class="num">&#165; (63,932)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">&#165; (56,880)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">&#165; (59,247)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestExpense', window );">Interest expense | &#165;</a></td>
<td class="num">(252)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(253)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(634)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherIncome', window );">Other income | &#165;</a></td>
<td class="nump">396<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">32,746<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11,789<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_clwt_OtherNonoperatingExpenses', window );">Other losses | &#165;</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(3,755)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income | &#165;</a></td>
<td class="nump">&#165; 14,466<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 70,537<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 15,766<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_clwt_CostOfEngineering">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_CostOfEngineering</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_CostOfTradingAndManufacturing">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_CostOfTradingAndManufacturing</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_FinanceCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_FinanceCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_NetIncome">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_NetIncome</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_NetIncomeAttributableToEuroTechHoldingsCompanyLimited">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_NetIncomeAttributableToEuroTechHoldingsCompanyLimited</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_OtherIncomeNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_OtherIncomeNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_OtherNonoperatingExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_OtherNonoperatingExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_RevenueFromEngineering">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_RevenueFromEngineering</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_RevenueFromTradingAndManufacturing">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_RevenueFromTradingAndManufacturing</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_CostOfRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate cost of goods produced and sold and services rendered during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfRevenueAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_CostOfRevenueAbstract</td>
</tr>
<tr>
<td style="padding-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_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_EquitySecuritiesFvNiRealizedGainLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 realized gain (loss) from sale of investment in equity security measured at fair value with change in fair value recognized in net income (FV-NI).</p></div>
<a href="javascript: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(3)(d)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 321<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479536/321-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_EquitySecuritiesFvNiRealizedGainLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_GainLossOnDispositionOfAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) on sale or disposal of property, plant and equipment assets, excluding oil and gas property and timber property.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482130/360-10-45-5<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 360<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/2147482099/360-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_GainLossOnDispositionOfAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_GeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-31<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-31<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-1<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_InterestExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of interest expense classified as operating and nonoperating. Includes, but is not limited to, cost of borrowing accounted for as interest expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 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 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-24<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 835<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483013/835-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestIncomeOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 earned from interest bearing assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestIncomeOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_OperatingExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingExpensesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingExpensesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-31<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_OtherComprehensiveIncomeLossTaxPortionAttributableToParent1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 tax expense (benefit) allocated to other comprehensive income (loss) attributable to parent entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -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://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 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(3)<br> -SubTopic 10<br> -Topic 810<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_OtherComprehensiveIncomeLossTaxPortionAttributableToParent1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_OtherIncome">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 and income 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 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 6<br> -Subparagraph (SX 210.12-14(Column E)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 6<br> -Subparagraph (SX 210.12-14(Column E)(Footnote 4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-6<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 6<br> -Subparagraph (SX 210.12-14(Column E)(Footnote 6)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-6<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(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(1)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherIncome</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (expense) related to nonoperating activities, classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNonoperatingIncomeExpenseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNonoperatingIncomeExpenseAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_Revenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/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 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<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 (b)<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 (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 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 8: 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 9: 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 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/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 21: 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 22: 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 23: 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 24: 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 25: 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 26: 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(1))<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_Revenues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember</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>22
<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>CONSOLIDATED STATEMENTS OF CASH FLOWS<br> &#165; in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="6">12 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>CNY (&#165;)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
<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_ProfitLoss', window );">Net income | $</a></td>
<td class="nump">$ 734<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,828<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 369<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Adjustments to reconcile net income to net cash provided by (used in) operating activities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation of property, plant and equipment | $</a></td>
<td class="nump">14<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">15<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">33<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_clwt_AmortizationOnRightOfUseAssets', window );">Amortization on right-of-use assets | $</a></td>
<td class="nump">132<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(14)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">19<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnDispositionOfAssets', window );">Loss on disposal of property, plant and equipment | $</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 expense | $</a></td>
<td class="nump">12<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">47<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">45<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_clwt_NonControllingInterestsInIncomeLossOfSubsidiaries', window );">Non-controlling interests in (loss) / income of subsidiaries | $</a></td>
<td class="nump">111<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(178)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">170<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_clwt_AdjustmentInAdvancesToAffiliatesAmountOfEquityProfit', window );">Equity in profit of affiliates | $</a></td>
<td class="num">(398)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,927)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(413)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes', window );">Deferred tax expenses | $</a></td>
<td class="nump">41<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">34<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_ChangeInNonCurrentAssetsAndLiabilitiesAbstract', window );"><strong>Change in non-current assets and liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_IncreaseDecreaseInOperatingLeaseLiabiltyCurrent', window );">Long-term operating lease obligations | $</a></td>
<td class="num">(35)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(43)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">46<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract', window );"><strong>Change in operating assets and liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsReceivable', window );">Accounts receivable | $</a></td>
<td class="nump">1,478<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,278)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,045<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<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 );">Prepayments and other current assets | $</a></td>
<td class="num">(25)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">240<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">86<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInContractWithCustomerAsset', window );">Contract assets | $</a></td>
<td class="num">(69)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">151<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(143)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInInventories', window );">Inventories | $</a></td>
<td class="nump">223<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(120)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(56)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayable', window );">Accounts payables | $</a></td>
<td class="num">(1,177)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,177<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(872)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Contract liabilities | $</a></td>
<td class="num">(57)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">25<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(451)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherAccountsPayableAndAccruedLiabilities', window );">Other payables and accrued expenses | $</a></td>
<td class="num">(74)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(107)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(354)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable', window );">Income tax payable | $</a></td>
<td class="num">(42)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">42<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(42)<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_clwt_IncreaseDecreaseInRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability', window );">Right-of-use assets and operating lease liabilities | $</a></td>
<td class="num">(87)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">57<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(62)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Net cash (used in) provided by operating activities | $</a></td>
<td class="nump">781<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(80)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">461<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract', window );"><strong>Cash flows from investing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Payment to acquire property, plant and equipment | $</a></td>
<td class="num">(5)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(5)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(7)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromDividendsReceived', window );">Dividend received from affiliates | $</a></td>
<td class="nump">307<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">322<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">239<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<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 provided by investing activities | $</a></td>
<td class="nump">302<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">317<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">232<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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>
<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_PaymentsOfDividends', window );">Dividend paid | $</a></td>
<td class="num">(617)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(464)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsForRepurchaseOfCommonStock', window );">Purchase of treasury stock | $</a></td>
<td class="num">(7)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(14)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromBankDebt', window );">Proceeds from bank borrowings | $</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">666<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">868<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RepaymentsOfBankDebt', window );">Repayment to bank borrowings | $</a></td>
<td class="num">(154)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(734)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,022)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivities', window );">Net cash used in financing activities | $</a></td>
<td class="num">(778)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(82)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(618)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Foreign currency translation adjustment | $</a></td>
<td class="nump">19<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">112<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<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 change in cash, cash equivalents and restricted cash | $</a></td>
<td class="nump">286<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">147<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(37)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">BEGINNING OF YEAR | $</a></td>
<td class="nump">6,790<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,643<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,680<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">END OF YEAR | $</a></td>
<td class="nump">7,076<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,790<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,643<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_RepresentedByAbstract', window );"><strong>Represented by:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_EffectOfExchangeRateOnCashCashEquivalents', window );">Cash and cash equivalents | $</a></td>
<td class="nump">5,805<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,453<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,628<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_clwt_EffectOfExchangeRateOnRestrictedCash', window );">Restricted cash | $</a></td>
<td class="nump">1,271<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,337<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,015<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_clwt_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCash', window );">Cash and cash equivalents restricted cash | $</a></td>
<td class="nump">7,076<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,790<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,643<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SupplementalCashFlowInformationAbstract', window );"><strong>SUPPLEMENTAL DISCLOSURE OF CASH FLOW INFORMATION:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_IncomeTaxesPaidNet', window );">Cash paid for income taxes | $</a></td>
<td class="nump">77<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">42<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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="nump">$ 1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 7<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 7<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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember', window );">ZHEJIANG TIANLAN</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_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>
<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_ProfitLoss', window );">Net income</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 14,466<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 70,537<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 15,766<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Adjustments to reconcile net income to net cash provided by (used in) operating activities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_Depreciation', window );">Depreciation of property, plant and equipment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,175<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,964<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,580<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes', window );">Deferred tax expenses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2,909)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8,727<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(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_IncreaseDecreaseInOperatingCapitalAbstract', window );"><strong>Change in operating assets and liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsReceivable', window );">Accounts receivable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(6,821)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,538<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(28,768)<span></span>
</td>
</tr>
<tr class="re">
<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 );">Prepayments and other current assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(7,047)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2,590)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(12,347)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInContractWithCustomerAsset', window );">Contract assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,236<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(4,112)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(8,241)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInInventories', window );">Inventories</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(239)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(70)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,014)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayable', window );">Accounts payables</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">426<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(21,502)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">34,751<span></span>
</td>
</tr>
<tr class="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 );">Contract liabilities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8,085<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8,949<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2,978)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherAccountsPayableAndAccruedLiabilities', window );">Other payables and accrued expenses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,349<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(64,781)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">70,063<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Net cash (used in) provided by operating activities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(40,233)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(10,649)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">100,149<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract', window );"><strong>Cash flows from investing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Payment to acquire property, plant and equipment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(408)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,708)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,143)<span></span>
</td>
</tr>
<tr class="ro">
<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 provided by investing activities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(8,726)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">37,466<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(16,343)<span></span>
</td>
</tr>
<tr class="re">
<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>
<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_ProceedsFromBankDebt', window );">Proceeds from bank borrowings</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,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_RepaymentsOfBankDebt', window );">Repayment to bank borrowings</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(6,500)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(5,500)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(14,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_NetCashProvidedByUsedInFinancingActivities', window );">Net cash used in financing activities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(13,298)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(12,211)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(17,400)<span></span>
</td>
</tr>
<tr class="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 );">BEGINNING OF YEAR</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">135,988<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">121,382<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">54,976<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">END OF YEAR</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">73,731<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">135,988<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">121,382<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SupplementalCashFlowInformationAbstract', window );"><strong>SUPPLEMENTAL DISCLOSURE OF CASH FLOW INFORMATION:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_IncomeTaxesPaidNet', window );">Cash paid for income taxes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<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_InterestPaidNet', window );">Cash paid for interest</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">252<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">253<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">626<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AmortizationOfIntangibleAssets', window );">Amortization of intangible assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">235<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">246<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">257<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_clwt_AmortizationOfLandUseRight', window );">Amortization of land use right</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">149<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">180<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">150<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense', window );">Amortization of right-of-use Assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">141<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CapitalizedContractCostImpairmentLoss', window );">Impairment loss on contract assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">723<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2,158)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,560<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_clwt_ImpairmentLossOnShortTermInvestments', window );">Impairment loss on short-term investments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">195<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainOnSaleOfInvestments', window );">Fair value gain on short term investment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">248<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">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_ProceedsFromDeferredGovernmentGrant', window );">Proceeds from deferred government grant</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">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">700<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_clwt_PropertyPlantAndEquipmentWrittenOff', window );">Property, plant and equipment written off</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">(36,241)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">218<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_clwt_ReversalOfAllowanceForDoubtfulAccounts', window );">Reversal of allowance for doubtful accounts</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">(677)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(983)<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_clwt_IncreaseDecreaseInDeferredGovernmentGrant', window );">Deferred government grant</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2,789)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">386<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(3,562)<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_clwt_IncreaseDecreaseInOperatingLeaseRightOfUseAssets', window );">Operating lease right-of-use Assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2,389)<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_IncreaseDecreaseInOperatingLeaseLiability', window );">Operating lease liabilities, non-current</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,542)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_IncreaseDecreaseInShortTermInvestments', window );">Short-term investments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(53,292)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">14,805<span></span>
</td>
<td class="text">&#160;<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_IncreaseDecreaseInPropertyAndOtherTaxesPayable', window );">Other taxes payable</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(875)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(4,074)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,469<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_clwt_IncreaseDecreaseInOperatingLeaseLiabilitiesCurrent', window );">Operating lease liabilities, current</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(563)<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">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_CapitalInjectionProceedFromInvestment', window );">(Capital injection)/proceed from investment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(8,318)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment', window );">Proceeds from sale of property, plant and equipment</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">39,374<span></span>
</td>
<td class="text">&#160;<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_PaymentsToAcquireIntangibleAssets', window );">Purchase of 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>
<td class="num">(200)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(200)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireShortTermInvestments', window );">Purchase of short-term investments</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">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(15,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_DividendsAndInterestPaid', window );">Dividend paid to shareholders and interest paid</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(12,798)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(13,211)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(9,400)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect', window );">Net increase in cash and cash equivalents</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(62,257)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">14,606<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">66,406<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_clwt_NonCashFinanceLeases', window );">Finance leases (disclosed in accompanying Note 3)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_clwt_AdjustmentInAdvancesToAffiliatesAmountOfEquityProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_AdjustmentInAdvancesToAffiliatesAmountOfEquityProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_AmortizationOfLandUseRight">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_AmortizationOfLandUseRight</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_AmortizationOnRightOfUseAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_AmortizationOnRightOfUseAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_CapitalInjectionProceedFromInvestment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_CapitalInjectionProceedFromInvestment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_ChangeInNonCurrentAssetsAndLiabilitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_ChangeInNonCurrentAssetsAndLiabilitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</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_clwt_EffectOfExchangeRateOnCashCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_EffectOfExchangeRateOnCashCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCash">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCash</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_EffectOfExchangeRateOnRestrictedCash">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_EffectOfExchangeRateOnRestrictedCash</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_ImpairmentLossOnShortTermInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_ImpairmentLossOnShortTermInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_IncreaseDecreaseInDeferredGovernmentGrant">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_IncreaseDecreaseInDeferredGovernmentGrant</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_IncreaseDecreaseInOperatingLeaseLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_IncreaseDecreaseInOperatingLeaseLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_IncreaseDecreaseInOperatingLeaseLiabiltyCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_IncreaseDecreaseInOperatingLeaseLiabiltyCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_IncreaseDecreaseInOperatingLeaseRightOfUseAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_IncreaseDecreaseInOperatingLeaseRightOfUseAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_IncreaseDecreaseInRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_IncreaseDecreaseInRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_IncreaseDecreaseInShortTermInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_IncreaseDecreaseInShortTermInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_NonCashFinanceLeases">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_NonCashFinanceLeases</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_NonControllingInterestsInIncomeLossOfSubsidiaries">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_NonControllingInterestsInIncomeLossOfSubsidiaries</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_ProceedsFromDeferredGovernmentGrant">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_ProceedsFromDeferredGovernmentGrant</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_PropertyPlantAndEquipmentWrittenOff">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_PropertyPlantAndEquipmentWrittenOff</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_RepresentedByAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_RepresentedByAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</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_clwt_ReversalOfAllowanceForDoubtfulAccounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_ReversalOfAllowanceForDoubtfulAccounts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_CapitalizedContractCostImpairmentLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of impairment loss for asset recognized from cost incurred to obtain or fulfill 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 340<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479483/340-40-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_CapitalizedContractCostImpairmentLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; excluding 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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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_Depreciation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Depreciation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DividendsAndInterestPaid">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 contractual amount of dividends (or interest on participating income bonds) that must be paid for the current period (for example, unpaid cumulative dividends).</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 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DividendsAndInterestPaid</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_GainLossOnDispositionOfAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) on sale or disposal of property, plant and equipment assets, excluding oil and gas property and timber property.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482130/360-10-45-5<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 360<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/2147482099/360-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_GainLossOnDispositionOfAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_GainOnSaleOfInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 difference between the carrying value and the sale price of an investment. A gain would be recognized when the sale price of the investment is greater than the carrying value of the investment. This element refers to the Gain included in earnings and not to the cash proceeds of the sale.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/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(9)(a))<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 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(7)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(13))<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_GainOnSaleOfInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IncomeTaxesPaidNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after refund, of cash paid to foreign, federal, state, and local jurisdictions as income tax.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-2A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 23<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-23<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-22<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxesPaidNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the period in the amount due for taxes based on the reporting entity's earnings or attributable to the entity's income earning process (business presence) within a given jurisdiction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInContractWithCustomerAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of 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/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_IncreaseDecreaseInContractWithCustomerAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_IncreaseDecreaseInDeferredIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 account that represents the temporary difference that results from Income or Loss that is recognized for accounting purposes but not for tax purposes and vice versa.</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_IncreaseDecreaseInDeferredIncomeTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_IncreaseDecreaseInInventories">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInInventories</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOperatingCapitalAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 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/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><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(1)<br> -SubTopic 20<br> -Topic 842<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_IncreaseDecreaseInOperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_IncreaseDecreaseInOtherAccountsPayableAndAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 other obligations or expenses incurred but not yet paid.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherAccountsPayableAndAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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_IncreaseDecreaseInPropertyAndOtherTaxesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the period in the amount of cash payments due to taxing authorities for non-income-related taxes.</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_IncreaseDecreaseInPropertyAndOtherTaxesPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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_OperatingLeaseRightOfUseAssetAmortizationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 periodic reduction over lease term of carrying amount of right-of-use asset 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/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_PaymentsForRepurchaseOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow to reacquire common stock during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsForRepurchaseOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_PaymentsOfDividends">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cash outflow in the form of capital distributions and dividends to common shareholders, preferred shareholders and noncontrolling interests.</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 (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsOfDividends</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow to acquire asset without physical form usually arising from contractual or other legal rights, excluding goodwill.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquirePropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireShortTermInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 securities or other assets acquired, which qualify for treatment as an investing activity and are to be liquidated, if necessary, within the current operating cycle. Includes cash flows from securities classified as trading securities that were acquired for reasons other than sale in the short-term.</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> -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_PaymentsToAcquireShortTermInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromBankDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from bank borrowing during the year.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromBankDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromDividendsReceived">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Dividends received on equity and other investments 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://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 16<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-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_ProceedsFromDividendsReceived</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from the sale of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_RepaymentsOfBankDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow to settle a bank borrowing during the year.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RepaymentsOfBankDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SupplementalCashFlowInformationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SupplementalCashFlowInformationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember</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>23
<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>CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS' EQUITY<br></strong></div></th>
<th class="th"><div>USD ($)</div></th>
<th class="th">
<div>Ordinary Share </div>
<div>USD ($) </div>
<div>shares</div>
</th>
<th class="th">
<div>Additional Paid-In Capital </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Accumulated other comprehensive loss </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>PRC Statutory Reserves </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Retained Earnings </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Non-controlling Interests </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Treasury Stock </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>ZHEJIANG TIANLAN </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Zhejiang Tianlan Share Capital </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Zhejiang Tianlan Capital Reserve </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Zhejiang Tianlan PRC Statutory Reserve </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Zhejiang Tianlan Retained Earnings </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Zhejiang Tianlan Non Controlling Interests </div>
<div>CNY (&#165;)</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, amount at Dec. 31, 2021</a></td>
<td class="nump">$ 14,801,000<span></span>
</td>
<td class="nump">$ 123,000<span></span>
</td>
<td class="nump">$ 9,670,000<span></span>
</td>
<td class="nump">$ 787,000<span></span>
</td>
<td class="nump">$ 316,000<span></span>
</td>
<td class="nump">$ 3,774,000<span></span>
</td>
<td class="nump">$ 917,000<span></span>
</td>
<td class="num">$ (786,000)<span></span>
</td>
<td class="nump">&#165; 192,620,000<span></span>
</td>
<td class="nump">&#165; 82,572,000<span></span>
</td>
<td class="nump">&#165; 35,761,000<span></span>
</td>
<td class="nump">&#165; 16,582,000<span></span>
</td>
<td class="nump">&#165; 55,409,000<span></span>
</td>
<td class="nump">&#165; 5,296,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_SharesIssued', window );">Balance, shares at Dec. 31, 2021 | shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,899,832<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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_ForeignCurrencyTranslationAdjustment', window );">Foreign currency translation adjustment</a></td>
<td class="num">(115,000)<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(62,000)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(53,000)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_clwt_AppropriationOfReserves', window );">Appropriation of reserves | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">1,442,000<span></span>
</td>
<td class="num">(1,442,000)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_DividendPaidAmount', window );">Dividend paid</a></td>
<td class="num">(464,000)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(464,000)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(9,400,000)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(9,082,000)<span></span>
</td>
<td class="num">(318,000)<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_clwt_StockBasedCompensationExpenseAmount', window );">Stock-based compensation expense</a></td>
<td class="nump">45,000<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">45,000<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_clwt_AppropriationToStatutoryReserve', window );">Appropriation to statutory reserve</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">46,000<span></span>
</td>
<td class="num">(46,000)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 for the year</a></td>
<td class="nump">539,000<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">369,000<span></span>
</td>
<td class="nump">170,000<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">15,766,000<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">14,308,000<span></span>
</td>
<td class="nump">1,458,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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Balance, amount at Dec. 31, 2022</a></td>
<td class="nump">14,806,000<span></span>
</td>
<td class="nump">$ 123,000<span></span>
</td>
<td class="nump">9,715,000<span></span>
</td>
<td class="nump">725,000<span></span>
</td>
<td class="nump">362,000<span></span>
</td>
<td class="nump">3,633,000<span></span>
</td>
<td class="nump">1,034,000<span></span>
</td>
<td class="num">(786,000)<span></span>
</td>
<td class="nump">198,986,000<span></span>
</td>
<td class="nump">82,572,000<span></span>
</td>
<td class="nump">35,761,000<span></span>
</td>
<td class="nump">18,024,000<span></span>
</td>
<td class="nump">56,193,000<span></span>
</td>
<td class="nump">6,436,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_SharesIssued', window );">Balance, shares at Dec. 31, 2022 | shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,899,832<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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_ForeignCurrencyTranslationAdjustment', window );">Foreign currency translation adjustment</a></td>
<td class="num">(9,000)<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">8,000<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(17,000)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_clwt_AppropriationOfReserves', window );">Appropriation of reserves | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">301,000<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">7,387,000<span></span>
</td>
<td class="num">(7,387,000)<span></span>
</td>
<td class="nump">301,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_clwt_StockBasedCompensationExpenseAmount', window );">Stock-based compensation expense</a></td>
<td class="nump">47,000<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">47,000<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_clwt_AppropriationToStatutoryReserve', window );">Appropriation to statutory reserve</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(20,000)<span></span>
</td>
<td class="nump">20,000<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_NetIncomeLoss', window );">Net income for the year</a></td>
<td class="nump">1,650,000<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">1,828,000<span></span>
</td>
<td class="num">(178,000)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">70,537,000<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">70,171,000<span></span>
</td>
<td class="nump">366,000<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_clwt_PurchaseSharesOfTreasuryStock', window );">Purchase 10,700 shares of treasury stock</a></td>
<td class="num">(14,000)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(14,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="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_DividendPaid', window );">Dividend paid | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(13,829,000)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(13,211,000)<span></span>
</td>
<td class="num">(618,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_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Balance, amount at Dec. 31, 2023</a></td>
<td class="nump">16,480,000<span></span>
</td>
<td class="nump">$ 123,000<span></span>
</td>
<td class="nump">9,762,000<span></span>
</td>
<td class="nump">733,000<span></span>
</td>
<td class="nump">342,000<span></span>
</td>
<td class="nump">5,481,000<span></span>
</td>
<td class="nump">839,000<span></span>
</td>
<td class="num">(800,000)<span></span>
</td>
<td class="nump">255,995,000<span></span>
</td>
<td class="nump">82,572,000<span></span>
</td>
<td class="nump">35,761,000<span></span>
</td>
<td class="nump">25,411,000<span></span>
</td>
<td class="nump">105,766,000<span></span>
</td>
<td class="nump">6,485,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_SharesIssued', window );">Balance, shares at Dec. 31, 2023 | shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,899,832<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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_ForeignCurrencyTranslationAdjustment', window );">Foreign currency translation adjustment</a></td>
<td class="num">(19,000)<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(20,000)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">1,000<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_clwt_AppropriationOfReserves', window );">Appropriation of reserves | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">980,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,686,000<span></span>
</td>
<td class="num">(1,686,000)<span></span>
</td>
<td class="nump">980,000<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_clwt_DividendPaidAmount', window );">Dividend paid</a></td>
<td class="num">(617,000)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(617,000)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(12,798,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="num">(12,798,000)<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_clwt_StockBasedCompensationExpenseAmount', window );">Stock-based compensation expense</a></td>
<td class="nump">12,000<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">12,000<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_clwt_AppropriationToStatutoryReserve', window );">Appropriation to statutory reserve</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">3,000<span></span>
</td>
<td class="num">(3,000)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_NetIncomeLoss', window );">Net income for the year</a></td>
<td class="nump">845,000<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">734,000<span></span>
</td>
<td class="nump">111,000<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">14,465,000<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">14,767,000<span></span>
</td>
<td class="num">(302,000)<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_clwt_PurchaseSharesOfTreasuryStock', window );">Purchase 10,700 shares of treasury stock</a></td>
<td class="num">(7,000)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(7,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, amount at Dec. 31, 2024</a></td>
<td class="nump">$ 16,694,000<span></span>
</td>
<td class="nump">$ 123,000<span></span>
</td>
<td class="nump">$ 9,774,000<span></span>
</td>
<td class="nump">$ 713,000<span></span>
</td>
<td class="nump">$ 345,000<span></span>
</td>
<td class="nump">$ 5,595,000<span></span>
</td>
<td class="nump">$ 951,000<span></span>
</td>
<td class="num">$ (807,000)<span></span>
</td>
<td class="nump">&#165; 258,642,000<span></span>
</td>
<td class="nump">&#165; 82,572,000<span></span>
</td>
<td class="nump">&#165; 35,761,000<span></span>
</td>
<td class="nump">&#165; 27,097,000<span></span>
</td>
<td class="nump">&#165; 106,049,000<span></span>
</td>
<td class="nump">&#165; 7,163,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_SharesIssued', window );">Balance, shares at Dec. 31, 2024 | shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,899,832<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>
<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_clwt_AppropriationOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_AppropriationOfReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_AppropriationToStatutoryReserve">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_AppropriationToStatutoryReserve</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_DividendPaid">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_DividendPaid</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_DividendPaidAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_DividendPaidAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_ForeignCurrencyTranslationAdjustment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_ForeignCurrencyTranslationAdjustment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_PurchaseSharesOfTreasuryStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_PurchaseSharesOfTreasuryStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_StockBasedCompensationExpenseAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_StockBasedCompensationExpenseAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_SharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 stock issued as of the balance sheet date, including shares that had been issued and were previously outstanding but which are now 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> -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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharesIssued</td>
</tr>
<tr>
<td style="padding-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_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>24
<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>Insider Trading Arrangements<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_ecd_InsiderTradingArrLineItems', window );"><strong>Insider Trading Arragement [Line Items]</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 Arragement Adopted [Flag]</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_Rule10b51ArrTrmntdFlag', window );">Rule 10b5-1 Arragement Treatment [Flag]</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_NonRule10b51ArrAdoptedFlag', window );">Non Rule 10b5-1 Arragement Adopted [Flag]</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 Arragement Treatment [Flag]</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_InsiderTradingArrLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_InsiderTradingArrLineItems</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_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>25
<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>Cybersecurity Risk Management and Strategy Disclosure<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_cyd_CybersecurityRiskManagementStrategyAndGovernanceLineItems', window );"><strong>Cybersecurity Risk Management, Strategy, and Governance [Line Items]</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_cyd_CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock', window );">Cybersecurity Risk Management Processes for Assessing, Identifying, and Managing Threats [Text Block]</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">We have implemented robust processes for assessing, identifying and managing material risks from cybersecurity threats and monitoring the prevention, detection, mitigation and remediation of material cybersecurity incident. We have also integrated cybersecurity risk management into our overall enterprise risk management system. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">We have established a dynamic and multi-layered cybersecurity defense system to effectively mitigate both internal and external cybersecurity threats. This comprehensive system spans multiple security domains, including network, host, and application layers. It integrates a range of security capabilities such as threat defense, continuous monitoring, in-depth analysis and rapid response. Our approach to managing cybersecurity risks and safeguarding sensitive data is multi-faceted, involving technological safeguards, procedural protocols, a rigorous program of surveillance on our corporate network, ongoing internal and external evaluations of our security measures, a solid incident response framework, and regular cybersecurity training sessions for our employees. Our cybersecurity department is actively engaged in continuous monitoring of our applications, platforms and infrastructure to ensure prompt identification and response to potential issues, including emerging cybersecurity threats. </p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cyd_CybersecurityRiskManagementProcessesIntegratedFlag', window );">Cybersecurity Risk Management Processes Integrated [Flag]</a></td>
<td class="text">true<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_cyd_CybersecurityRiskProcessForInformingBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock', window );">Cybersecurity Risk Process for Informing Board Committee or Subcommittee Responsible for Oversight [Text Block]</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">If a cybersecurity incident occurs, our cybersecurity department will promptly organize personnel for internal assessment and report to our cybersecurity committee. If it is further determined that the incident could potentially be a material cybersecurity event, our cybersecurity officer will promptly report the incident and assessment results to our disclosure committee and external legal counsel to the extent appropriate. Our cybersecurity officer shall prepare disclosure material on the cybersecurity incident for review and approval by our disclosure committee and board of directors, before it is disseminated to the public. </p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cyd_CybersecurityRiskRoleOfManagementTextBlock', window );">Cybersecurity Risk Role of Management [Text Block]</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">At management level, our cybersecurity committee is responsible for overseeing the process of assessing, identifying and managing material risks from cybersecurity threats to our company and monitoring the prevention, detection, mitigation and remediation of material cybersecurity incident. Our cybersecurity officer, as the management representative of our cybersecurity committee, reports to our board of directors on (i) a quarterly basis on updates to the status of any material cybersecurity incidents or material risks from cybersecurity threats to our company, and the disclosure issues, if any, and (ii) on disclosure concerning cybersecurity matters in our annual report on Form 20-F.</p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_cyd_CybersecurityRiskManagementPositionsOrCommitteesResponsibleReportToBoardFlag', window );">Cybersecurity Risk Management Positions or Committees Responsible Report to Board [Flag]</a></td>
<td class="text">true<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cyd_CybersecurityRiskManagementPositionsOrCommitteesResponsibleReportToBoardFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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> -Section 106<br> -Subsection c<br> -Paragraph 2<br> -Subparagraph iii<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Section 16K<br> -Subsection c<br> -Paragraph 2<br> -Subparagraph iii<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cyd_CybersecurityRiskManagementPositionsOrCommitteesResponsibleReportToBoardFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cyd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>i: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_cyd_CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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> -Section 106<br> -Subsection b<br> -Paragraph 1<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Section 16K<br> -Subsection b<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;">cyd_CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cyd_</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_cyd_CybersecurityRiskManagementProcessesIntegratedFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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> -Section 106<br> -Subsection b<br> -Paragraph 1<br> -Subparagraph i<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Section 16K<br> -Subsection b<br> -Paragraph 1<br> -Subparagraph i<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cyd_CybersecurityRiskManagementProcessesIntegratedFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cyd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>i: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_cyd_CybersecurityRiskManagementStrategyAndGovernanceLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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> -Section 106<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Section 16K<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cyd_CybersecurityRiskManagementStrategyAndGovernanceLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cyd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>i: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_cyd_CybersecurityRiskProcessForInformingBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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> -Section 106<br> -Subsection c<br> -Paragraph 1<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Section 16K<br> -Subsection c<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;">cyd_CybersecurityRiskProcessForInformingBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cyd_</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_cyd_CybersecurityRiskRoleOfManagementTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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> -Section 106<br> -Subsection c<br> -Paragraph 2<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Section 16K<br> -Subsection c<br> -Paragraph 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;">cyd_CybersecurityRiskRoleOfManagementTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cyd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>26
<FILENAME>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>Organization and Business Background<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract', window );"><strong>Organization and Business Background</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock', window );">Organization and Business Background</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Note 1: Organization and Business Background </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Euro Tech Holdings Company Limited (the &#8220;Company&#8221; or &#8220;CLWT&#8221;) was incorporated in the British Virgin Islands on September 30, 1996.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Euro Tech (Far East) Limited (&#8220;Far East&#8221;) is the principal operating subsidiary of the Company. It is principally engaged in the marketing and trading of water and waste water related process control, analytical and testing instruments, disinfection equipment, supplies and related automation systems in Hong Kong and in the People&#8217;s Republic of China (the &#8220;PRC&#8221;).</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Company&#8217;s principal subsidiaries at December 31, 2024 and 2023 are set out below.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="text-decoration:underline">Description of subsidiaries</span></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="BORDER-BOTTOM: 1px solid;width:21%;vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Company name</strong></p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>&#160;</strong></p></td><td style="BORDER-BOTTOM: 1px solid;width:17%;vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Place of incorporation and principal place of operation</strong></p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>&#160;</strong></p></td><td style="BORDER-BOTTOM: 1px solid;width:34%;vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Principal activities</strong></p><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>and place of operation</strong></p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>&#160;</strong></p></td><td colspan="3" style="BORDER-BOTTOM: 1px solid;width:20%;vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Effective interest</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>held</strong></p></td></tr><tr style="height:15px"><td style="width:21%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="width:1%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="width:17%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="width:1%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="width:34%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="width:1%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="width:1%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>&#160;</strong></p></td><td style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td></tr><tr style="height:15px"><td style="width:21%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:17%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:34%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="width:21%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Euro Tech (Far East) Limited</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:17%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Hong Kong</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:34%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Marketing and trading of water and waste water related process control, analytical and testing instruments, disinfection equipment, supplies and related automation systems</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">100%</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">100%</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="width:21%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:17%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:34%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;</p></td><td style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="width:21%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Euro Tech Trading (Shanghai) Limited</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:17%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">The PRC</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:34%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Inactive</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">100%</p></td><td style="width:1%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;</p></td><td style="width:9%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">100%</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="width:21%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:17%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:34%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="width:21%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Shanghai Euro Tech Limited #</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:17%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">The PRC</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:34%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Manufacturing of analytical and testing equipment</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">-</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">100%</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="width:21%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:17%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:34%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="width:21%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Yixing Pact Environmental Technology Co., Ltd.</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:17%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">The PRC</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:34%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Design, manufacturing and operation of water and wastewater treatment and water desalination machinery and equipment</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">58%</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">58%</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="width:21%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:17%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:34%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="width:21%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Pact Asia Pacific Limited</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:17%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">The British Virgin Islands</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:34%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Sale of environmental protection equipment, undertaking environment protection projects and providing relevant technology advice, training and services</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">58%</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">58%</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="width:21%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:17%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:34%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="width:21%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">PACT Environmental Technology Pte. Ltd. #</p></td><td style="width:1%;"></td><td style="width:17%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Singapore</p></td><td style="width:1%;"></td><td style="width:34%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Marketing and provision of after sales services of ballast water treatment systems and customized industrial wastewater solutions, equipment fabrication</p></td><td style="width:1%;"></td><td style="width:9%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">58%</p></td><td style="width:1%;"></td><td style="width:9%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">-</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="width:21%;"></td><td style="width:1%;"></td><td style="width:17%;"></td><td style="width:1%;"></td><td style="width:34%;"></td><td style="width:1%;"></td><td style="width:9%;"></td><td style="width:1%;"></td><td style="width:9%;"></td></tr><tr style="height:15px;background-color:#cceeff"><td colspan="3" style="width:40%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Non-consolidating affiliate:</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:34%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="width:21%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:17%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:34%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="width:21%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Zhejiang Tianlan Environmental Protection Technology Co. Ltd (&#8220;Blue Sky&#8221;) *&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:17%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">The PRC</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:34%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Design, general contract, equipment manufacturing, installation, testing and operation management of the treatment of waste gases emitted</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">19.4%</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">19.4%</p></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160; </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"># This company was deregistered on October 8, 2024.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">#&#160;This company was incorporated on November 7, 2024.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">* The Company&#8217;s interest in Blue Sky has been counted for as an affiliate using the equity method as the Company has representation on both the Board and Executive Committee of Blue Sky, and the ability to participate in the decision-making process and exercise significant influence.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Company and its subsidiaries are hereinafter referred to as (the &#8220;Group&#8221;).</p><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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember', window );">ZHEJIANG TIANLAN</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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract', window );"><strong>Organization and Business Background</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_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock', window );">Organization and Business Background</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>1. </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Organization and business</strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Zhejiang Tianlan Environmental Protection Technology Company Limited&#160;(the &#8220;Company&#8221;) was incorporated in&#160;Hangzhou City, Zhejiang Province, the People&#8217;s Republic of China (&#8220;PRC&#8221;) on May 18, 2000. The Company is a limited liability company limited by shares with an operating period up to long term.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">The Company provides a comprehensive service for design, general contract, equipment manufacturing, installation, testing and operation management of the treatment of waste gases emitted from various boilers and industrial furnaces of power plants, steel works and chemical plants since 2000.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">The Company has listed its shares on the New Third Board in the PRC since November 17, 2015 and suspended trading from August 15, 2017 and resumed trading on February 2, 2018 and suspended trading from November 24, 2020 and resumed trading on January 6, 2021.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">The Group&#8217;s principal subsidiaries at December 31, 2024 and 2023 are set out below.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Name of entity </strong></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="6" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Ownership interest held by the Group </strong></p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Place of incorporation and principal place of operation </strong></p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Principal activities</strong></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:0.1pt">Zhejiang Tianlan Environmental Protection Engineering Company Limited&#160; </p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">100</p></td><td style="width:3%;vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">%*</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">100</p></td><td style="width:3%;vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">%*</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">PRC</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:35%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Design, general contract, installation and operating management of environmental protection projects&#160; </p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:0.1pt">Hangzhou Tianlan Environmental Protection Equipment Company Limited</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">51</p></td><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">%</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">51</p></td><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">%</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">PRC</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">Manufacturing and installation services of environmental protection equipment</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:0.1pt">Hangzhou Tianlan Pure Environmental Protection Technology Company Limited </p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">38.25</p></td><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">%</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">38.25</p></td><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">%</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">PRC</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">Manufacturing of environmental protection equipment</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:0.1pt">Hangzhou Tiancan Environmental Technology Company Limited </p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">80</p></td><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">%</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">80</p></td><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">%</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">PRC</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">Manufacturing of environmental protection equipment</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:0.1pt">Hangzhou Zhongyi Ecological and Environmental Consulting Company Limited</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">40.1</p></td><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;%**</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">40.1</p></td><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;%**</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">PRC</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">Consultation services of environmental protection projects</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:0.1pt">Xuancheng Lanjing Environmental Protection Equipment Co., Ltd</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;19.51 </p></td><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">%</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">-</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">PRC</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">Manufacturing and installation services of environmental protection equipment</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">* This company was acquired in August 2020. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">** This company was acquired in April 2022.</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_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for organization, consolidation and basis of presentation of financial statements disclosure.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480424/946-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480424/946-10-50-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 810<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/810/tableOfContent<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/205/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember</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>27
<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>Summary of significant accounting policies<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_SignificantAccountingPoliciesTextBlock', window );">Summary of significant accounting policies</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Note 2: Summary of Significant Accounting Policies </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The accompanying consolidated financial statements reflect the application of certain significant accounting policies as described in this note and elsewhere in the accompanying consolidated financial statements and notes.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Use of estimates</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The preparation of the accompanying consolidated financial statements in conformity with GAAP requires management to make estimates and judgments that affect the reported amounts of assets and liabilities, the disclosure of contingent assets and liabilities at the date of the consolidated financial statements and the reported amounts of revenues and expenses during the reporting period. Certain accounting estimates of the Group require a higher degree of judgment than others in their application. These include the recognition of revenue and earnings from engineering contracts over time, the valuation of goodwill, and contract assets and contract liabilities. Management continually evaluates all of its estimates and judgments based on available information and experience; however, actual results could differ from these estimates.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Basis of consolidation</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The accompanying consolidated financial statements include the results of operations of the Company and its subsidiaries. Significant intercompany transactions and balances have been eliminated. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Subsidiaries</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Subsidiaries are all entities over which the Group has control; has the power to appoint or remove the majority of the members of the board of directors; has the right to cast a majority of votes at the meeting of the board of directors or to govern the financial and operating policies of the investee under a statute or agreement among the shareholders or equity holders.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Investments in affiliates</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">We account for our interest in an investment using the equity method of accounting per Accounting Standards Codification (&#8220;ASC&#8221;) No. 323, &#8220;Investments - Equity Method and Joint Ventures&#8221; if we are not the primary beneficiary of a VIE or do not have a controlling interest. The investment is recorded at cost and the carrying amount is adjusted periodically to recognize our proportionate share of income or loss, additional contributions made and dividends and capital distributions received. We record the effect of any impairment or other than temporary decrease in the value of the investment.&#160; </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">In the event a partially owned equity affiliate were to incur a loss and our cumulative proportionate share of the loss exceeded the carrying amount of the equity method investment, application of the equity method would be suspended and our proportionate share of further losses would not be recognized unless we committed to provide further financial support to the affiliate. We would resume application of the equity method once the affiliate became profitable and our proportionate share of the affiliate&#8217;s earnings equals our cumulative proportionate share of losses that were not recognized during the period the application of the equity method was suspended.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Non-controlling interests</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">For entities that are consolidated, but not 100% owned, a portion of the income or loss and equity is allocated to owners other than the Group. The aggregate of the income or loss and corresponding equity that is not owned by the Group is included within non-controlling interests in the consolidated financial statements.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Non-controlling interests is presented as a separate component of equity in the consolidated balance sheets. Net income includes the net income attributable to the holders of non-controlling interests in the consolidated statements of operations and comprehensive income / (loss). Profits and losses are allocated to non-controlling interests in proportion to their relative ownership interests regardless of their basis.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Non-controlling interest &#8211; put option</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The management evaluates all of its financial instruments, including issued put options, to determine their appropriate classification as either liabilities or equity, following the criteria's outlined in ASC 480, " Distinguishing Liabilities from Equity". The Group has determined that the put option held by non-controlling interest will be recorded as equity if the fair value of the put option becomes material.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Segment information</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Group reports segment information based on the &#8220;management&#8221; approach. The management approach designates the internal reporting used by management for making decisions and assessing performance as the source of the Group&#8217;s reportable segments. The Group categorizes its operations into two business segments: Trading and manufacturing, and Engineering.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Revenue recognition</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Company follows the revenue standard Accounting Standards Codification (&#8220;ASC&#8221;) 606, Revenue from Contracts with Customers.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The core principle of the revenue standard is that a company should recognize revenue to depict the transfer of promised goods or services to customers in an amount that reflects the consideration to which the company expects to be entitled in exchange for those goods or services. The following five steps are applied to achieve that core principle:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Step 1: Identify the contract with the customer</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Step 2: Identify the performance obligations in the contract</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Step 3: Determine the transaction price</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Step 4: Allocate the transaction price to the performance obligations in the contract</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Step 5: Recognize revenue when the company satisfies a performance obligation.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Our revenue is derived from both short and&#160;long-term contracts for customers in our engineering segment, as well as short-term contracts for customers in our trading and manufacturing segment. Accounting treatment for these contracts in accordance with Accounting Standards Update (&#8220;ASU&#8221;) 2014-09 (Accounting Standards Codification (&#8220;ASC&#8221;) Topic 606, Revenue from Contracts with Customer), is as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="text-decoration:underline">Performance obligations satisfied over time (Engineering services)</span></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Recognition of performance obligations </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">A performance obligation is a promise in a contract to transfer a distinct good or service to the customer, and is the unit of account in the new revenue standard. The contract transaction price is allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Engineering service projects typically span between several days to over 5 years. The majority of our long-term contracts have a single performance obligation as the promise to transfer the individual goods or services is not separately identifiable from other promises in the contracts and, therefore, is not distinct. Some contracts have multiple performance obligations, most commonly due to the contract covering multiple phases of the project life cycle. Revenues are recognized as our obligations are satisfied over time, by reference to the progress towards complete satisfaction of that performance obligation.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">If the Group expects the reference to progress certificates issued by the customers, with additional adjustments where necessary, depicts the Group&#8217;s performance in transferring control of goods or services promised to customers for individual projects, the Group satisfies the performance obligation over time and therefore, recognizes revenue over time in accordance with the output method for measuring progress. Under output method, revenue recognition is based on the stage of completion of the contracts, provided that the stage of contract completion and the gross billing value of contracting work can be measured reliably. The stage of completion of a contract is established by reference to the contract based on billing milestone or stage of work certified by customer. Generally, invoices are billed upon fulfilment of the measurable performance obligation. The Company evaluates the progress towards completion of the performance obligation at each phase of the contract and bills the customer in accordance with the price agreed upon on the contract.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Remaining performance obligations (&#8220;RPOs&#8221;)</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">RPOs represent the amount of revenues we expect to recognize in the future from our contract commitments on projects and are hereafter referred to as &#8220;Backlog&#8221;. Backlog includes the entire expected revenue values for subsidiary we consolidate. Backlog may not be indicative of future operating results, and projects included in Backlog may be canceled, modified or otherwise altered by customers. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The following schedule shows a reconciliation of backlog representing the amount of revenue the Company expects to realize from work to be performed on uncompleted contracts in progress at December 31, 2024 and 2023, and from contractual agreements in effect at December 31, 2024, on which work has not yet begun:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Contract revenue on uncompleted contracts at December 31, 2022</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">523</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">New contract awards during the year</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">9,044</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Contract adjustment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">252</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Contract revenue recognized for the year</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(5,797</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">)&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Backlog at December 31, 2023</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">4,022</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Contract revenue on uncompleted contracts at December 31, 2023</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">4,022</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">New contract awards during the year</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5,621</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Contract adjustment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">30</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Contract revenue recognized for the year</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(5,834</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">)&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Backlog at December 31, 2024</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">3,839</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160; </p><p style="font-size:10pt;font-family:times new roman;margin:0px">Our backlog decreased from US$4,022,000 as of December 31, 2023 to US$3,839,000 as of December 31, 2024, representing a decrease of US$183,000. The decrease in our backlog was primarily due to the increased completion and fulfillment of existing orders by us in our existing construction projects. Nevertheless, the timing and extent to which backlog will result in direct revenue depends on many factors, including the timing of commencement of work, the rate at which we perform services, scope changes, cancellations, delays, receipt of regulatory approvals and the nature, duration, size, complexity and phase of the studies. In addition, delayed projects remain in backlog until they are canceled. As a result of these factors, our backlog is not necessarily a reliable indicator of future direct revenue and we might not realize all or any part of the direct revenue from the authorizations in backlog as of any point in time.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Variable consideration</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Contract modifications through change orders, claims and incentives are routine in the performance of the Group&#8217;s contracts to account for changes in the contract specifications or requirements. In most instances, contract modifications are not distinct from the existing contract due to the significant integration service provided in the contract and are accounted for as a modification of the existing contract and performance obligation. Either the Group or its customers may initiate change orders, which may include changes in specifications or designs, manner of performance, facilities, equipment, materials, sites and period of completion of the work. Change orders that are unapproved as to both price and scope are evaluated as claims. The Group considers claims to be amounts in excess of approved contract prices that the Group seeks to collect from its customers or others for customer-caused delays, errors in specifications and designs, contract terminations, change orders that are either in dispute or are unapproved as to both scope and price, or other causes of unanticipated additional contract costs.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">In the event that customer requests a change of order (such as an upgrade of specifications, materials or additional work) before the completion of the project, the Group will negotiate and sign a subcontract with the customer, subject to mutual agreement.&#160; The subcontract has its own terms and conditions for the variable consideration and is generally integrated with the original master contract. This will normally result in an increase in additional billing to the customer and rarely a reduction in the total value of the contract. The effect of variable consideration on the transaction price of a performance obligation is recognized as an adjustment to revenue on a cumulative catch-up basis. To the extent unapproved change orders and claims reflected in transaction price (or excluded from transaction price in the case of liquidated damages) are not resolved in the Group&#8217;s favor, or to the extent incentives reflected in transaction price are not earned, there could be reductions in, or reversals of, previously recognized revenue.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="text-decoration:underline">Performance obligations satisfied at a point-in-time (Trading and manufacturing)</span></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">For revenue recognized associated with its contracts with customers over time, for which the Group has an enforceable right to receive compensation. Many of our contracts contain specific provisions that determine when the Group can bill for its work performed under these contracts.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Any costs incurred or any payment received for a long-term contract, for which revenue has not been recognized due to impracticability or inability to measure the performance obligation, is recorded as a contract asset and contract liability, respectively, on the Group&#8217;s consolidated balance sheets. Revenue will be recognized when the performance obligation can be measured reliably and the criteria as stipulated under ACS 606 are met.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Group&#8217;s consolidated balance sheets present contract cost assets that represent our rights to receive payment for completed but not yet billed work and include costs incurred for contracts with customers as at financial year end less amounts received in advance from those customers at financial year end.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Group&#8217;s consolidated balance sheets present contract liabilities that contain deferred revenue that represent amounts received in advance from customers at financial year end in excess of any costs incurred on those contracts, which are in progress at year end, for which revenue has not yet been recognized.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Contract assets and contract liabilities arising from the same individual contract are presented net as either a single net contract asset or single net contract liability for presentation purposes.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Research and development costs</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Research and development costs (&#8220;R&amp;D&#8221; costs) are expensed as incurred. The R&amp;D costs amounted to approximately US$Nil, US$Nil and US$Nil for the years ended December 31, 2024, 2023 and 2022 respectively and were included in &#8220;Selling and administrative expenses&#8221; in the Group&#8217;s consolidated statements of operations and comprehensive income / (loss).</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Advertising and promotional expenses</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Advertising and promotional expenses (&#8220;A&amp;P&#8221; expenses) are expensed as incurred. The A&amp;P expenses amounted to approximately US$41,000, US$29,000 and US$9,000 for the years ended December 31, 2024, 2023 and 2022 respectively and were included in &#8220;Selling and administrative expenses&#8221; in the Group&#8217;s consolidated statements of operations and comprehensive income / (loss).</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Income taxes</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Group follows the liability method of accounting for income tax. Under this method, deferred tax assets and liabilities are recorded for future tax consequences of temporary differences&#160;between the financial reporting and tax bases of assets and liabilities, and are measured using the enacted tax rates and laws that are expected to be in effect when the underlying assets or liabilities are recovered or settled. The Group also evaluates whether the recorded deferred tax assets and valuation allowances can be realized and, when necessary, reduces the amounts to what is expected to be realized.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The accounting guidance on accounting for uncertainty in income taxes also addresses derecognition, classification, interest and penalties on income taxes, and accounting in interim periods. The Group does not believe it has any uncertain tax positions through the periods ended December 31, 2024, 2023 and 2022 respectively which would have a material impact on the Group&#8217;s consolidated financial statements.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Interest and penalties related to uncertain income tax positions are included in income tax expense on the Group&#8217;s consolidated statements of operations and comprehensive income / (loss). Interest and penalties actually incurred are charged to interest expense and the other income, respectively if applicable.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Group files tax returns in Hong Kong and the PRC. The tax returns for 2024, 2023 and 2022 are subject to examination by Hong Kong and PRC taxing authorities, commencing with the first year filed.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Cash and cash equivalents</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Cash and cash equivalents consist of cash on hand, and bank deposits with original maturities of three months or less, all of which are unrestricted as to withdrawal. There were no cash equivalents as of December 31, 2024 and 2023.</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Restricted cash</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Restricted cash represents cash deposits retained with banks in the PRC for issuance of performance bonds and guarantees to the customers and cash deposited by the Group into separate accounts and designated as collateral for standby letters of credit in the same amount in accordance with contractual agreements. &#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Accounts Receivable, net</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Group does not charge interest to its customers and carries its customer receivables at their face amounts net of expected credit losses. As is common practice in the industry, the Group classifies all accounts receivable as current assets.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Group grants trade credit, on a non-collateralized basis, to its customers and is subject to potential credit risk related to changes in business and overall economic activity. The Group analyzes specific accounts receivable balances, historical bad debts, customer credit-worthiness, current economic trends and changes in customer payment terms when evaluating the adequacy of the allowance for doubtful accounts. In the event that a customer balance is deemed to be uncollectible, the account balance is written-off against the allowance for doubtful accounts.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Inventories</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Inventories are measured using the first-in, first-out method and are stated at the lower of cost or net realizable value. Cost of finished goods comprise direct material, direct production costs and an allocated portion of production overhead costs based on normal operating capacity. Allowance is made for obsolete, slow moving or defective items, where appropriate.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Property, plant and equipment</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Property, plant and equipment is carried at cost. Major modifications or refurbishments which extend the useful life of the assets are capitalized and depreciated over the adjusted remaining useful life of the assets. Upon retirement or disposition of property, plant and equipment, the cost and related accumulated depreciation are removed and any resulting gain or loss is recognized in consolidated income from operations. The cost of maintenance and repairs is charged to expense as incurred. Property, plant and equipment is reviewed for impairment and tested for recoverability whenever events or changes in circumstances indicate that the carrying amount may not be recoverable. If the carrying value of property, plant and equipment exceeds its fair value, an impairment charge would be recorded in the consolidated statement of operations.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Depreciation of property, plant and equipment are computed using the straight-line method over the assets&#8217; estimated useful lives as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="width:3%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:30%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Expected useful life</strong></p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Office premises</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">47 to 51 years</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Leasehold improvements&#160; </p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">Over terms of the leases or the useful lives whichever is less</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Furniture, fixtures and office equipment</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">3 to 5 years</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Motor vehicles</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">4 years</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Testing equipment</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">3 years</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Impairment of long lived assets</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Long-lived assets such as property, plant and equipment with finite lives are evaluated for impairment whenever events or changes in circumstances indicate that the carrying value of an asset may not be fully recoverable or that the useful life is shorter than the Group had originally estimated. When these events occur, the Group evaluates the impairment for the long-lived assets by comparing the carrying value of the assets to an estimate of future undiscounted cash flows expected to be generated from the use of the assets and their eventual disposition. If the sum of the expected future undiscounted cash flows is less than the carrying value of the assets, the Group recognizes an impairment loss based on the excess of the carrying value of the assets over the fair value of the assets. There was no impairment of long lived assets during 2024, 2023 and 2022, respectively.</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Long-term investment</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Group has elected to apply the measurement alternative to equity securities without readily determinable fair values. As such, the Group&#8217;s non-marketable equity securities are measured at cost, less any impairment, and are adjusted for changes in fair value resulting from observable transactions for identical or similar investments of the investee. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Leases arrangements</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">In the ordinary course of business, the Group enters into a variety of operating lease arrangements.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Operating right-of-use leases are included in operating lease right-of-use assets, current portion of long-term operating lease obligations and long-term operating lease obligations, net of current maturities on the Group&#8217;s consolidated balance sheets, as appropriate. Operating lease right-of-use assets and operating lease liabilities are recognized based on the present value of the future minimum lease payments over the lease term at commencement date. As most of the Group&#8217;s leases do not provide an implicit rate to calculate present value, the Group determines this rate by estimating the Group&#8217;s incremental borrowing rate, utilizing the borrowing rates associated with the Group&#8217;s various debt instruments. The operating lease right-of-use asset also includes any lease payments made and initial direct costs incurred and excludes lease incentives. Our lease terms may include options to extend or terminate the lease when it is reasonably certain that we will exercise that option.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Lease expense for minimum lease payments is recognized on a straight-line basis over the lease term.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Goodwill</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Goodwill is not amortized. The Group performs either a qualitative or quantitative assessment to review goodwill for impairment on an annual basis. This assessment is performed at the beginning of the fourth quarter, or when circumstances change, such as a significant adverse change in the business climate or the decision to sell a business, both of which would indicate that impairment may have occurred. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">A qualitative assessment considers financial, industry, segment and macroeconomic factors, if the qualitative assessment indicates a potential for impairment, a quantitative assessment is performed to determine if impairment exists. The quantitative assessment begins with a comparison of the fair value of the reporting unit with its carrying value. If the carrying amount of the reporting unit exceeds its fair value, an impairment loss would be recognized in an amount equal to that excess, limited to the total amount of the goodwill allocated to the reporting unit. If the carrying value of goodwill exceeds its implied fair value, an impairment charge would be recorded in the consolidated statements of operations and comprehensive income / (loss).</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">As a result of the annual qualitative review process in 2024 and 2023, the Group determined it was not necessary to perform a quantitative assessment. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Foreign currency translation</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The assets and liabilities of the Group&#8217;s subsidiaries denominated in currencies other than U.S. dollars are translated into U.S. dollars using the applicable exchange rates at the consolidated balance sheet date. For consolidated statements of operations and comprehensive income/(loss)&#8217; items, amounts denominated in currencies other than U.S. dollars were translated into U.S. dollars using the average exchange rate during the period. Equity accounts were translated at their historical exchange rates. Net gains and losses resulting from translation of foreign currency on consolidated financial statements are included&#160;in the consolidated statements of shareholders&#8217; equity as accumulated other comprehensive income. Foreign currency transaction gains and losses are reflected in the consolidated statements of operations and comprehensive income / (loss).</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Comprehensive income</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">We account for comprehensive income in accordance with ASC&#160;220, &#8220;Comprehensive Income&#8221;, which specifies the computation, presentation and disclosure requirements for comprehensive income. Comprehensive income consists of net income and foreign currency translation adjustments, primarily from fluctuations in foreign currency exchange rates of our foreign subsidiaries with a functional currency other than the U.S. dollar.</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Ordinary share</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">On November 22, 2011, the Company filed Amended and Restated Memorandum and Articles of Association with the Registry of Corporate Affairs of the BVI Financial Services Commission that on November 29, 2011 became effective as of the filing date to amend the Company&#8217;s ordinary shares of US$0.01 par value capital stock to no par value capital stock. Treasury stock is accounted for using the cost method.&#160; When treasury stock is reissued, the value is computed and recorded using a weighted-average basis.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">On October 8, 2019, the Company had stock split in the form of bonus shares at the rate of one ordinary share for every two ordinary shares held, creating 1,030,950 new shares of common stock.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">On March 3, 2021, the Company had stock split in the form of bonus shares at the rate of two ordinary shares for every three ordinary shares held, creating 2,061,900 new shares of common stock.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The effect of the above stock splits have been reflected retroactively in the financial statements and net income per ordinary share computations.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Net income per ordinary share</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Group computes net income per ordinary share using the treasury stock method. Under the treasury stock method, basic earnings per share attributable to Euro Tech Holdings Company Limited are computed by dividing net income attributable to Euro Tech Holdings Company Limited by the weighted average number of ordinary shares outstanding during the period. The Group reports both basic earnings per share, which is based on the weighted average number of ordinary shares outstanding, and diluted earnings per share, which is based on the weighted average number of ordinary shares outstanding and all dilutive potential ordinary shares outstanding.&#160; </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Outstanding stock options are the only dilutive potential shares of the Company.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Stock-based compensation</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Group determines compensation expense for stock-based awards based on the estimated fair values at the grant date and recognizes the related compensation expense over the vesting period. The Group uses the straight-line amortization method to recognize compensation expense related to stock-based awards that have only service conditions. This method recognizes stock compensation expense on a straight-line basis over the requisite service period for the entire award. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Related parties</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Related parties are affiliates of the Group; entities for which investments are accounted for by the equity method by the Group; trusts for the benefit of employees, such as pension and profit-sharing trusts that are managed by or under the trusteeship of management; principal owners of the Group; its management; members of the immediate families of principal owners of the Group and its management; and other parties with which the Group may deal if one party controls or can significantly influence the management or operating policies of the other to an extent that one of the transacting parties might be prevented from fully pursuing its own separate interests. Another party also is a related party if it can significantly influence the management or operating policies of the transacting parties or if it has an ownership interest in one of the transacting parties and can significantly influence the other to an extent that one or more of the transacting parties might be prevented from fully pursuing its own separate interests.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Concentration</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Financial instruments that potentially subject the Group to a concentration of credit risk consist principally of cash and cash equivalents and accounts receivable, net. The Group maintains substantially all of its cash and cash equivalent balances with large financial institutions which are believed to be high quality institutions.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Group is subject to a concentration of risk because it derives a significant portion of its revenues from a few customers. The Group&#8217;s top customers accounting for more than 5% of the Group&#8217;s revenue generated approximately 47%, 41% and 33% of consolidated revenues for the years ended December 31, 2024, 2023 and 2022, respectively. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Group grants trade credit under contractual payment terms, generally without collateral, to its customers, which include high credit quality electric utilities, general contractors, owners and managers of industrial properties and government departments. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Consequently, the Group is subject to potential credit risk related to changes in business and economic factors. At December 31, 2024, Nil (2023: three) of the Group&#8217;s customers individually exceeded 10.0% of accounts receivable, net. The Group believes the terms and conditions in its contracts, billing and collection policies are adequate to minimize the potential credit risk.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Finance costs</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Interest relating to loans repaid is expensed in the period the repayment occurs. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Warranties</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The suppliers of the Group offer a standard one-year warranty to end customers of the Group. In certain contracts, a specific percentage is designated as warranty, and management has retained it as a &#8220;retainer fee&#8221; for potential warranty claims within an effective period subsequent to project completion. In the event that a warranty claim is made, the amount will be deducted from the retainer fee accordingly. This balance remains on the balance sheet in contract liabilities, until the expiration of the warranty period, after which it will be recognized as revenue if it has not been fully utilized. Historically, claims on warranties have been&#160;insignificant.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Contract Assets and Contract Liabilities</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Projects with performance obligations recognized over time that have revenue recognized to date in excess of cumulative billings are reported on consolidated balance sheets as &#8220;Contract assets&#8221;. Provisions for estimated losses of contract assets on uncompleted contracts are made in the period in which such losses are determined.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Contract liabilities on uncompleted contracts are the amounts of cash collected from clients, billings to clients on contracts in advance of work performed and revenue recognized. The majority of these amounts are expected to be earned within 12 months and are classified as current liabilities.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Shipping and handling costs</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Amounts billed to customers related to shipping and handling are classified as revenues, and the Group&#8217;s shipping and handling costs are included in cost of revenues.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Retirement plan costs</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Contributions to retirement plans (which are defined contribution plans) are charged to general and administrative expenses in the accompanying statements of operation as the related employee service are provided.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Statutory reserves</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Group is required to make appropriation to reserve funds, comprising the statutory reserve fund and statutory staff welfare fund, based on after-tax net income determined with generally accepted accounting principles of the PRC (&#8220;PRC GAAP&#8221;).</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Appropriations to the statutory reserve fund is required to be at least 10% of the after tax net income determined in accordance with PRC GAAP until the reserve fund is equal to 50% of the entities&#8217; registered capital. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Fair value measurements</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Company applies the provisions of ASC 820-10, &#8220;Fair Value Measurements&#8221;, for fair value measurements of financial assets and financial liabilities and for fair value measurements of non-financial items that are recognized or disclosed at fair value in the financial statements.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Group uses the three-tier hierarchy of fair value measurement, which prioritizes the inputs used in measuring fair value based upon their degree of availability in external active markets. These tiers include: Level 1 (the highest priority), defined as observable inputs, such as quoted prices in active markets; Level 2, defined as inputs other than quoted prices in active markets that are either directly or indirectly observable; and Level 3 (the lowest priority), defined as unobservable inputs in which little or no market data exists, therefore requiring an entity to develop its own assumptions.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">As of December 31, 2024 and 2023, the Group determined that the carrying values of cash and cash equivalents, restricted cash, accounts receivable, net, prepayments and other current assets, contract assets, bank borrowings, accounts payable, contract liabilities, other payables and accrued expenses approximate their fair values because of the short-term nature of these instruments. The Group has also determined that the fair value of non-controlling interest - put option is immaterial as of December 31, 2024, and is immaterial for 2023.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Recent accounting pronouncements</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Changes to GAAP are typically established by the Financial Accounting Standards Board (&#8220;FASB&#8221;) in the form of accounting standards updates (&#8220;ASUs&#8221;) to the FASB&#8217;s ASC. The Group considers the applicability and impact of all ASUs. The Group, based on its assessment, determined that any recently issued or proposed ASUs not listed below are either not applicable to the Group or may have minimal impact on its consolidated financial statements.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Recently adopted accounting pronouncements</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">In September 2022, the Financial Accounting Standards Board (&#8220;FASB&#8221;) issued Accounting Standards Update (ASU) No. 2022-04 that requires additional qualitative and quantitative disclosures surrounding supplier finance programs intended to help investors better consider the effect of these programs on a company&#8217;s working capital, liquidity, and cash flows over time. This update is effective for fiscal years beginning after December 15, 2022, including interim periods, except for the disclosure of roll forward information, which is effective for fiscal years beginning after December 15, 2023. Early adoption is permitted. The Company adopted this ASU on October 1, 2023, and it did not have a significant impact on our CFS.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">In June 2022, the FASB issued ASU 2022-03 Fair Value Measurement (Topic 820): Fair Value Measurement of Equity Securities Subject to Contractual Sale Restrictions (&#8220;ASU 2022-03&#8221;), which (1) clarifies the guidance in ASC 820 on the FV measurement of an equity security that is subject to a contractual sale restriction and (2) requires specific disclosures related to such an equity security. Under current guidance, stakeholders have observed diversity in practice related to whether contractual sale restrictions should be considered in the measurement of the FV of equity securities that are subject to such restrictions. To reduce the diversity in practice and increase the comparability of reported financial information, ASU 2022-03 clarifies this guidance and amends the illustrative example. ASU No. 2022-03 is effective for fiscal years beginning after December 15, 2023, with early adoption permitted. The Company is currently evaluating the extent of the impact of this ASU but does not expect the adoption of this standard to have a significant impact on our CFS.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">In March 2022, the FASB issued ASU No. 2022-02, Troubled Debt Restructurings and Vintage Disclosures. ASU 2022-02 eliminates the accounting guidance on troubled debt restructurings for creditors in ASC Topic 310 and amends the guidance on &#8220;vintage disclosures&#8221; to require disclosure of current-period gross write-offs by year of origination. ASU 2022-02 also updates the requirements for accounting for credit losses under ASC Topic 326 and adds enhanced disclosures for creditors with respect to loan re-financings and restructurings for borrowers experiencing financial difficulty. ASU 2022-02 is effective for fiscal years beginning after December 15, 2022, including interim periods within those fiscal years. The Company adopted this ASU on October 1, 2023, and it did not have a significant impact on our CFS.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">In June 2016, the FASB issued ASU No. 2016-13, Financial Instruments &#8212; Credit Losses, which changes the accounting for recognizing impairments of financial assets. Under the new guidance, credit losses for certain types of financial instruments will be estimated based on expected losses. The new guidance also modifies the impairment models for available-for-sale debt securities and for purchased financial assets with credit deterioration since their origination.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">In March 2020, the FASB issued ASU No. 2020-04 providing optional expedients and exceptions to account for the effects of reference rate reform to contracts, hedging relationships, and other transactions that reference LIBOR or another reference rate expected to be discontinued. The optional guidance, which became effective March 12, 2020, could be applied through December 31, 2022. In December 2022, the FASB issued No 2022-06 extending the sunset date of the relief provided under ASU No. 2020-04 to December 31, 2024. The Company has various contracts that reference LIBOR and is assessing how this standard may be applied to specific contract modifications through March 31, 2025.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">On March 28, 2023, the FASB issued ASU No. 2023-01, Leases (Topic 842): Common Control Arrangements. ASU 2023-01 is designed to clarify the accounting for leasehold improvements associated with common control leases, thereby reducing diversity in practice. The new standard was effective for the Company for its fiscal year beginning October 1, 2023, with early adoption permitted. The Company is currently evaluating the impact of adopting the standard on its CFS.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Recently issued accounting pronouncements not yet adopted </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">In November 2023, the FASB issued ASU 2023-07, &#8220;Segment Reporting (Topic 280)&#8221; (&#8220;ASU 2023-07&#8221;). The amendments in ASU 2023-07 improve financial reporting by requiring disclosure of incremental segment information on an annual and interim basis for all public entities to enable investors to develop more decision useful financial analyses. Topic 280 requires a public entity to report a measure of segment profit or loss that the chief operating decision maker (CODM) uses to assess segment performance and make decisions about allocating resources. Topic 280 also requires other specified segment items and amounts, such as depreciation, amortization, and depletion expense, to be disclosed under certain circumstances. The amendments in ASU 202307 do not change or remove those disclosure requirements. The amendments in ASU 2023-07 also do not change how a public entity identifies its operating segments, aggregates those operating segments, or applies the quantitative thresholds to determine its reportable segments. The amendments in ASU 2023-07 are effective for years beginning after December 15, 2023 and interim periods within fiscal years beginning after December 15, 2024, adopted retroactively. Management expect the guidance will not have a significant impact on our CFS.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">In December 2023, the FASB issued ASU 2023-09, Improvement to Income Tax Disclosure. This standard requires more transparency about income tax information through improvements to income tax disclosures primarily related to the rate reconciliation and income taxes paid information. This standard also includes certain other amendments to improve the effectiveness of income tax disclosures. ASU 2023-09 is effective for public business entities, for annual periods beginning after December 15, 2024. For entities other than public business entities, the amendments are effective for annual periods beginning after December 15, 2025. The Company is in the process of evaluation the impact of adopting this new guidance on our CFS.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Group has reviewed all recently issued, but not yet effective, accounting pronouncements and does not believe the future adoption of any such pronouncements may be expected to cause a material impact on its financial condition or the results of its operations.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Reclassification</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Certain reclassifications have been made to prior year amounts to conform with the current year presentation.</p><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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember', window );">ZHEJIANG TIANLAN</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_SignificantAccountingPoliciesTextBlock', window );">Summary of significant accounting policies</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>2. </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Summary of significant accounting policies </strong></p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>(a) </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Basis of presentation</strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">The accompanying consolidated financial statements are presented in accordance with accounting principles generally accepted in the United States of America (&#8220;GAAP&#8221;).</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>(b) </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Basis of consolidation</strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">The accompanying consolidated financial statements include the results of operations of the Company and its subsidiaries. Significant intercompany transactions and balances have been eliminated.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>(c) </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Subsidiaries</strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Subsidiaries are all entities over which the Group has control; has the power to appoint or remove the majority of the members of the board of directors; has the right to cast a majority of votes at the meeting of the board of directors or to govern the financial and operating policies of the investee under a statute or agreement among the shareholders or equity holders.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>(d) </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Revenue recognition</strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Our revenue is derived from long-term contracts for customers, as well as short-term contracts for customers. Accounting treatment for these contracts in accordance with Accounting Standards Update (&#8220;ASU&#8221;) 2014-09 (Accounting Standards Codification (&#8220;ASC&#8221;) Topic 606, Revenue from Contracts with Customers), is as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"><span style="text-decoration:underline">Performance obligations satisfied over time (Design, installation and operation management services)</span></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Recognition of performance obligations</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">A performance obligation is a promise in a contract to transfer a distinct good or service to the customer, and is the unit of account in the new revenue standard. The contract transaction price is allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied. Engineering projects typically span between 12 to 36 months. The majority of our contracts have a single performance obligation as the promise to transfer the individual goods or services is not separately identifiable from other promises in the contracts and, therefore, not distinct. Some contracts have multiple performance obligations, most commonly due to the contract covering multiple phases of the project life cycle (design, installation and operation management services).</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Revenues are recognized as our obligations are satisfied over time, using the ratio of project costs incurred to estimated total costs for each contract because of the continuous transfer of control to the customer as all of the work is performed at the customer&#8217;s site and, therefore, the customer controls the asset as it is being installed. This continuous transfer of control to the customer is further supported by clauses in the contract that allow the customer to unilaterally terminate the contract for convenience, pay the Group for costs incurred plus a reasonable profit and take control of any work in process. This cost-to-cost measure is used because management considers it to be the best available measure of progress on these contracts. Contract costs include all direct material, labor, subcontract and other costs.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Items excluded from cost-to-cost</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Pre-contract costs are generally not material and are charged to expense as incurred, but in certain cases pre-contract recognition may be deferred if specific probability criteria are met.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Variable consideration</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Contract modifications through change orders, claims and incentives are routine in the performance of the Group&#8217;s contracts to account for changes in the contract specifications or requirements. In most instances, contract modifications are not distinct from the existing contract due to the significant integration of services provided in the contract and are accounted for as a modification of the existing contract and performance obligation. Either the Group or its customers may initiate change orders, which may include changes in specifications or designs, manner of performance, facilities, equipment, materials, sites and period of completion of the work. Change orders that are unapproved as to both price and scope are evaluated as claims. The Group considers claims to be amounts in excess of approved contract prices that the Group seeks to collect from its customers or others for customer-caused delays, errors in specifications and designs, contract terminations, change orders that are either in dispute or are unapproved as to both scope and price, or other causes of unanticipated additional contract costs.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The Group estimates variable consideration for a performance obligation at the most likely amount to which the Group expects to be entitled (or the most likely amount the Group expects to incur in the case of liquidated damages), utilizing estimation methods that best predict the amount of consideration to which the Group will be entitled (or will incur in the case of liquidated damages). The Group includes variable consideration in the estimated transaction price to the extent it is probable that a significant reversal of cumulative revenue recognized will not occur or when the uncertainty associated with the variable consideration is resolved. The Group&#8217;s estimates of variable consideration and determination of whether to include estimated amounts in transaction price are based largely on an assessment of its anticipated performance and all information (historical, current and forecasted) that is reasonably available to the Group.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The effect of variable consideration on the transaction price of a performance obligation is recognized as an adjustment to revenue on a cumulative catch-up basis. To the extent unapproved change orders and claims reflected in transaction price (or excluded from transaction price in the case of liquidated damages) are not resolved in the Group&#8217;s favor, or to the extent incentives reflected in transaction price are not earned, there could be reductions in, or reversals of, previously recognized revenue.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>(e) </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Research and development costs</strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Research and development costs (&#8220;R&amp;D&#8221; costs) are expensed as incurred. The R&amp;D costs amounted to approximately RMB27,371,000, RMB20,452,000 and RMB29,115,000 for the years ended December 31, 2024, 2023 and 2022 respectively and were included in &#8220;Selling and administrative expenses&#8221; in the Group&#8217;s consolidated statements of operations.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>(f) </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Income tax </strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">The Group follows the liability method of accounting for income tax. Under this method, deferred tax assets and liabilities are recorded for future tax consequences of temporary differences between the financial reporting and tax bases of assets and liabilities, and are measured using the enacted tax rates and laws that are expected to be in effect when the underlying assets or liabilities are recovered or settled. The Group also evaluates whether the recorded deferred tax assets and valuation allowances can be realized and, when necessary, reduces the amounts to what is expected to be realized.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">The accounting guidance on accounting for uncertainty in income taxes also addresses derecognition, classification, interest and penalties on income taxes, and accounting in interim periods. The Group does not believe it has any uncertain tax positions through the periods ended December 31, 2023, 2022 and 2021 respectively which would have a material impact on the Group&#8217;s consolidated financial statements.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The Group files tax returns in the PRC. The tax returns for 2023, 2022 and 2021 are subject to examination by the PRC taxing authorities, commencing with the first year filed.</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>(g) </strong></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Cash and cash equivalents</strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Cash and cash equivalents consist of bank deposits with original maturities of three months or less, all of which are unrestricted as to withdrawal and uninsured. There were no cash equivalents as of December 31, 2024 and 2023.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>(h) </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Accounts receivable and allowance for doubtful accounts </strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The Group does not charge interest to its customers and carries its customer receivables at their face amounts, less an allowance for doubtful accounts. As is common practice in the industry, the Group classifies all accounts receivable as current assets.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The Group grants trade credit, on a non-collateralized basis, to its customers and is subject to potential credit risk related to changes in business and overall economic activity. The Group analyzes specific accounts receivable balances, historical bad debts, customer credit-worthiness, current economic trends and changes in customer payment terms when evaluating the adequacy of the allowance for doubtful accounts. In the event that a customer balance is deemed to be uncollectible, the account balance is written-off against the allowance for doubtful accounts.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>(i) </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Classification of contract assets, net and liabilities </strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">For revenue recognized associated with its contracts with customers over time, for which the Group has an enforceable right to receive compensation. Many of our contracts contain specific provisions that determine when the Group can bill for its work performed under these contracts.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Any revenue earned on a contract that has not yet been billed to the customer is recorded as a contract asset on the Group&#8217;s consolidated balance sheets.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The Group&#8217;s consolidated balance sheets present contract liabilities that contain deferred revenue that represent any costs incurred on contracts in process for which revenue has not yet been recognized.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>(j) </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Inventories</strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Inventories are measured using the weighted average method and are stated at the lower of cost or net realizable value. Cost of finished goods comprise direct material, direct production costs and an allocated portion of production overhead costs based on normal operating capacity.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>(k) </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Property, plant and equipment and land use right, net</strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Property, plant and equipment is carried at cost. Major modifications or refurbishments which extend the useful life of the assets are capitalized and depreciated over the adjusted remaining useful life of the assets. Upon retirement or disposition of property, plant and equipment, the cost and related accumulated depreciation are removed and any resulting gain or loss is recognized in consolidated income from operations. The cost of maintenance and repairs is charged to expense as incurred. Property, plant and equipment is reviewed for impairment and tested for recoverability whenever events or changes in circumstances indicate that the carrying amount may not be recoverable. If the carrying value of property, plant and equipment exceeds its fair value, an impairment charge would be recorded in the consolidated statement of operations.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Land in the PRC is owned by the PRC government. The government in the PRC, according to PRC Law, may sell the right to use the land for a specific period of time. Thus, all of the Group&#8217;s land purchases in the PRC are considered to be leasehold land and are classified as land use right.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Depreciation of property, plant and equipment and amortization of land use right are computed using the straight-line method over the assets&#8217; estimated useful lives as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px;background-color:#ffffff"><td style="width:4%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:30%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Land use right</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Over terms of the leases</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Buildings and leasehold improvements</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">11 to 50 years, with 5% residual value</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Furniture, fixtures and office equipment</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">5 years, with 5% residual value</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Motor vehicles</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">5 years, with 5% residual value</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Plant and machineries</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">5 to 10 years, with 5% residual value</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>(l) </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Intangible assets, net</strong></p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Group is currently amortizing its acquired intangible assets, consisted of patents and others, with finite-lived over periods generally ranging between three to twenty years.</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>(m) </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Impairment of long lived assets</strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Long-lived assets such as property, plant and equipment and intangible assets with finite lives are evaluated for impairment whenever events or changes in circumstances indicate that the carrying value of an asset may not be fully recoverable or that the useful life is shorter than the Group had originally estimated. When these events occur, the Group evaluates the impairment for the long-lived assets by comparing the carrying value of the assets to an estimate of future undiscounted cash flows expected to be generated from the use of the assets and their eventual disposition. If the sum of the expected future undiscounted cash flows is less than the carrying value of the assets, the Group recognizes an impairment loss based on the excess of the carrying value of the assets over the fair value of the assets. The impairment of long-lived assets amounted to approximately RMB Nil, RMB Nil and RMB Nil for the years ended December 31, 2024, 2023 and 2022 respectively and were included in &#8220;Selling and administrative expenses&#8221; in the Group&#8217;s consolidated statements of operations.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>(n) </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Government grant income</strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Government grant income consists of receipt of funds to subsidize the investment cost of technical development in China. No present or future obligation arises from the receipt of such amount.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Government grants are recognized in the consolidated balance sheet initially when there is reasonable assurance that they will be received and that the Group will comply with the conditions attaching to them. Grants that compensate the Group for expenses incurred are recognized as income in the consolidated statement of operations on a systematic basis in the same periods in which the expenses are incurred. Grants that compensate the Group for the cost of an asset are deducted from the carrying amount of the asset and consequently are effectively recognized in the consolidated statements of operations over the useful life of the asset by way of reduced depreciation expenses.</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>(o) </strong></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Leases arrangements </strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 34.65pt; text-align:justify;">The Group adopted ASU No. 2016-02, Leases (Topic 842). The Group leases certain equipment under finance leases. The economic substance of the leases is a financing transaction for acquisition of the equipment. Accordingly, the right-of-use assets for these leases are included on the Group&#8217;s consolidated balance sheets in property, plant and equipment, net of accumulated depreciation, amortization and impairment losses, with a corresponding amount recorded in current portion of long-term finance lease obligations. The finance lease assets are amortized over the life of the lease or, if shorter, the life of the leased asset, on a straight-line basis and included in depreciation expense. The financing component associated with finance lease obligations is included in interest expense. Generally, for the Group&#8217;s finance leases an implicit rate to calculate present value is provided in the lease agreement, however if a rate in not provided the Group determines this rate by estimating the Group&#8217;s incremental borrowing rate, utilizing the borrowing rates associated with the Group&#8217;s various debt instruments.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 34.65pt; text-align:justify;">The Group determines if an arrangement is a lease at inception. Lease liabilities are the Group&#8217;s obligation to make lease payments arising from a lease and are measured on a discounted basis.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>(p) </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Share capital</strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 34.65pt; text-align:justify;">Paid in capital refers to the registered capital paid up by the shareholders of the Company.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 34.65pt; text-align:justify;">At December 31, 2024, there were 82,572,000 shares (2023: 82,572,000 shares) issued.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>(q) </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Use of estimates</strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 34.65pt; text-align:justify;">The preparation of the accompanying consolidated financial statements in conformity with GAAP requires management to make estimates and judgments that affect the reported amounts of assets and liabilities, the disclosure of contingent assets and liabilities at the date of the consolidated financial statements and the reported amounts of revenues and expenses during the reporting period. Certain accounting estimates of the Group require a higher degree of judgment than others in their application. These include the recognition of revenue and earnings from contracts over time, contract assets, net and contract liabilities. Management continually evaluates all of its estimates and judgments based on available information and experience; however, actual results could differ from these estimates.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>(r) </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Related parties</strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 34.65pt; text-align:justify;">Entities are considered to be related to the Group if the parties, directly or indirectly, through one or more intermediaries, control, are controlled by, or are under common control with the Group. Related parties also include principal owners of the Group, its management, members of the immediate families of principal owners of the Group and its management and other parties with which the Group may deal if one party controls or can significantly influence the management or operating policies of the other to an extent that one of the transacting parties might be prevented from fully pursuing its own separate interests. A party which can significantly influence the management or operating policies of the transacting parties or if it has an ownership interest in one of the transacting parties and can significantly influence the other to an extent that one or more of the transacting parties might be prevented from fully pursuing its own separate interests is also a related party.</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>(s) </strong></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Net income per ordinary share</strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">The Group computes net income per ordinary share using the treasury stock method. Under the treasury stock method, basic earnings per share attributable to Zhejiang Tianlan Environmental Protection Technology Company Limited are computed by dividing net income attributable to Zhejiang Tianlan Environmental Protection Technology Company Limited by the weighted average number of ordinary shares outstanding during the period.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>(t) </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Warranties</strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">The suppliers of the Group offer a standard one-year warranty to end customer of the Group. The Group only provides labour service to repair or replace parts. The Group does not maintain a general warranty reserve because historically labour costs for such repair or replacement have been de minimis.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>(u) </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Shipping and handling costs</strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Amounts billed to customers related to shipping and handling are classified as revenues, and the Group&#8217;s shipping and handling costs are included in cost of revenues.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>(v) </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Finance costs</strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Interest relating to loans repaid is expensed in the period the repayment occurs.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>(w) </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Concentrations </strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Financial instruments that potentially subject the Group to a concentration of credit risk consist principally of cash and cash equivalents and accounts receivable, net. The Group maintains substantially all of its cash and cash equivalent balances with large financial institutions which are believed to be high quality institutions.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">The Group is subject to a concentration of risk because it derives a significant portion of its revenues from a few customers. The Group&#8217;s top five customers accounted for approximately 42%, 38%, and 35% of consolidated revenues for the years ended December 31, 2024, 2023 and 2022, respectively. For the years ended December 31, 2024, 2023 and 2022, one customer accounted for 16%, 22% and 14% of annual revenues, respectively.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">The Group grants trade credit under contractual payment terms, generally without collateral, to its customers, which include high credit quality electric utilities, general contractors, owners and managers of industrial properties.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Consequently, the Group is subject to potential credit risk related to changes in business and economic factors. At December 31, 2024 and 2023, none of the Group&#8217;s customers individually exceeded 10.0% of accounts receivable. The Group believes the terms and conditions in its contracts, billing and collection policies are adequate to minimize the potential credit risk.</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>(x)</strong></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Statutory reserve</strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">The Group is required to make appropriation to reserve, comprising the PRC statutory reserve, based on after-tax net income determined with generally accepted accounting principles of the PRC (&#8220;PRC GAAP&#8221;).</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Appropriations to the PRC statutory reserve are required to be at least 10% of the after tax net income determined in accordance with PRC GAAP until the reserve is equal to 50% of the entities&#8217; registered capital.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>(y) </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Fair value measurements </strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;">ASC 820 provides guidance on how to measure fair value for financial reporting purpose. The Group uses the three-tier hierarchy of fair value measurement, which prioritizes the inputs used in measuring fair value based upon their degree of availability in external active&#160;&#160;&#160; markets. These tiers include: Level 1 (the highest priority), defined as observable inputs, such as quoted prices in active markets; Level 2, defined as inputs other than quoted prices in active markets that are either directly or indirectly observable; and Level 3 (the lowest priority), defined as unobservable inputs in which little or no market data exists, therefore requiring an entity to develop its own assumptions.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;">As of December 31, 2024 and 2023, the Group determined that the carrying values of cash, and cash equivalents, accounts receivable, net, prepayments and other current assets, contract assets, bank borrowings, accounts payable, other payables and accrued expenses and contract liabilities approximate their fair values because of the short-term nature of these instruments.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>(z) </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Short-term and long-term investments </strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">The Group has elected to apply the measurement alternative to equity securities without readily determinable fair values. As such, the Group&#8217;s non-marketable equity securities are measured at cost, less any impairment, and are adjusted for changes in fair value resulting from observable transactions for identical or similar investments of the investee.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>(aa) </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Recent accounting pronouncements</strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Changes to GAAP are typically established by the Financial Accounting Standards Board (&#8220;FASB&#8221;) in the form of accounting standards updates (&#8220;ASUs&#8221;) to the FASB&#8217;s ASC. The Group considers the applicability and impact of all ASUs. The Group, based on its assessment, determined that any recently issued or proposed ASUs not listed below are either not applicable to the Group or may have minimal impact on its consolidated financial statements.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"><span style="text-decoration:underline">Recently adopted accounting pronouncements</span></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">In June 2016, the FASB issued ASU 2016-13, &#8220;Financial Instruments&#8212;Credit Losses (Topic 326), Measurement of Credit Losses on Financial Instruments&#8221;. The new standard requires the measurement and recognition of expected credit losses using the current expected credit loss model for financial assets held at amortized cost, which includes the Group&#8217;s accounts receivable, contract assets and non-current assets. It replaces the existing incurred loss impairment model with an expected loss methodology. The recorded credit losses are adjusted each period for changes in expected lifetime credit losses. The standard requires a cumulative effect adjustment to the consolidated balance sheet as of the beginning of the first reporting period in which the guidance is effective. ASC 326, Financial Instruments &#8212; Credit Losses is effective for public companies for annual reporting periods, and interim periods within those years beginning after December 15, 2019. For all other entities, it is effective for fiscal years beginning after December 15, 2022, including interim periods within those fiscal years. The standard is effective for the Group from January 1, 2023. The Group is in the process determining the impact of the adoption of this standard on its consolidated financial statements.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">In December 2019, the FASB issued ASU 2019-12, &#8220;Income Taxes (Topic 740): Simplifying the Accounting for Income Taxes&#8221;, which simplifies the accounting for income taxes. This guidance became effective for the first quarter of 2021 on a prospective basis. The implementation of ASU 2019-12 in the year ended December 31, 2021, did not have a material impact on the Group&#8217;s consolidated financial statements.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">In October 2021, the FASB issued ASU 2021-08, &#8220;Business Combinations (Topic 805)&#8221;. ASU 2021-08 creates an exception to the general recognition and measurement principle for contract assets and contract liabilities from contracts with customers acquired in a business combination. Under this exception, an acquirer applies ASC 606 to recognize and measure contract assets and contract liabilities on the acquisition date. ASC 805 generally requires the acquirer in a business combination to recognize and measure the assets it acquires and the liabilities it assumes at fair value on the acquisition date. The ASU 2021-08 will become effective for fiscal years beginning after December 15, 2022. The adoption of this ASU is not expected to have a material impact on the Group&#8217;s consolidated financial statements.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"><span style="text-decoration:underline">Recently issued accounting pronouncements not yet adopted</span></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">In December 2022, the FASB issued ASU 2022-06, &#8220;Reference Rate Reform (Topic 848): Deferral of the Sunset Date of Topic 848&#8221;. This ASU defers the sunset date of Topic 848, which provides relief to entities affected by reference rate reform. The ASU defers the sunset date of Topic 848 from December 31, 2022, to December 31, 2025. The standard is effective immediately and the Group adopted the standard in December 2022 with no financial impact. The Group is currently assessing the impact ASU 2020-04, for which this ASU 2022-06 relates, will have on its consolidated financial statements.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">The Group has reviewed all recently issued, but not yet effective, accounting pronouncements and does not believe the future adoption of any such pronouncements may be expected to cause a material impact on its financial condition or the results of its operations.</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>(ab)</strong></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Non-controlling interests </strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">For entities that are consolidated, but not 100% owned, a portion of the income or loss and equity is allocated to owners other than the Group. The aggregate of the income or loss and corresponding equity that is not owned by the Group is included within non-controlling interests in the consolidated financial statements.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Non-controlling interests is presented as a separate component of equity in the consolidated balance sheets. Net income includes the net income attributable to the holders of non-controlling interests in the consolidated statements of operations and comprehensive income / (loss). Profits and losses are allocated to non-controlling interests in proportion to their relative ownership interests regardless of their basis.</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_SignificantAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for all significant accounting policies of the reporting entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483426/235-10-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 235<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/235/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SignificantAccountingPoliciesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember</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>28
<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>Segment information<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_SegmentReportingAbstract', window );"><strong>Segment information</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 information</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Note 3: Segment information</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">(i) The Group reports under two segments: Trading and manufacturing, and Engineering.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;">Operating income represents total revenues less operating expenses, excluding other expense, interest and income taxes. The identifiable assets by segment are those used in each segment&#8217;s operations. Intersegment transactions are not significant and have been eliminated to arrive at consolidated totals. </p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Revenue</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Trading and manufacturing</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">9,549</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">12,143</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">9,332</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Engineering</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">5,834</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">5,797</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">5,617</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">15,383</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">17,940</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">14,949</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Operating income / (loss)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Trading and manufacturing</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">278</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">377</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(246 </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Engineering</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">273</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(438 </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">590</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Unallocated corporate expenses</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(165 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(188 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(230 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">386</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(249 </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">114</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Depreciation:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Trading and manufacturing</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">11</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">11</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">28</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Engineering</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">3</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">4</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">5</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">14</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">15</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">33</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Capital expenditures, gross</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Trading and manufacturing</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Engineering</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">2</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">2</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">5</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">5</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">5</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">7</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Trading and manufacturing</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">6,668</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">8,229</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Engineering</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">14,040</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">13,891</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">20,708</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">22,120</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Liabilities</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Trading and manufacturing</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2,155</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3,605</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Engineering</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">1,859</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">2,035</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">4,014</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">5,640</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;">(ii) Geographical analysis of revenue by customer location is as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Revenue -</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">The PRC</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">6,398</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">7,125</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5,878</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Hong Kong</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">6,745</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">9,879</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">7,174</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Others </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">2,240</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">936</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">1,897</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">15,383</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">17,940</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">14,949</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">(iii) Long-lived assets <sup style="vertical-align:super">(1)</sup></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Geographical analysis of long-lived assets is as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Hong Kong</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">6</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">The PRC</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">154</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">162</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">159</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">168</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;"><sup style="vertical-align:super"></sup>&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;"><sup style="vertical-align:super">(1)</sup> Long-lived assets represent property, plant and equipment, net.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">(iv) Major suppliers</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Details of individual suppliers accounting for more than 5% of the Group&#8217;s purchases are as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><strong>2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Supplier A</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">36</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">23</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">21</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Supplier B</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">26</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">42</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">33</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Supplier C</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">8</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">7</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">6</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Supplier D</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Supplier E</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Supplier F</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">(v) Major customers</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Details of individual customers accounting for more than 5% of the Group&#8217;s revenue are as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><strong>2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Customer A</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">13</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">10</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">9</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Customer B</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">9</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">14</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">18</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Customer C</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">9</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Customer D</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">6</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">%</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;-</p></td><td style="width:1%;white-space: nowrap;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;-</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Customer E</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">%&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;-</p></td><td style="width:1%;white-space: nowrap;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;-</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Customer F</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">%</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;-</p></td><td style="width:1%;white-space: nowrap;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;-</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Customer G</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">7</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Customer H</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Customer I</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">6</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr></tbody></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>29
<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>Accounts receivable net<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock', window );">Accounts receivable, net</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Note 4: Accounts receivable, net</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Accounts receivable, net consisted of the following at December 31,:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Contract receivables</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1,386</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2,864</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Less: allowance for doubtful accounts</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">1,386</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">2,864</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">The roll-forward of activity in the allowance for doubtful accounts was as follows for the years ended December 31:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Balance at beginning of period</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">28</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Less : reversal in allowances</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(28 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Balance at end of period</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The following is an aging analysis of accounts receivable, net at December 31:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Current</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">422</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">1,175</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Past due</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">1-30 days</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">397</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">603</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">31-60 days </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">224</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">548</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">61-90 days </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">183</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">341</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Greater than or equal to 91 days</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">160</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">197</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">964</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">1,689</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">1,386</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">2,864</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></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_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember', window );">ZHEJIANG TIANLAN</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_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock', window );">Accounts receivable, net</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>4. </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Accounts receivable, net</strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Accounts receivable, net consisted of the following at December 31:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="width:1%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td><td style="width:1%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="width:1%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td><td style="vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong> </p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td><td style="vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">Contract receivables</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">171,008</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">157,879</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td>Less: allowance for doubtful accounts</td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: #000000 1px solid;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">(35,952</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">)</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: #000000 1px solid;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">(29,644</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">)</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: black 3px double;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">135,056</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: black 3px double;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">128,235</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">The roll-forward of activity in the allowance for doubtful accounts was as follows for the years ended December 31:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Balance at beginning of year</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">29,644</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">40,019</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Add: provision for allowances </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">6,304</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">10,376</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Less: reversal of provision for doubtful accounts</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(677 </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Less: write-off of doubtful accounts</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(20,074 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Balance at end of year</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">35,952</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">29,644</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The following is an aging analysis of accounts receivable, net at December 31:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Within 1 year</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">100,254</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">121,658</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">1 year -&#160; 2 years</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">30,292</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">31,499</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">2 years - 3 years</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">10,701</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3,140</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">3 years - 4 years</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3,515</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">699</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">4 years - 5 years</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">456</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">883</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Over 5 years</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">25,790</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Less: allowance for doubtful accounts</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(35,952 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;(29,644</p></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">)&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">135,056</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">128,235</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">At December 31, 2024, the accounts receivable, net pledged as security for the Company&#8217;s bank loans and third party loans amounted to RMB Nil (2023: RMB Nil).</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_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 claims held for amounts due to entity, excluding financing receivables. Examples include, but are not limited to, trade accounts receivables, notes receivables, loans receivables. Includes disclosure for allowance for credit losses.</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> -Publisher FASB<br> -URI https://asc.fasb.org/310-10/tableOfContent<br><br>Reference 2: 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock</td>
</tr>
<tr>
<td style="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_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember</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>30
<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>Prepayments and other current assets<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock', window );">Prepayments and other current assets</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Note 5: Prepayments and other current assets</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Prepayment and other current assets mainly represent deposits paid for purchases and services, rental and utilities deposits, and prepaid expenses. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Deposits paid</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">78</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">40</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Prepayments</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">70</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">68</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Other receivables</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">118</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">134</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Income tax recoverable</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Other tax recoverable</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">3</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">4</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">271</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">246</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></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_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember', window );">ZHEJIANG TIANLAN</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_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock', window );">Prepayments and other current assets</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>5. </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Prepayments and other current assets</strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Prepayments and other current assets mainly represent deposits paid for bidding projects, purchases, services and finance leases and prepaid expenses.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Prepayments</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">21,462</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">16,622</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Deposits paid for bidding projects and temporary payments</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">7,610</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">6,257</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Other current assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">1,716</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">862</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">30,788</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">23,741</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amounts paid in advance for capitalized costs that will be expensed with the passage of time or the occurrence of a triggering event, and will be charged against earnings within one year or the normal operating cycle, if longer; the aggregate carrying amount of current assets, not separately presented elsewhere in the balance sheet; and other deferred costs.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock</td>
</tr>
<tr>
<td style="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_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember</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>31
<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>Contract assets and liabilities<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_ContractWithCustomerAssetAndLiabilityDisclosureTextBlock', window );">Contract assets and liabilities</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Note 6: Contract assets and liabilities </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Contracts with customers usually stipulate the timing of payment, which is defined by the terms found within the various contracts under which work was performed during the period. Therefore, contract assets and liabilities are created when the timing of costs incurred on work performed does not coincide with the billing terms.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The Group&#8217;s consolidated balance sheets present contract assets which contains earned unbilled revenue associated with contract work that has been completed but not paid by customers, that are generally due once the job is completed and approved. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Contract assets consisted of the following at December 31:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Unbilled revenue </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">135</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">66</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The Group&#8217;s consolidated balance sheets present contract liabilities which contains deferred revenue (previously identified as billings in excess of costs on uncompleted contracts) and unearned warranty revenue.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Contract liabilities consisted of the following at December 31:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Deferred revenue </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">593</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">650</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The following table provides information about contract assets and contract liabilities from contracts with customers:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Contract assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">135</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">66</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Contract liabilities</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(593 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(650 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Net contract liabilities </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(458 </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(584 </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The difference between the opening and closing balances of the Group&#8217;s contract assets and contract liabilities primarily results from the timing of the Group&#8217;s billings in relation to its performance of work. The amounts of revenue recognized in the period that were included in the opening contract liability balances were US$133,000 and US$492,000 for the years ended December 31, 2024 and 2023, respectively. The revenue consists primarily of work performed on previous billings to customers.&#160;&#160;&#160; </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The net liabilities position for contracts in process consisted of the following at December 31:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Costs incurred in contracts in process</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">325</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">229</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Revenue earned but not yet billed</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">102</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">26</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Less: billings to date </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(885 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(839 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(458 </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(584 </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The net liabilities position for contracts in process is included within the contract asset and contract liability in the accompanying consolidated balance sheets as follows at December 31: </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Unbilled revenue </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">135</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">66</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Deferred revenue </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(593 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(650 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(458 </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(584 </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 35.95pt; text-align:justify;"><span style="text-decoration:underline">Disaggregated revenue from contracts </span></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Revenue</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Trading and manufacturing (revenue recognized at point in time)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">9,549</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">12,143</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">9,332</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Engineering (revenue recognized over time)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">5,834</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">5,797</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">5,617</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">15,383</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">17,940</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">14,949</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></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_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember', window );">ZHEJIANG TIANLAN</a></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_clwt_ContractWithCustomerAssetAndLiabilityDisclosureTextBlock', window );">Contract assets and liabilities</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>6. </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Contract assets, net and liabilities</strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Contracts with customers usually stipulate the timing of payment, which is defined by the terms found within the various contracts under which work was performed during the period. Therefore, contract assets and liabilities are created when the timing of costs incurred on work performed does not coincide with the billing terms.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The Group&#8217;s consolidated balance sheets present contract assets, net which contains earned unbilled revenue associated with contract work that has been completed but not paid by customers, that are generally due once the job is completed and approved.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Contract assets, net consisted of the following at December 31:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Unbilled revenue</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">66,644</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">72,880</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The Group&#8217;s consolidated balance sheets present contract liabilities which contain deferred revenue (previously identified as billings in excess of costs and estimated earnings on uncompleted contracts).</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Contract liabilities consisted of the following at December 31:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 3.8pt">Deferred revenue</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">35,367</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">43,452</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The following table provides information about contract assets, net and contract liabilities from contracts with customers at December 31:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Contract assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">66,644</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">72,880</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Contract liabilities</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(35,367 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(43,452 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Net contract assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">31,277</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">29,428</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The difference between the opening and closing balances of the Group&#8217;s contract assets, net and contract liabilities primarily results from the timing of the Group&#8217;s billings in relation to its performance of work.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The net asset position for contracts in process consisted of the following at December 31:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Costs and estimated earnings on uncompleted contracts</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">48,274</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">239,648</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Less: billings to date</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(16,997 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(210,220 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">31,277</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">29,428</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Contract assets, net consisted of the following at December 31:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Gross contract assets </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">77,657</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">83,170</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Less: allowance for doubtful accounts </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(11,013 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(10,290 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">66,644</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">72,880</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_clwt_ContractWithCustomerAssetAndLiabilityDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_ContractWithCustomerAssetAndLiabilityDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum: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_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember</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>32
<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>Inventories<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_InventoryDisclosureAbstract', window );"><strong>Inventories</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryDisclosureTextBlock', window );">Inventories</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Note 7: Inventories</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Raw materials</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">76</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">192</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Work in progress</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">58</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">30</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Finished goods</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">366</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">501</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">500</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">723</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.35pt; TEXT-INDENT: 1.45pt; text-align:justify;">Management continuously reviews obsolete and slow moving inventories and assesses the inventory valuation to determine if the write-down of inventories is deemed appropriate. For the years ended December 31, 2024, and 2023, write-down of inventories amounted to US$1,000 and US$(1,000), respectively, which were charged to cost of revenue in consolidated statements of operations and comprehensive income / (loss). </p><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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember', window );">ZHEJIANG TIANLAN</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_InventoryDisclosureAbstract', window );"><strong>Inventories</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_InventoryDisclosureTextBlock', window );">Inventories</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>7. </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Inventories</strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Raw materials</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">676</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">54</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Finished goods</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">4,032</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">4,415</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">4,708</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">4,469</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/330/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember</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>33
<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>Short-term and long-term investments<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2023</div></th></tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember', window );">ZHEJIANG TIANLAN</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_clwt_CashCashEquivalentsAndShortTermAndLongTermInvestmentsTextBlock', window );">Short-term and long-term investments</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>8. </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Short-term and long-term investments</strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">The Group&#8217;s short-term investments consist of wealth management products and long-term investments consist of minority ownership interests in RMB53,292,000 (2023: Nil) limited liability company, generally from private equity arrangements. These investments are carried under the equity method of accounting, with changes in the carrying value reported as realized gains or losses in 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_clwt_CashCashEquivalentsAndShortTermAndLongTermInvestmentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_CashCashEquivalentsAndShortTermAndLongTermInvestmentsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum: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_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember</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>34
<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>Property plant and equipment net<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_PropertyPlantAndEquipmentAbstract', window );"><strong>Property plant and equipment net</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock', window );">Property, plant and equipment</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Note 8: Property, plant and equipment, net</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Office premises*</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">673</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">673</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Leasehold improvements</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">67</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">67</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Furniture, fixtures and office equipment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">311</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">313</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Motor vehicles</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">172</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">172</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Testing equipment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">28</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">32</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1,251</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1,257</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Less: Accumulated depreciation</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(1,092 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(1,089 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">159</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">168</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Depreciation charge</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">14</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">15</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">33</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;">* Far East earns rental income from a property in Beijing, PRC for which it does not hold the title. Far East is investigating various ways in which to obtain the title but has not formulated a specific plan as of the date of issuance of these consolidated financial statements. The net book value of the property at December 31, 2024 is approximately US$76,000 (2023: US$80,000).</p><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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember', window );">ZHEJIANG TIANLAN</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_PropertyPlantAndEquipmentAbstract', window );"><strong>Property plant and equipment net</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_PropertyPlantAndEquipmentDisclosureTextBlock', window );">Property, plant and equipment</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>9. </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Property, plant and equipment</strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Building and leasehold improvements</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">112,792</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">112,792</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Furniture, fixtures and office equipment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">4,272</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">4,122</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Motor vehicles</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">4,503</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">4,478</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Plant and machineries</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">10,852</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">10,619</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">132,419</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">132,011</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Less: Accumulated depreciation and amortization </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(74,681 </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(68,506 </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(74,681 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(68,506 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Net </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">57,738</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">63,505</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2" style="BORDER-BOTTOM: 1px solid;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year ended December 31,</strong></p></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="7" style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2" style="BORDER-BOTTOM: 1px solid;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2" style="BORDER-BOTTOM: 1px solid;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2" style="BORDER-BOTTOM: 1px solid;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>2</strong></p></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Depreciation charge</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">6,175</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">5,964</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">6,580</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">At December 31, 2024, the net book value of property, plant and equipment pledged as security for the Company&#8217;s bank loans and third party loans amounted to approximately RMB777,000 (2023: RMB1,026,000).</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/360/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477798/958-360-50-6<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477798/958-360-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477798/958-360-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember</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>35
<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>Intangible assets, net<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember', window );">ZHEJIANG TIANLAN</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsDisclosureTextBlock', window );">Intangible assets, net</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>10. </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Intangible assets, net</strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Amortizable intangible assets</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Gross carrying amount</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Patents</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">4,150</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">4,150</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Others</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">165</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">165</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">4,315</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">4,315</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Less: Accumulated amortization</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(2,787 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(2,552 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Net carrying amount</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">1,528</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">1,763</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>2</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Amortization expense</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">235</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">246</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">257</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">At December 31, 2024, estimated future intangible assets amortization expense for each of the next five years and thereafter was as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Future amortization expense </strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">2025</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">235</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">2026</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">235</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">2027</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">235</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">2028</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">235</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">2029</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">235</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Thereafter</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">353</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">1,528</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for all or part of the information related to intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/350-30/tableOfContent<br><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 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-3<br><br>Reference 4: 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 5: 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember</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>36
<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>Land use right, net<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember', window );">ZHEJIANG TIANLAN</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_clwt_LandUseRightNetDisclosureTextBlock', window );">Land use right, net</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>11. </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Land use right, net</strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Gross carrying amount</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Land use right</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">7,361</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">7,361</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Less: Accumulated amortization</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(2,811 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(2,662 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Net carrying amount</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">4,550</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">4,699</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>2</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Amortization expense</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">149</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">180</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">150</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">At December 31, 2024, the land use right pledged as security for the Company&#8217;s bank loans and third party&#8217;s loans amounted to approximately RMB1,326,000 (2023: RMB1,371,000).</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">As December 31, 2024, estimated future land use right amortization expense for each of the next five years and thereafter was as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Future amortization expense</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">2025</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">149</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">2026</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">149</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">2027</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">149</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">2028</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">149</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">2029</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">149</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Thereafter</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">3,805</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">4,550</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_clwt_LandUseRightNetDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_LandUseRightNetDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum: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_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember</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>37
<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>Bank borrowings<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember', window );">ZHEJIANG TIANLAN</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_clwt_BankBorrowingsDisclosureTextBlock', window );">Bank borrowings</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>12. </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Bank borrowings</strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Bank loans borrowed by the Company (note i)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1,001</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1,502</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Bank loans borrowed by subsidiaries of the Company (note ii)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">5,005</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">5,007</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">6,006</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">6,509</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:8%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">(i)</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The bank loans are denominated in Renminbi and are repayable within 1 year. The bank loans borrowed by the Company as of December 31, 2024 bears interest at fixed rates of 3.85% (2023: 3.85%) per annum. Interest paid during the year ended December 31, 2024 was approximately RMB54,000 (2023: RMB32,000 and 2022: RMB408,000).</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">(ii)</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The bank loans are denominated in Renminbi and are repayable within 1 year. The bank loans borrowed by subsidiaries of the Company as of December 31, 2024, bears interest at a fixed rate of 4.85 % (2023: a fixed rate of 4.85 %) per annum and are secured by the subsidiary&#8217;s office premises and leasehold improvements and land use right. Interest paid during the year ended December 31, 2024 was approximately RMB184,000 (2023: RMB221,000 and 2022: RMB218,000).</p></td></tr></tbody></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_clwt_BankBorrowingsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_BankBorrowingsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum: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_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember</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>38
<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>Investments in affiliates<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVenturesAbstract', window );"><strong>Investments in affiliates</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_InvestmentsInAndAdvancesToAffiliatesTextBlock', window );">Investments in affiliates</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Note 9: Investments in affiliates</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Investments in affiliates are accounted for using the equity method of accounting.&#160; </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Zhejiang Tianlan Environmental Protection Technology Co. Ltd.</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Interest held</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><strong>19.4</strong></td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"><strong>%</strong></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><strong>19.4</strong></td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"><strong>%</strong></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><strong>US$&#8217;000</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><strong>US$&#8217;000</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Long-term investment, at cost, less impairment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5,540</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5,540</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Share of undistributed profits</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">4,407</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">4,316</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">9,947</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">9,856</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;">Far East is holding 19.4% (2023: 19.4%) equity interests in Blue Sky, a company incorporated in the PRC, with total cost of investment of US$5,540,000. Blue Sky provides a comprehensive service for design, general contract, equipment manufacturing, installation, testing and operation management of the treatment of waste gases emitted from various boilers and industrial furnaces of power plants, steel works and chemical plants since 2000.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;">Blue Sky has listed its shares on the New Third Board in the PRC since November 17, 2015 and suspended trading from August 15, 2017 and resumed trading on February 2, 2018 and suspended trading from November 24, 2020 and resumed trading on January 6, 2021.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;">The Group&#8217;s interest in Blue Sky has been counted for as an affiliate using the equity method as the Group has representation on both the Board and Executive Committee of Blue Sky, and the ability to participate in the decision-making process and exercise significant influence.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;">A summary of the financial information of the affiliate, Blue Sky, is set forth below: </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 3.5pt; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 3.5pt; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Balance Sheet:</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Current assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">50,487</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">51,683</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Non-current assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">10,569</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">10,909</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">61,056</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">62,592</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total liabilities</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(25,204 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(26,374 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total shareholders&#8217; equity</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">35,852</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">36,218</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Operating results:</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Net sales</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">48,365</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">38,530</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Operating income</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1,926</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">337</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Net income</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2,008</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">9,978</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVenturesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVenturesAbstract</td>
</tr>
<tr>
<td style="padding-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_InvestmentsInAndAdvancesToAffiliatesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 investments in and advances to affiliates. Does not include the tabular disclosure of the disaggregation of investments in and advances to affiliates across legal entities.</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 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 6<br> -Subparagraph (SX 210.12-14)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-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_InvestmentsInAndAdvancesToAffiliatesTextBlock</td>
</tr>
<tr>
<td style="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>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>Goodwill<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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>Intangible assets, net</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_GoodwillDisclosureTextBlock', window );">Goodwill</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Note 10 : Goodwill</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 45pt; text-align:justify;">Reporting units - The Group&#8217;s reporting units consist of its trading and manufacturing and engineering segments. Goodwill is not amortized, but instead is reviewed for impairment at least annually during the fourth quarter of each year at the reporting level, absent any interim indicators of impairment or other factors requiring an assessment.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 45pt; text-align:justify;">Annual impairment assessment - For our 2024 and 2023 annual impairment test we performed a qualitative assessment, using information as of December 31, 2024 and 2023, respectively. Under current guidance, we are permitted to first assess qualitative factors to determine whether it is more likely than not that the fair value of a reporting unit is less than its carrying amount as a basis for determining whether it is necessary to perform a quantitative goodwill impairment test. We determined there were no factors indicating the need to perform a quantitative goodwill impairment test and concluded that it is more likely than not the fair value of our reporting units is greater than their carrying value and thus there was no impairment to goodwill.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 45pt; text-align:justify;">In addition to our annual review, we assess the impairment of goodwill whenever events or changes in circumstances indicate that the carrying value of a reporting unit may be greater than fair value. Factors that could trigger an interim impairment review include, but are not limited to, significant adverse changes in the business climate which may be indicated by a decline in our market capitalization or decline in operating results. No impairments were recorded to our goodwill during the years ended December 31, 2024, 2023 and 2022. No material events or changes occurred between the testing date and year end to trigger a subsequent impairment review.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 45pt; text-align:justify;">At December 31, 2024 and 2023, we had goodwill for our engineering segment with a carrying amount of US$1,071,000 and US$1,071,000, respectively.</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_GoodwillDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482548/350-20-55-24<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/350-20/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>40
<FILENAME>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>Other payables and accrued expenses<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_PayablesAndAccrualsAbstract', window );"><strong>Other payables and accrued expenses</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock', window );">Other payables and accrued expenses</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Note 11 : Other payables and accrued expenses</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;">Other payables and accrued expenses mainly represent deposits received from customers and accruals for operating expenses.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Dividend payables</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">76</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">78</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Deposits received from customers</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Rental deposit received</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Accruals for operating expenses </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">803</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">834</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Other tax payables</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">166</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">204</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">1,050</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">1,124</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></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_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember', window );">ZHEJIANG TIANLAN</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_PayablesAndAccrualsAbstract', window );"><strong>Other payables and accrued expenses</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_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock', window );">Other payables and accrued expenses</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>13. </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Other payables and accrued expenses</strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Accrued expenses</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">11,089</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">11,274</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Output VAT </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">6,587</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">6,348</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Deposits received and temporary receipts </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">4,695</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">6,098</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">22,371</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">23,720</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for accounts payable and accrued liabilities at the end of the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 720<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483384/720-30-45-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PayablesAndAccrualsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PayablesAndAccrualsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember</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>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>Other taxes payable<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember', window );">ZHEJIANG TIANLAN</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_clwt_OtherTaxesPayableDisclosureTextBlock', window );">Other taxes payable</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>14. </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Other taxes payable</strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Other taxes payable mainly comprise Valued-Added Tax (&#8220;VAT&#8221;). The Group is subject to output VAT levied at the rate of 3% to 13 % (2023: 3% to 13%) of the revenue from sales of equipment.&#160; The input VAT paid on purchases of materials and other direct inputs can be used to offset the output VAT levied on operating revenue to determine the net VAT payable or recoverable. </p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_clwt_OtherTaxesPayableDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_OtherTaxesPayableDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum: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_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember</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>42
<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>Capital reserve<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember', window );">ZHEJIANG TIANLAN</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_clwt_CapitalReserveDisclosureTextBlock', window );">Capital reserve</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>15. </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Capital reserve</strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Capital reserve represents capital contributions from shareholders in excess of the paid-in capital amount and capitalization of gain on disposal of subsidiaries to the shareholders in previous years.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_clwt_CapitalReserveDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_CapitalReserveDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum: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_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember</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>43
<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>Other income and other losses<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember', window );">ZHEJIANG TIANLAN</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_clwt_OtherIncomeAndOtherLossesDisclosureTextBlock', window );">Other income and other losses</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>16. </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Other income and other losses</strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 35.45pt; text-align:justify;"><strong>Other income </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>2</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Impairment gain on contract assets </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(722 </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2,158</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Investment income</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(8,504 </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2,863</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">824</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Fait value gain on short term investment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">248</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;-</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;-</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Compensation income</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">193</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">7,796</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Amounts waived by payees&#160; </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">676</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">980</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Reversal of allowance for doubtful accounts</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(6,225</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">10,841</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">983</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Subsidy income from PRC government </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">14,730</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">9,088</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">9,002</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">396</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">32,746</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">11,789</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 35.45pt; text-align:justify;"><strong>Other losses </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>2</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Impairment loss on short term investments</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">195</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Impairment loss on contract assets </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3,560</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">3,755</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_clwt_OtherIncomeAndOtherLossesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_OtherIncomeAndOtherLossesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum: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_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember</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>44
<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>Lease obligations<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_LeasesAbstract', window );"><strong>Lease obligations</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_LeasesOfLesseeDisclosureTextBlock', window );">Lease obligations</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Note 12: Lease obligations </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 34.8pt; text-align:justify;">The Group has operating leases primarily for office space. The Group&#8217;s leases have remaining lease terms of several months to 18 months.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 34.8pt; text-align:justify;">Based on present value of future minimum rental payments of the lease as if the adoption date, using an effective interest rate of 5%, which is determined using an local banks incremental borrowing rate. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 34.8pt; text-align:justify;">The components of lease expense are as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 4.5pt; text-align:center;"><strong>Years ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 4.5pt; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 4.5pt; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 4.5pt; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 4.5pt; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Operating lease cost</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">187</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">76</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Short-term lease cost</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">8</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">220</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total lease cost</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">195</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">296</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Supplemental consolidated cash flow information related to leases is as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Years ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Cash paid for amounts included in the measurement of lease liabilities:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Operating cash flows from operating leases</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">173</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">285</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Right-of-use assets obtained in exchange for lease obligations (noncash):</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Operating leases</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Supplemental consolidated balance sheet information related to leases is as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Operating leases</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Operating lease right-of-use assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">101</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">233</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Current portion of long-term operating lease obligations &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">83</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">170</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Long-term operating lease obligations, net of current maturities</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">9</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">44</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">92</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">214</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Weighted average remaining lease term</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Operating leases </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">3 months</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">3 months</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Weighted average discount rate</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Operating leases</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5.45</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Maturities of lease liabilities are as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Operating leases </strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Year ending December 31, </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">2025</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">77</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">2026</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">17</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total lease payments </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">94</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Less: imputed interest </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(2 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">92</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;The amortization expenses were US164,000 and US$160,000 for the years ended December 31, 2024, and 2023, respectively.</p><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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember', window );">ZHEJIANG TIANLAN</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_LeasesAbstract', window );"><strong>Lease obligations</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_LeasesOfLesseeDisclosureTextBlock', window );">Lease obligations</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>3. </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Lease obligations </strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">The Group has operating leases primarily for office space. The Group&#8217;s lease have remaining lease terms of several months to 33 months.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">The components of lease expense are as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Years ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Operating lease cost:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Amortization of right-of-use assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">141</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Interest on lease liabilities included under cost of revenue and selling and administrative expenses</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">16</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total operating lease cost</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">157</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Supplemental consolidated cash flow information related to leases is as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Years ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Cash paid for amounts included in the measurement of lease liabilities:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Finance cash flows from operating leases</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">440</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Right-of-use assets obtained in exchange for lease obligations (noncash):</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Operating leases</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Supplemental consolidated balance sheet information related to leases is as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Operating leases</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Right-of-use assets, at cost </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2,529</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Accumulated amortization </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(141 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Right-of-use assets, net </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">2,388</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Current portion of operating lease </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">563</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Non-current portion of operating lease</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">1,542</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total operating lease liabilities</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">2,105</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Weighted average remaining lease term</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">operating leases </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">33 months</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Weighted average discount rate</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Operating leases</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3.6</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesOfLesseeDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 lessee entity's leasing arrangements including, but not limited to, all of the following: (a.) The basis on which contingent rental payments are determined, (b.) The existence and terms of renewal or purchase options and escalation clauses, (c.) Restrictions imposed by lease agreements, such as those concerning dividends, additional debt, and further leasing.</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 840<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/840/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_LeasesOfLesseeDisclosureTextBlock</td>
</tr>
<tr>
<td style="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_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember</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>45
<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>Ordinary share<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_EquityAbstract', window );"><strong>Ordinary 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_StockholdersEquityNoteDisclosureTextBlock', window );">Ordinary share</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Note 13 : Ordinary share</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">During the year ended December 31, 2020, there was no movement with the Company&#8217;s issued ordinary shares and outstanding shares.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">On March 3, 2021, the Company had stock split in the form of bonus shares at the rate of two ordinary shares for every three ordinary shares held, creating 2,061,900 new shares of common stock.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">On January 24, 2022, the Company had stock split in the form of bonus shares at the rate of one ordinary shares for every two ordinary shares held, creating 2,577,373 new shares of common stock, as described in Note 24 to the consolidated financial statements.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Number of outstanding shares at year end of:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Shares issued</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">7,899,832</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">7,899,832</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Less: shares under treasury stock</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(183,533 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(178,400 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">7,716,299</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">7,721,432</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_EquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityNoteDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-13<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-13<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-14<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477968/946-235-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477968/946-235-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478448/946-505-50-6<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480237/815-40-50-6<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(e)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/505/tableOfContent<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-13<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-13<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-13<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-14<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-14<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 16<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-16<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-18<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-18<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-18<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityNoteDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>46
<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>Treasury stock<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_clwt_TreasuryStockAbstract', window );"><strong>Treasury stock</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_TreasuryStockTextBlock', window );">Treasury stock</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Note 14 : Treasury stock</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Company approved a stock repurchase plan in April 2023 to repurchase up to 230,000 ordinary shares, for an aggregate purchase price of not more than US$300,000, of the Company&#8217;s ordinary share could be purchased in the open market from time to time as market and business conditions warrant.&#160;&#160;The Company repurchased a total of&#160;&#160;5,133 and 10,700 shares of ordinary share during 2024 and 2023 for considerations of approximately US$7,000 and US$14,000, respectively. </p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_clwt_TreasuryStockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_TreasuryStockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</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_TreasuryStockTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 treasury stock, including, but not limited to, average cost per share, description of share repurchase program, shares repurchased, shares held for each class of treasury stock.</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 505<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/505-30/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockTextBlock</td>
</tr>
<tr>
<td style="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>47
<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>PRC statutory reserves<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_clwt_PrcStatutoryReservesAbstract', window );"><strong>PRC statutory reserves</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_clwt_PrcStatutoryReservesTextBlock', window );">PRC statutory reserves</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Note 15 : PRC statutory reserves</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Under the relevant PRC laws and regulations, the PRC subsidiaries are required to appropriate a certain percentage of their respective net income to two statutory funds i.e. the statutory reserve fund and the statutory staff welfare fund. &#160;The PRC subsidiaries can also appropriate certain amount of its net income to the enterprise expansion fund.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">(i)</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Statutory reserve fund</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Pursuant to applicable PRC laws and regulations, the PRC subsidiaries are required to allocate at least 10% of its net income to the statutory reserve fund until such fund reaches 50% of its registered capital. The statutory reserve fund can be utilised upon the approval by the relevant authorities, to offset accumulated losses or to increase its registered capital, provided that such fund be maintained at a minimum of 25% of its registered capital.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Under the PRC laws and regulations, the PRC subsidiaries are restricted in their ability to transfer certain of its net assets in the form of dividend payments, loans or advances.&#160; The amounts restricted include paid-in capital and statutory reserves, as determined pursuant to PRC generally accepted accounting principles, totaling US$2,150,000 as at December 31, 2024 (2023: US$2,500,000 and 2022: US$2,531,000).</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">(ii)</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Statutory staff welfare fund</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Pursuant to applicable PRC laws and regulations, the PRC subsidiaries are required to allocate a certain amount of its net income to the statutory staff welfare fund determined by it. The statutory staff welfare fund can only be used to provide staff welfare facilities and other collective benefits to its employees. This fund is non-distributable other than upon liquidation of the PRC subsidiaries. The balances as at December 31, 2024 and 2023 include in statutory reserves were US$9,000 and US$12,000 respectively.</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">(iii)</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Enterprise expansion fund</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The enterprise expansion fund shall only be used to make up losses, expand the PRC subsidiaries&#8217; production operations, or increase the capital of the subsidiaries. The enterprise expansion fund can be utilised upon approval by relevant authorities, to convert into registered capital and issue bonus capital to existing investors, provided that such fund be maintained at a minimum of 25% of its registered capital. The balances as at December 31, 2024 and 2023 include in statutory reserves were US$408,000.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_clwt_PrcStatutoryReservesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_PrcStatutoryReservesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</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_clwt_PrcStatutoryReservesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_PrcStatutoryReservesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum: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>48
<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>Other income net<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_OtherIncomeAbstract', window );"><strong>Other income net</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_clwt_OtherIncomeNetTextBlock', window );">Other income, net</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Note 16 : Other income, net</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Exchange gain / (loss), net</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(66 </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(93 </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Rental income</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">37</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">46</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">37</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Government subsidies &#8211; Employment Support Scheme *</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">69</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">37</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(20 </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">13</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 39.25pt; text-align:justify;">* The amount represents salaries and wage subsidies granted under Anti-Epidemic Fund by the Government of the Hong Kong Special Administrative Region for the use of paying wages of employees from May to June 2022.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_clwt_OtherIncomeNetTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_OtherIncomeNetTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum: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_OtherIncomeAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_OtherIncomeAbstract</td>
</tr>
<tr>
<td style="padding-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>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 taxes<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_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-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Note 17 : Income taxes</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">No income tax arose in the United States of America by the Group for the years ended December 31, 2024, 2023 and 2022.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The Company and Pact Asia Pacific Limited are exempt from taxation in the British Virgin Islands (&#8220;BVI&#8221;).</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Far East provided for Hong Kong profits tax at a rate of 8.25% on assessable profits up to US$256,000; and 16.5% on any part of assessable profits over US$256,000 in year 2024 and 2023 (2022: 16.5%) on the basis of their income for financial reporting purposes, adjusting for income and expense items which are not assessable or deductible for profits tax purposes.&#160; </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Euro Tech Trading (Shanghai) Limited (&#8220;ETTS&#8221;), a subsidiary of Far East, provides for PRC Enterprise Income Tax (&#8220;EIT&#8221;) at a rate of 25% (2023 and 2022: 25%), after offsetting losses brought forward, if any, on the basis of its income for financial reporting purposes, adjusting for income and expense items which are not assessable or deductible for PRC Enterprise Income Tax purposes. As of December 31, 2024, ETTS had an assessable loss carried forward of US$19,000 as agreed by the local tax authority to offset its profit for the forth coming years (2023: US$51,000 and 2022: US$103,000). Such loss will expire in 5 years.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Shanghai Euro Tech Limited (&#8220;SET&#8221;), a subsidiary of Far East, provides for PRC Enterprise Income Tax at a rate of 25% (2023 and 2022: 25%), after offsetting losses brought forward, if any, on the basis of its income for financial reporting purposes, adjusting for income and expense items which are not assessable or deductible for PRC Enterprise Income Tax purposes. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Yixing Pact Environmental Technology Co. Ltd. (&#8220;Yixing&#8221;), a subsidiary of Far East, provides for PRC Enterprise Income Tax at a rate of 25% (2023 and 2022: 25%), after offsetting losses brought forward, if any, on the basis of its income for financial reporting purposes, adjusting for income and expense items which are not assessable or deductible for PRC Enterprise Income Tax purposes. As of December 31, 2024, Yixing had an assessable loss carried forward of US$1,235,000 as agreed by the local tax authority to offset its profit for the forth coming years (2023: US$1,330,000 and 2022: US$1,509,000). Such loss will expire in 5 years.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Under the New Enterprise Income Tax Law and the implementation rules, profits of the PRC subsidiaries earned on or after January 1, 2008 and distributed by the PRC subsidiaries to foreign holding company are subject to a withholding tax at a rate of 10% unless reduced by tax treaty. Aggregate undistributed earnings of Far East&#8217;s subsidiaries located in the PRC that are available for distribution to Far East of approximately US$0.6 million at December 31, 2024 (2023: US$0.6 million and 2022: US$0.6 million) are intended to be reinvested, and accordingly, no deferred taxation has been made for the PRC dividend withholding taxes that would be payable upon the distribution of those amounts to Far East. Distributions made out of pre January 1, 2008 retained earnings will not be subject to the withholding tax.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">The Company and its subsidiaries are based in Hong Kong and PRC and file Hong Kong profits tax return and PRC EIT return, respectively. The components of the (provision) / credit for income taxes (expense) / credit were as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Current taxes (expense )</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Hong Kong profits tax and the PRC EIT</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(33 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(45 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Income tax expense</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(33 </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(45 </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Deferred tax (expenses) / credit</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Hong Kong and the PRC </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(39 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(24 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total deferred tax (expenses) / credit</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(39 </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(24 </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total (expense) / credit</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(72 </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(45 </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(24 </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">The items comprising the difference between income taxes computed at the Hong Kong profits tax and PRC EIT statutory tax rates in effect for 2024, 2023 and 2022 and our effective tax rates were as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Income before income taxes</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">519</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">1,695</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">563</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Computed tax using respective companies&#8217; statutory tax rates</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(100 </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">78</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">131</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Change in valuation allowances</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">62</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(79 </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">58</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Non-deductible expenses</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(34 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(44 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(213 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Income tax (expense) / credit at effective tax rate</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(72 </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(45 </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(24 </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The components of deferred tax assets / (liabilities) are as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Tax losses </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">313</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">572</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Less: Valuation allowances</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(251 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(469 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Net deferred tax assets </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">62</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">103</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Uncertain tax positions</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">As a result of the Group&#8217;s analysis, management has determined that the Group does not have any material uncertain tax positions. </p><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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember', window );">ZHEJIANG TIANLAN</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_IncomeTaxDisclosureAbstract', window );"><strong>Income taxes</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_IncomeTaxDisclosureTextBlock', window );">Income taxes</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>17. </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Income tax (credit) / expense</strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">According to relevant PRC tax laws and regulations, entities incorporated in the PRC are subject to Enterprise Income Tax (&#8220;EIT&#8221;) at a statutory rate of 25% or reduced national EIT rates of 15% for certain High and New Technology Enterprises (&#8220;HNTE&#8221;) on PRC taxable income. Zhejiang Tianlan Environmental Protection Technology Company Limited and Hangzhou Tianlan Environmental Protection Equipment Company Limited are classified as HNTE which enjoy a preferential tax rate of 15%.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">During the years ended December 31, 2024 and 2023, the PRC tax laws and regulations have launched a tax reduction scheme for small enterprises, Hangzhou Tianlan Pure Environmental Protection Technology Company Limited, Hangzhou Tiancan Environmental Technology Company Limited, Hangzhou Zhongyi Ecological Environment Consulting Co., Limited, Zhejiang Tianlan Environmental Protection Engineering Company Limited, and Xuancheng Lanjing Environmental Protection Equipment Co., Limited<strong> </strong>are entitled to enjoy this tax benefit. As such, they are subjects to Enterprise Income Tax rate of 20% only. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">The Company and its subsidiaries are based in the PRC and file an EIT return. The components of the provision for income tax expense/(credit) were as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>2</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Current tax expense / (credit)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:11.25pt">PRC EIT</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">3,275</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">7,340</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(7 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Income tax expense / (credit)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">3,275</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">7,340</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(7 </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Deferred tax expense / (credit)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(2,910 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">8,729</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(361 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total deferred tax expense / (credit)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(2,910 </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">8,729</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(361 </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total expense / (credit)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">365</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">16,069</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(368 </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">The items comprising the difference between income tax computed at the EIT statutory rates in effect for 2024, 2023 and 2022 and our effective tax rates were as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year ended&#160; December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>2</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Income before income tax</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">14,831</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">86,606</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">15,398</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Computed tax using respective companies&#8217; statutory tax rates</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2,152</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">12,991</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2,309</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">(Over)-provision for income tax in prior years</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(5 </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(591 </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(69 </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Temporary differences</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1,090</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2,931</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2,089</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Tax effect of revenue not subject to tax</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Tax effect of expenses not deductible for tax purposes</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">699</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">4,472</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">500</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Tax effect of special deduction for research and development costs </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(4,081 </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(3,734 </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(5,257 </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Others </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">510</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">57</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Income taxes expense /(credit) at effective tax rate</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">365</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">16,069 </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(368 </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">The components of deferred tax assets are as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Allowance for doubtful accounts</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5,058</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">4,218</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Deferred government grant&#160; </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">631</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">213</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Impairment losses on assets&#160;&#160; </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1,771</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1,508</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Change in fair value</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(37 </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Investment loss</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">1,425</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total deferred tax assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">8,848</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">5,939</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Uncertain tax positions</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">As a result of the Group&#8217;s analysis, management has determined that the Group does not have any material uncertain tax positions.</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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>50
<FILENAME>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>Net income per ordinary share<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_EarningsPerShareAbstract', window );"><strong>Net income per ordinary 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 );">Net income per ordinary share</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Note 18 : Net income per ordinary share</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The calculation of the basic and diluted net income per ordinary share is based on the following data:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Number of shares</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Weighted average number of ordinary shares for the purposes of basic and diluted net income per share </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">7,716,993</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">7,726,118</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">7,732,132</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>51
<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>Stock options<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_ShareBasedCompensationAbstract', window );"><strong>Stock options</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock', window );">Stock options</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Note 19 : Stock options</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.45pt; text-align:justify;"><strong>2019 Stock Option and Incentive Plan</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">In April 2019, the Board of Directors approved the adoption of the 2019 Stock Option and Incentive Plan (the &#8220;Plan&#8221;). The Plan was also subsequently approved under a resolution of the Company's shareholders. The Plan provides for the granting of up to 300,000 (500,000 after bonus shares adjustment) Ordinary Shares (the &#8220;Share Limit&#8221;), in the form of options to Officers, Directors and Key Employees who perform services which contribute to the successful performance of the Company and its subsidiaries. In addition, the Plan provides that, on the first day of each fiscal year commencing on January 1, 2020, the Share Limit shall automatically be increased by that number of shares equal to 5% of the number of Ordinary Shares outstanding as of such date. The Board of Directors or a committee (the &#8220;Committee&#8221;) appointed by the Board of Directors administers the Plan.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Appropriate adjustment in the maximum number of Ordinary Shares issuable pursuant to this Plan, the maximum number of Ordinary Shares with respect to which options may be granted within any 12-month period to any participant during the duration of this Plan, the number of shares subject to options granted under this Plan, and the exercise price with respect to options, shall be made to give effect to any increase or decrease in the number of issued Ordinary Shares resulting from a subdivision or consolidation of shares whether through reorganization, recapitalization, division of shares, reverse share split, spin-off, split-off, spin-out, or other distribution of assets to shareholders, issue of bonus shares or combination of shares, assumption and conversion of outstanding options due to an acquisition by the Company of the shares, stock or assets of any other company or corporation, other increase or decrease in the number of such shares outstanding effected, without receipt of consideration by the Company, or any other occurrence for which the Committee determines an adjustment is appropriate.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The purchase price per share of the Ordinary Shares to be paid upon the exercise of the option must be at least 100% of the fair market value of an Ordinary Shares on the date on which the option was granted. Under the Plan, if the Ordinary Shares are principally traded on a national securities exchange or the Nasdaq Global Market or Capital Market at the time of grant, the Company is required to use, at fair market value, the average of the closing prices of the Ordinary Shares for the ten consecutive trading days immediately before the date of grant. If the Ordinary Shares are traded on a national securities exchange or the Nasdaq Stock Global Market or Capital Market, but no closing prices are reported for such ten-day period, or if the Ordinary Shares are principally traded in the over-the-counter market, the Company is required to use, as fair market value, the average of the mean between the bid and asked prices reported for the Company&#8217;s Ordinary Shares at the close of trading during such ten-day period before the date of grant. If the Ordinary Shares are traded neither on a national securities exchange, one of the Nasdaq&#8217;s Markets nor in the over-the-counter market or if bid and asked prices are otherwise not available, the fair market value of the Ordinary Shares on the date of grant will be determined in good faith by the Committee or the Board of Directors, as the case may be.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The Board of Directors or the Committee, as the case may be, determines, at the time of grant, when each option granted under the Plan will become exercisable. Notwithstanding the foregoing, all options held by a key employee of the Company or its subsidiaries become immediately exercisable, whether or not exercisable at the time, upon the death or disability, and shall be exercisable within twelve (12) months after the date of death or disability, but in no event later than the expiration date of such Options.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">No option is to be exercisable more than ten years from the date the option is granted.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Payment of Exercise Price for Options. Under the Plans, payment for shares purchased upon exercise of an option may be made by any of the following methods, subject to certain requirements: (i) in cash, (ii) in Ordinary Shares which have been held by the participant for not less than six months prior to the exercise of the option, valued at its Fair Market Value (as defined) on the date of exercise, (iii) in cash by a broker-dealer to whom the holder of the option has submitted an exercise notice consisting of a fully endorsed option, or (iv) by such other medium of payment as the Board or the Committee, as applicable, in its sole discretion, shall authorize, or by any combination of (i), (ii), or (iii), at the sole discretion of the Board or the Committee, as applicable, or in any manner provided in the option agreement, except by directing the Company to withhold Ordinary Shares otherwise issuable upon the exercise of the Option in payment of the exercise price.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Transfer of Options. Under the Plans, an option may not be sold, assigned or otherwise transferred except to:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">the spouse or lineal descendant of a plan participant;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">the trustee of a trust for the primary benefit of a plan participant&#8217;s spouse or lineal descendant;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">a partnership of which a plan participant and lineal descendants are the only partners; or</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><span style="font-family:symbol">&#183;</span></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">a tax exempt organization.</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">These assignments are only permitted if the assigning option holder does not receive any compensation in connection with the assignment and the assignment is expressly approved by the Board or Committee, as the case may be.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The Company indemnifies the members of any Committee and its delegates and the Chief Executive Officer against (a) the reasonable expenses (as such expenses are incurred), including attorneys&#8217; fees actually and necessarily incurred in connection with the defense of any action, suit or proceeding (or in connection with any appeal therein), to which they or any of them may be a party by reason of any action taken or failure to act under or in connection with the Plan, or any option granted under the Plan; and (b) all amounts paid by them in settlement thereof (provided such settlement is approved by independent legal counsel selected by the Company) or paid by them in satisfaction of a judgment in any such action, suit or proceeding, except in relation to matters as to which it shall be adjudged in such action, suit or proceeding that such Committee member or delegatee, as applicable, is liable for gross negligence or gross misconduct in the performance of his or her duties; provided that within 60 days after institution of any such action, suit or proceeding a Committee member or delegatee shall in writing offer the Company the opportunity, at its own expense, to handle and defend the same.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The Board may terminate, suspend, or amend the Plan at any time without the authorization of shareholders to the extent allowed by law or the rules of any market on which the Company&#8217;s shares are then listed or quoted.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">During the year ended December 31, 2022, the Company granted such options to its officers, directors and employees, which allow them to purchase up to 80,000 ordinary shares. The exercise price of all options granted is US$2.80 per share. The stock options granted are exercisable on April 1, 2024 and terminate on April 18, 2029.&#160; The Company has estimated the fair value of the options granted under the Binomial pricing model at US$1.3055 per share. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">During the year ended December 31, 2022, 41,250 options were cancelled that became non-exercisable when those related employees left from the Company. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">During the year ended December 31, 2023 and 2024, the Company did not grant any options to its officers, directors and employees.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Changes in outstanding options under various plans mentioned above were as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="22" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2022</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Number</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>of</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>options</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Weighted</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>average</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>exercise</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>price</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Number</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>of</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>options</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Weighted</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>average</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>exercise</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>price</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Number</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>of</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>options</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Weighted</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>average</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>exercise</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>price</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Outstanding, beginning of year</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">206,250</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">1.52</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">206,250</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">1.52</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">85,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">1.56</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Granted</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">80,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">2.80</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Cancelled</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(41,250 </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(1.04 </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Bonus shares adjustment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;">82,500</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;">(0.72 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Outstanding, end of year</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;">206,250</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;">1.52</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;">206,250</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;">1.52</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;">206,250</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;">1.52</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Exercisable, end of year</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;">206,250</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;">1.52</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;">86,250</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;">1.04</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;">86,250</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;">1.04</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">As of December 31, 2024 and 2023, there was no unrecognized stock-based compensation expense related to unvested stock options. The compensation expense for the year is approximately US$12,000 (2023: US$47,000 and 2022: US$45,000).</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The Group applies the provisions of ASC 718-10, which requires to recognise expense related to the fair value of stock-based compensation awards, including employee stock options.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The Binomial option-pricing model is used to estimate the fair value of the options granted. This requires the input of subjective assumptions, including the expected volatility of stock price, expected option term, expected risk-free rate over the expected option term and expected dividend yield rate over the expected option term. Because changes in subjective input assumptions can materially affect the fair value estimate, in directors&#8217; opinion, the existing model may not necessarily provide a realisable measure of the fair value of the stock options. Expected volatility is based on historical volatility in the 180 days prior to the issue of the options. Expected option term and dividend yield rate are based on historical trends. Expected risk-free rate is based on US Treasury securities with similar maturities as the expected terms of the options at the date of grant.</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_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_ShareBasedCompensationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ShareBasedCompensationAbstract</td>
</tr>
<tr>
<td style="padding-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>52
<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="2"><div style="width: 200px;"><strong>Pension plan<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_PensionAndOtherPostretirementBenefitContributionsAbstract', window );"><strong>Pension plan</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_PensionAndOtherPostretirementBenefitsDisclosureTextBlock', window );">Pension plan</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Note 20 : Pension plan</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Prior to December 1, 2000, Far East had only one defined contribution pension plan for all its Hong Kong employees. Under this plan, all employees were entitled to pension benefits equal to their own contributions plus 50% to 100% of individual fund account balances contributed by Far East, depending on their years of service with Far East. Far East was required to make specific contributions at approximately 10% of the basic salaries of the employees to an independent fund management company.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">With the introduction of the Mandatory Provident Fund Scheme (&#8220;MPF scheme&#8221;), a defined contribution scheme managed by an independent trustee on December 1, 2000, Far East and its employees who joined Far East subsequently make monthly contributions to the scheme at 5% of the employee&#8217;s cash income as defined under the Mandatory Provident Fund Schemes Ordinance.&#160; Under the MPF scheme, the employer and its employees are each required to make contributions to the plan at 5% of the employees' relevant income, subject to a cap of monthly relevant income of HK$30,000. Contributions to the plan vest immediately.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">During the years ended December 31, 2024, 2023 and 2022, the aggregate contributions of the Group to the aforementioned pension plans and retirement benefit schemes were approximately US$191,000, US$192,000 and US$302,000, respectively.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">As stipulated by the rules and regulations in the PRC, the PRC&#8217;s subsidiaries contributes to state-sponsored retirement plans for its employees in Mainland China. PRC&#8217;s subsidiaries&#8217; contribution approximately 16% of the basic salaries of its employees, and have no further obligations for the actual payment of pension or post-retirement benefits beyond the annual contributions. The state-sponsored retirement plans are responsible for the entire pension obligations payable to retired employees.</p><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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember', window );">ZHEJIANG TIANLAN</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_PensionAndOtherPostretirementBenefitContributionsAbstract', window );"><strong>Pension plan</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_PensionAndOtherPostretirementBenefitsDisclosureTextBlock', window );">Pension plan</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>18. </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Pension plan</strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">As stipulated by the rules and regulations in the PRC, the Group contributes to state-sponsored retirement plans for its employees in Mainland China. The Group contributes approximately 12% to 14% of the basic salaries of its employees, and has no further obligations for the actual payment of pension or post-retirement benefits beyond the annual contributions. The state-sponsored retirement plans are responsible for the entire pension obligations payable to retired employees.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">During the years ended December 31, 2024, 2023 and 2022, the aggregate contributions of the Group to the aforementioned pension plans and retirement benefit schemes were approximately RMB3,710,000, RMB2,766,000 and RMB2,691,000 respectively.</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_PensionAndOtherPostretirementBenefitContributionsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_PensionAndOtherPostretirementBenefitContributionsAbstract</td>
</tr>
<tr>
<td style="padding-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_PensionAndOtherPostretirementBenefitsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 retirement 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/disclosureRef<br> -Topic 715<br> -SubTopic 70<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480794/715-70-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480482/715-20-55-17<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (q)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (l)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/715/tableOfContent<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (o)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (p)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (r)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (r)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480126/715-20-S99-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480266/715-60-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_PensionAndOtherPostretirementBenefitsDisclosureTextBlock</td>
</tr>
<tr>
<td style="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_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>53
<FILENAME>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>Risk factors<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_DerivativeInstrumentDetailAbstract', window );"><strong>Risk factors</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 );">Risk factors</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Note 21 : Risk factors</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Financial risk factors</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The Group&#8217;s activities expose it to a variety of financial risks: credit risk and foreign exchange rate risk.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">(i)</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Credit risk</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The Group has no significant concentration of credit risk, cash in banks in Hong Kong and PRC is insured with limit of approximately US$102,000 and US$70,000, respectively per bank per each depositor. Uninsured cash in banks and restricted cash balances in Hong Kong and PRC are of approximately US$5,251,000 (2023: US$6,039,000). Cash transactions are limited to high credit quality banks.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">(ii)</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Foreign exchange rate risk</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The Group operates in Hong Kong, the PRC and trades with both local and overseas customers and suppliers, and is exposed to foreign exchange rate risk arising from various currency exposures, primarily with respect to purchases in Hong Kong dollars, Renminbi and Euros. Foreign exchange risk arises from committed and unmatched future commercial transactions, such as confirmed import purchase orders and sales orders, recognized assets and liabilities, and net investment in the PRC operations.</p><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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember', window );">ZHEJIANG TIANLAN</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_DerivativeInstrumentDetailAbstract', window );"><strong>Risk factors</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_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock', window );">Risk factors</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>19. </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Risk factors</strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Financial risk factors</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The Group&#8217;s activities expose it mainly to credit risk.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Credit risk</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The Group has no significant concentration of credit risk, cash in banks in PRC is insured with limit of approximately RMB500,000, per bank per each depositor. Uninsured cash in banks and restricted cash balances in PRC are of approximately RMB67,750,000 (2023: RMB128,000,000). Cash transactions are limited to high credit quality banks.</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_DerivativeInstrumentDetailAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_DerivativeInstrumentDetailAbstract</td>
</tr>
<tr>
<td style="padding-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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember</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>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="2"><div style="width: 200px;"><strong>Risk and uncertainty<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_RisksAndUncertaintiesAbstract', window );"><strong>Risk and uncertainty</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_UnusualRisksAndUncertaintiesTextBlock', window );">Risk and uncertainty</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Note 22 : Risk and uncertainty</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;">(i)&#160;Property title in the PRC&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.2pt; text-align:justify;">The Group, through its subsidiary, Far East received total rental income of US$31,000 in 2024 on a property in Beijing, China pursuant to relevant lease agreement from 2022 to 2024.The latest lease agreement relating to such property has expired in November 2024. The Group made payment for the purchase of such property, but has not successfully obtained Certificate of Real Estate Ownership or title of such property from the PRC authority. The property&#8217;s book value as at December 31, 2024 was approximately US$76,000. Far East has made an effort to request the developer of the property to assist with obtaining the title, but those efforts have failed. Far East is still investigating various ways to obtain the title but has not formulated a specific plan as of the date of this Annual Report.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.2pt; text-align:justify;">In connection with the above, if the property is to be disposed, it is likely that Far East&#8217;s title to the property will be challenged, and in such case the Group will need to incur additional costs and expenses to confirm and defend its title to the property and the rental income it has collected. There is no assurance that Far East will succeed in its efforts to obtain the title to the property and the rental income it has collected. Far East&#8217;s failure in this regard could have material adverse effect on the Group&#8217;s financial position, results of operations, and cash flow.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;">(ii)&#160;Non-controlling interest Put Option&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.2pt; text-align:justify;">The Group granted the non-controlling interest of Yixing Pact Environmental Technology Co., Ltd. and Pact Asia Pacific Limited a put option, which is effective from 2009, requiring the Group to acquire part or all remaining shares of these two companies at a purchase price per share calculated by 5.2 times of their average net income for the three prior fiscal years divided by total number of shares outstanding at the time of exercise of such option. Such put option did not have an expiry date.&#160; The management of the Group has conducted an assessment of the fair value of the put option and determined it to be immaterial. The fair value assessment of the put option involves significant judgment and estimation, the management's reliance on internal expertise for the fair value assessment may introduce inherent uncertainties and potential for subjectivity.</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_RisksAndUncertaintiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RisksAndUncertaintiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnusualRisksAndUncertaintiesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the nature of the unusual risk or uncertainty, if estimable, such as the threat of expropriation of its assets by a foreign government, rapid technological obsolescence in the industry, risk of natural disaster from earthquake or weather events, and availability of or continuation of a labor force at a reasonable cost.</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_UnusualRisksAndUncertaintiesTextBlock</td>
</tr>
<tr>
<td style="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>55
<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>Related party transactions<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_RelatedPartyTransactionsAbstract', window );"><strong>Related party transactions</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_RelatedPartyTransactionsDisclosureTextBlock', window );">Related party transactions</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Note 23 : Related party transactions</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;">Other than compensation to directors and stock options available to the directors, there were no transactions with other related parties in the years 2024, 2023 and 2022.</p><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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember', window );">ZHEJIANG TIANLAN</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_RelatedPartyTransactionsAbstract', window );"><strong>Related party transactions</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_RelatedPartyTransactionsDisclosureTextBlock', window );">Related party transactions</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>20. </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Related party transaction</strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">There was no engineering service income from an investment in 2024&#160;(2023: Nil) and there was remuneration to key management personnel of approximately RMB2,037,000 (2023: RMB 1,878,000).</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_RelatedPartyTransactionsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RelatedPartyTransactionsAbstract</td>
</tr>
<tr>
<td style="padding-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_RelatedPartyTransactionsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480990/946-20-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480990/946-20-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480990/946-20-50-6<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477968/946-235-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477968/946-235-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 850<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483326/850-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(g)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<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 1<br> -Subparagraph (SX 210.6-07(2)(e))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 850<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/850/tableOfContent<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 850<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483326/850-10-50-6<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 850<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/2147483326/850-10-50-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 850<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/2147483326/850-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_RelatedPartyTransactionsDisclosureTextBlock</td>
</tr>
<tr>
<td style="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_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember</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>56
<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>Commitments and contingencies<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_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-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;<strong>Note 24 : Commitments and contingencies </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;">(i)&#160;Banking facilities&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;">As at December 31, 2024 and 2023, the Group had various banking facilities available for overdraft and import and export credits from which the Group can draw up to approximately US$897,000 and US$897,000 respectively, of which approximately US$183,000 and US$355,000 were utilised for issuance of bank guarantees as security for the performance of various contracts with customers and import loans. The various banking facilities are secured by a bank deposit of approximately US$897,000 and various blanket counter indemnities and counter indemnities. The Group undertakes to maintain its tangible net worth not at any time less than approximately US$3,846,000 and was in compliance with the covenant. The weighted average interest rate for import loans as at December 31, 2024 was 7.12% per annum (2023: 7.02% per annum). For the years ended December 31, 2024 and 2023, the average dollar amount of the bank borrowings was approximately US$154,000 and US$293,000, respectively and average interest rates were approximately 7.12% and 7.02% per annum respectively for the years ended December 31, 2024 and 2023.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;">(ii)&#160;Non-controlling interest put option&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;">The Group granted the non-controlling interest of Yixing Pact Environmental Technology Co., Ltd. and Pact Asia Pacific Limited a put option, which is effective from 2009, requiring the Group to acquire part or all remaining shares of these two companies at a purchase price per share calculated by 5.2 times of their average net income for the three prior fiscal years divided by total number of shares outstanding at the time of exercise of such option. Such put option did not have an expiry date. &#160;Based on the analysis under ASC 820 &#8220; Fair Value Measurement&#8221; , Level 3 inputs: unobservable inputs that are supported by little or no market ability, management of the Group has conducted an assessment of the fair value of the put option, refer below. The fair value assessment of the put option involves significant judgment and estimation, the management's reliance on internal expertise for the fair value assessment may introduce inherent uncertainties and potential for subjectivity.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;">The valuation technique used to determine the fair value of the put option was the Options Pricing Model (OPM).</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;">The following inputs and assumptions were used in determining the fair value of the put options:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:justify;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td style="width:4%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">-</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">Median price to earnings ratio of similar companies of 23,965 (Range 4,7288 to 36,7237)</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">-</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">Median discount for lack of marketability 15.7% (Range 8.4% to 28.7%)</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">-</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">Mean Annualized volatility of return of the underlying share for similar companies of 102.39% (Range 36.025 to 349.944)</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">-</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">The average life of a company is around 21 years according to research (<span style="text-decoration:underline">www.statista.com/statistics/1259275/average-company-lifespan</span>) thus an assumption on the life of the options was set as 20 years.</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">-</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">A dividend yield rate of 0% was used</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">-</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">For Yixing Pact Environmental Technology Co. Ltd, the China risk-free rate of 2.698% was used based on a tenor of 20 years (source- Bloomberg)</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">-</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">For Pact Asia Pacific Limited, the USD risk-free rate of 3.954% was used based on a tenor of 20 years (source- Bloomberg)</p></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160; </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 36.15pt; text-align:justify;">The resultant strike price of the options was valued at $0 per share and the fair value of the options was valued at $0 as at 31 December 2024.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 36.15pt; text-align:justify;">The following is a roll-forward of the redeemable non-controlling interest:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 36.15pt; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Fair value of put options </strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Balance, December 31, 2023</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">0</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Net income (loss)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">0</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Foreign currency translation</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">0</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Balance, December 31, 2024</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">0</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;">(iii)&#160;Insurance&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;">The Group carries insurance policies to cover various risks, primarily general liability, automobile liability, workers&#8217; compensation and employee medical expenses under which we are liable to reimburse the insurance company for a portion of each claim paid.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;">(iv)&#160;Purchase commitments&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;">To manage the risk of changes in material prices and subcontracting costs used in tendering bids for engineering contracts, most of the time, the Group obtains firm quotations from suppliers and subcontractors before submitting a bid. These quotations do not include any quantity guarantees. As soon as the Group is advised that its bid is successful, the Group enters into firm contracts with most of its materials suppliers and sub-contractors, thereby mitigating the risk of future price variations affecting the contract costs.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;">(v)&#160;Litigations&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;">The Group is now and may in the future be involved as a party to various legal proceedings that are incidental to the ordinary course of business. Management, after consultation with legal counsel, does not believe that the outcome of these actions will have a material impact on the consolidated financial statements of the Group. There are no significant unresolved legal issues as of December 31, 2024 and 2023.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;">(vi)&#160;Contingencies&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;">The Group accounts for loss contingencies in accordance with ASC 450 and other related guidelines. As of December 31, 2024 and 2023, the Group&#8217;s management is of the opinion that there are no commitments and contingencies to account for.</p><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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember', window );">ZHEJIANG TIANLAN</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_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>Commitments and contingencies</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_CommitmentsAndContingenciesDisclosureTextBlock', window );">Commitments and contingencies</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>21 </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Commitments and contingencies </strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">(i)</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Insurance</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 70.85pt; text-align:justify;">The Group carries insurance policies to cover various risks, primarily general liability, automobile liability, workers&#8217; compensation and employee medical expenses under which we are liable to reimburse the insurance company for a portion of each claim paid.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">(ii)</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Purchase commitments</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 70.85pt; text-align:justify;">To manage the risk of changes in material prices and subcontracting costs used in tendering bids for contracts, most of the time, the Group obtains firm quotations from suppliers and subcontractors before submitting a bid. These quotations do not include any quantity guarantees. As soon as the Group is advised that its bid is successful, the Group enters into firm contracts with most of its materials suppliers and sub-contractors, thereby mitigating the risk of future price variations affecting the contract costs.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">(iii)</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Litigation</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 70.85pt; text-align:justify;">The Group is now and may in the future be involved as a party to various legal proceedings that are incidental to the ordinary course of business. Management, after consultation with legal counsel, does not believe that the outcome of these actions will have a material impact on the consolidated financial statements of the Group. There are no significant unresolved legal issues as of December 31, 2024 and 2023.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">(v)</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Contingencies</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 70.85pt; text-align:justify;">The Group accounts for loss contingencies in accordance with ASC 450 and other related guidelines. As of December 31, 2024 and 2023, the Group&#8217;s management is of the opinion that there are no commitments and contingencies to account for.</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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember</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>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="2"><div style="width: 200px;"><strong>Subsequent events<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_SubsequentEventsAbstract', window );"><strong>Subsequent events</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsequentEventsTextBlock', window );">Subsequent events</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Note 25: Subsequent event </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">On February 20, 2025, the Company approved a share repurchase program to repurchase up to 350,000 ordinary shares, for an aggregate purchase price of not more than US$500,000 over a period of one year. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">On March 3, 2025, Euro Tech Global Pte. Limited, a Singapore company was incorporated as a wholly-owned subsidiary of the Company.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">In accordance with ASC 855, &#8220;<em>Subsequent Events</em>&#8221;, which establishes general standards of accounting for and disclosure of events that occur after the balance sheet date but before consolidated financial statements are issued, the Company evaluated all events and transactions that occurred after December 31, 2024, up through the date the Company issued the audited consolidated financial statements. Other than the event disclosed above, there was no other subsequent events occurred that would require recognition or disclosure in the Company&#8217;s audited consolidated financial statements.</p><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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember', window );">ZHEJIANG TIANLAN</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_SubsequentEventsAbstract', window );"><strong>Subsequent events</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_SubsequentEventsTextBlock', window );">Subsequent events</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>22 </strong></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Subsequent event</strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The Company evaluated all events and transactions that occurred after December 31, 2024, up through the date the Company issued the audited consolidated financial statements. Other than the event disclosed above, there was no other subsequent events occurred that would require recognition or disclosure in the Company&#8217;s audited 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_SubsequentEventsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 855<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/855/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 855<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483399/855-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember</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>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="2"><div style="width: 200px;"><strong>Summary of significant accounting policies (Policies)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_UseOfEstimates', window );">Use of estimates</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The preparation of the accompanying consolidated financial statements in conformity with GAAP requires management to make estimates and judgments that affect the reported amounts of assets and liabilities, the disclosure of contingent assets and liabilities at the date of the consolidated financial statements and the reported amounts of revenues and expenses during the reporting period. Certain accounting estimates of the Group require a higher degree of judgment than others in their application. These include the recognition of revenue and earnings from engineering contracts over time, the valuation of goodwill, and contract assets and contract liabilities. Management continually evaluates all of its estimates and judgments based on available information and experience; however, actual results could differ from these estimates.</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_ConsolidationPolicyTextBlock', window );">Basis of consolidation</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The accompanying consolidated financial statements include the results of operations of the Company and its subsidiaries. Significant intercompany transactions and balances have been eliminated. </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_ConsolidationSubsidiariesOrOtherInvestmentsConsolidatedEntitiesPolicy', window );">Subsidiaries</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Subsidiaries are all entities over which the Group has control; has the power to appoint or remove the majority of the members of the board of directors; has the right to cast a majority of votes at the meeting of the board of directors or to govern the financial and operating policies of the investee under a statute or agreement among the shareholders or equity holders.</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_EquityMethodInvestmentsPolicy', window );">Investments in affiliates</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">We account for our interest in an investment using the equity method of accounting per Accounting Standards Codification (&#8220;ASC&#8221;) No. 323, &#8220;Investments - Equity Method and Joint Ventures&#8221; if we are not the primary beneficiary of a VIE or do not have a controlling interest. The investment is recorded at cost and the carrying amount is adjusted periodically to recognize our proportionate share of income or loss, additional contributions made and dividends and capital distributions received. We record the effect of any impairment or other than temporary decrease in the value of the investment.&#160; </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">In the event a partially owned equity affiliate were to incur a loss and our cumulative proportionate share of the loss exceeded the carrying amount of the equity method investment, application of the equity method would be suspended and our proportionate share of further losses would not be recognized unless we committed to provide further financial support to the affiliate. We would resume application of the equity method once the affiliate became profitable and our proportionate share of the affiliate&#8217;s earnings equals our cumulative proportionate share of losses that were not recognized during the period the application of the equity method was suspended.</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_NoncontrollingInterestsPolicyTextBlock', window );">Non-controlling interests</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">For entities that are consolidated, but not 100% owned, a portion of the income or loss and equity is allocated to owners other than the Group. The aggregate of the income or loss and corresponding equity that is not owned by the Group is included within non-controlling interests in the consolidated financial statements.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Non-controlling interests is presented as a separate component of equity in the consolidated balance sheets. Net income includes the net income attributable to the holders of non-controlling interests in the consolidated statements of operations and comprehensive income / (loss). Profits and losses are allocated to non-controlling interests in proportion to their relative ownership interests regardless of their basis.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The management evaluates all of its financial instruments, including issued put options, to determine their appropriate classification as either liabilities or equity, following the criteria's outlined in ASC 480, " Distinguishing Liabilities from Equity". The Group has determined that the put option held by non-controlling interest will be recorded as equity if the fair value of the put option becomes material.</p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingPolicyPolicyTextBlock', window );">Segment information</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Group reports segment information based on the &#8220;management&#8221; approach. The management approach designates the internal reporting used by management for making decisions and assessing performance as the source of the Group&#8217;s reportable segments. The Group categorizes its operations into two business segments: Trading and manufacturing, and Engineering.</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRecognitionPolicyTextBlock', window );">Revenue recognition</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Company follows the revenue standard Accounting Standards Codification (&#8220;ASC&#8221;) 606, Revenue from Contracts with Customers.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The core principle of the revenue standard is that a company should recognize revenue to depict the transfer of promised goods or services to customers in an amount that reflects the consideration to which the company expects to be entitled in exchange for those goods or services. The following five steps are applied to achieve that core principle:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Step 1: Identify the contract with the customer</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Step 2: Identify the performance obligations in the contract</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Step 3: Determine the transaction price</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Step 4: Allocate the transaction price to the performance obligations in the contract</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Step 5: Recognize revenue when the company satisfies a performance obligation.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Our revenue is derived from both short and&#160;long-term contracts for customers in our engineering segment, as well as short-term contracts for customers in our trading and manufacturing segment. Accounting treatment for these contracts in accordance with Accounting Standards Update (&#8220;ASU&#8221;) 2014-09 (Accounting Standards Codification (&#8220;ASC&#8221;) Topic 606, Revenue from Contracts with Customer), is as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="text-decoration:underline">Performance obligations satisfied over time (Engineering services)</span></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Recognition of performance obligations </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">A performance obligation is a promise in a contract to transfer a distinct good or service to the customer, and is the unit of account in the new revenue standard. The contract transaction price is allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Engineering service projects typically span between several days to over 5 years. The majority of our long-term contracts have a single performance obligation as the promise to transfer the individual goods or services is not separately identifiable from other promises in the contracts and, therefore, is not distinct. Some contracts have multiple performance obligations, most commonly due to the contract covering multiple phases of the project life cycle. Revenues are recognized as our obligations are satisfied over time, by reference to the progress towards complete satisfaction of that performance obligation.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">If the Group expects the reference to progress certificates issued by the customers, with additional adjustments where necessary, depicts the Group&#8217;s performance in transferring control of goods or services promised to customers for individual projects, the Group satisfies the performance obligation over time and therefore, recognizes revenue over time in accordance with the output method for measuring progress. Under output method, revenue recognition is based on the stage of completion of the contracts, provided that the stage of contract completion and the gross billing value of contracting work can be measured reliably. The stage of completion of a contract is established by reference to the contract based on billing milestone or stage of work certified by customer. Generally, invoices are billed upon fulfilment of the measurable performance obligation. The Company evaluates the progress towards completion of the performance obligation at each phase of the contract and bills the customer in accordance with the price agreed upon on the contract.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Remaining performance obligations (&#8220;RPOs&#8221;)</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">RPOs represent the amount of revenues we expect to recognize in the future from our contract commitments on projects and are hereafter referred to as &#8220;Backlog&#8221;. Backlog includes the entire expected revenue values for subsidiary we consolidate. Backlog may not be indicative of future operating results, and projects included in Backlog may be canceled, modified or otherwise altered by customers. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The following schedule shows a reconciliation of backlog representing the amount of revenue the Company expects to realize from work to be performed on uncompleted contracts in progress at December 31, 2024 and 2023, and from contractual agreements in effect at December 31, 2024, on which work has not yet begun:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Contract revenue on uncompleted contracts at December 31, 2022</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">523</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">New contract awards during the year</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">9,044</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Contract adjustment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">252</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Contract revenue recognized for the year</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(5,797</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">)&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Backlog at December 31, 2023</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">4,022</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Contract revenue on uncompleted contracts at December 31, 2023</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">4,022</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">New contract awards during the year</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5,621</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Contract adjustment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">30</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Contract revenue recognized for the year</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(5,834</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">)&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Backlog at December 31, 2024</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">3,839</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160; </p><p style="font-size:10pt;font-family:times new roman;margin:0px">Our backlog decreased from US$4,022,000 as of December 31, 2023 to US$3,839,000 as of December 31, 2024, representing a decrease of US$183,000. The decrease in our backlog was primarily due to the increased completion and fulfillment of existing orders by us in our existing construction projects. Nevertheless, the timing and extent to which backlog will result in direct revenue depends on many factors, including the timing of commencement of work, the rate at which we perform services, scope changes, cancellations, delays, receipt of regulatory approvals and the nature, duration, size, complexity and phase of the studies. In addition, delayed projects remain in backlog until they are canceled. As a result of these factors, our backlog is not necessarily a reliable indicator of future direct revenue and we might not realize all or any part of the direct revenue from the authorizations in backlog as of any point in time.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Variable consideration</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Contract modifications through change orders, claims and incentives are routine in the performance of the Group&#8217;s contracts to account for changes in the contract specifications or requirements. In most instances, contract modifications are not distinct from the existing contract due to the significant integration service provided in the contract and are accounted for as a modification of the existing contract and performance obligation. Either the Group or its customers may initiate change orders, which may include changes in specifications or designs, manner of performance, facilities, equipment, materials, sites and period of completion of the work. Change orders that are unapproved as to both price and scope are evaluated as claims. The Group considers claims to be amounts in excess of approved contract prices that the Group seeks to collect from its customers or others for customer-caused delays, errors in specifications and designs, contract terminations, change orders that are either in dispute or are unapproved as to both scope and price, or other causes of unanticipated additional contract costs.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">In the event that customer requests a change of order (such as an upgrade of specifications, materials or additional work) before the completion of the project, the Group will negotiate and sign a subcontract with the customer, subject to mutual agreement.&#160; The subcontract has its own terms and conditions for the variable consideration and is generally integrated with the original master contract. This will normally result in an increase in additional billing to the customer and rarely a reduction in the total value of the contract. The effect of variable consideration on the transaction price of a performance obligation is recognized as an adjustment to revenue on a cumulative catch-up basis. To the extent unapproved change orders and claims reflected in transaction price (or excluded from transaction price in the case of liquidated damages) are not resolved in the Group&#8217;s favor, or to the extent incentives reflected in transaction price are not earned, there could be reductions in, or reversals of, previously recognized revenue.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span style="text-decoration:underline">Performance obligations satisfied at a point-in-time (Trading and manufacturing)</span></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">For revenue recognized associated with its contracts with customers over time, for which the Group has an enforceable right to receive compensation. Many of our contracts contain specific provisions that determine when the Group can bill for its work performed under these contracts.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Any costs incurred or any payment received for a long-term contract, for which revenue has not been recognized due to impracticability or inability to measure the performance obligation, is recorded as a contract asset and contract liability, respectively, on the Group&#8217;s consolidated balance sheets. Revenue will be recognized when the performance obligation can be measured reliably and the criteria as stipulated under ACS 606 are met.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Group&#8217;s consolidated balance sheets present contract cost assets that represent our rights to receive payment for completed but not yet billed work and include costs incurred for contracts with customers as at financial year end less amounts received in advance from those customers at financial year end.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Group&#8217;s consolidated balance sheets present contract liabilities that contain deferred revenue that represent amounts received in advance from customers at financial year end in excess of any costs incurred on those contracts, which are in progress at year end, for which revenue has not yet been recognized.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Contract assets and contract liabilities arising from the same individual contract are presented net as either a single net contract asset or single net contract liability for presentation purposes.</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_ResearchAndDevelopmentExpensePolicy', window );">Research and development costs</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Research and development costs (&#8220;R&amp;D&#8221; costs) are expensed as incurred. The R&amp;D costs amounted to approximately US$Nil, US$Nil and US$Nil for the years ended December 31, 2024, 2023 and 2022 respectively and were included in &#8220;Selling and administrative expenses&#8221; in the Group&#8217;s 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_AdvertisingCostsPolicyTextBlock', window );">Advertising and promotional expenses</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Advertising and promotional expenses (&#8220;A&amp;P&#8221; expenses) are expensed as incurred. The A&amp;P expenses amounted to approximately US$41,000, US$29,000 and US$9,000 for the years ended December 31, 2024, 2023 and 2022 respectively and were included in &#8220;Selling and administrative expenses&#8221; in the Group&#8217;s consolidated statements of operations and comprehensive income / (loss).</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_IncomeTaxPolicyTextBlock', window );">Income taxes</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Group follows the liability method of accounting for income tax. Under this method, deferred tax assets and liabilities are recorded for future tax consequences of temporary differences&#160;between the financial reporting and tax bases of assets and liabilities, and are measured using the enacted tax rates and laws that are expected to be in effect when the underlying assets or liabilities are recovered or settled. The Group also evaluates whether the recorded deferred tax assets and valuation allowances can be realized and, when necessary, reduces the amounts to what is expected to be realized.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The accounting guidance on accounting for uncertainty in income taxes also addresses derecognition, classification, interest and penalties on income taxes, and accounting in interim periods. The Group does not believe it has any uncertain tax positions through the periods ended December 31, 2024, 2023 and 2022 respectively which would have a material impact on the Group&#8217;s consolidated financial statements.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Interest and penalties related to uncertain income tax positions are included in income tax expense on the Group&#8217;s consolidated statements of operations and comprehensive income / (loss). Interest and penalties actually incurred are charged to interest expense and the other income, respectively if applicable.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Group files tax returns in Hong Kong and the PRC. The tax returns for 2024, 2023 and 2022 are subject to examination by Hong Kong and PRC taxing authorities, commencing with the first year filed.</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_CashAndCashEquivalentsPolicyTextBlock', window );">Cash and cash equivalents</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Cash and cash equivalents consist of cash on hand, and bank deposits with original maturities of three months or less, all of which are unrestricted as to withdrawal. There were no cash equivalents as of December 31, 2024 and 2023.</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_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy', window );">Restricted cash</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Restricted cash represents cash deposits retained with banks in the PRC for issuance of performance bonds and guarantees to the customers and cash deposited by the Group into separate accounts and designated as collateral for standby letters of credit in the same amount in accordance with contractual agreements. &#160;</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_ReceivablesPolicyTextBlock', window );">Accounts receivable and allowance for doubtful accounts</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Group does not charge interest to its customers and carries its customer receivables at their face amounts net of expected credit losses. As is common practice in the industry, the Group classifies all accounts receivable as current assets.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Group grants trade credit, on a non-collateralized basis, to its customers and is subject to potential credit risk related to changes in business and overall economic activity. The Group analyzes specific accounts receivable balances, historical bad debts, customer credit-worthiness, current economic trends and changes in customer payment terms when evaluating the adequacy of the allowance for doubtful accounts. In the event that a customer balance is deemed to be uncollectible, the account balance is written-off against the allowance for doubtful 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_InventoryPolicyTextBlock', window );">Inventories</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Inventories are measured using the first-in, first-out method and are stated at the lower of cost or net realizable value. Cost of finished goods comprise direct material, direct production costs and an allocated portion of production overhead costs based on normal operating capacity. Allowance is made for obsolete, slow moving or defective items, where appropriate.</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_PropertyPlantAndEquipmentPolicyTextBlock', window );">Property, plant and equipment</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Property, plant and equipment is carried at cost. Major modifications or refurbishments which extend the useful life of the assets are capitalized and depreciated over the adjusted remaining useful life of the assets. Upon retirement or disposition of property, plant and equipment, the cost and related accumulated depreciation are removed and any resulting gain or loss is recognized in consolidated income from operations. The cost of maintenance and repairs is charged to expense as incurred. Property, plant and equipment is reviewed for impairment and tested for recoverability whenever events or changes in circumstances indicate that the carrying amount may not be recoverable. If the carrying value of property, plant and equipment exceeds its fair value, an impairment charge would be recorded in the consolidated statement of operations.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Depreciation of property, plant and equipment are computed using the straight-line method over the assets&#8217; estimated useful lives as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="width:3%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:30%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Expected useful life</strong></p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Office premises</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">47 to 51 years</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Leasehold improvements&#160; </p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">Over terms of the leases or the useful lives whichever is less</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Furniture, fixtures and office equipment</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">3 to 5 years</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Motor vehicles</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">4 years</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Testing equipment</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">3 years</p></td></tr></tbody></table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock', window );">Impairment of long lived assets</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Long-lived assets such as property, plant and equipment with finite lives are evaluated for impairment whenever events or changes in circumstances indicate that the carrying value of an asset may not be fully recoverable or that the useful life is shorter than the Group had originally estimated. When these events occur, the Group evaluates the impairment for the long-lived assets by comparing the carrying value of the assets to an estimate of future undiscounted cash flows expected to be generated from the use of the assets and their eventual disposition. If the sum of the expected future undiscounted cash flows is less than the carrying value of the assets, the Group recognizes an impairment loss based on the excess of the carrying value of the assets over the fair value of the assets. There was no impairment of long lived assets during 2024, 2023 and 2022, respectively.</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_InvestmentPolicyTextBlock', window );">Long-term investment</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Group has elected to apply the measurement alternative to equity securities without readily determinable fair values. As such, the Group&#8217;s non-marketable equity securities are measured at cost, less any impairment, and are adjusted for changes in fair value resulting from observable transactions for identical or similar investments of the investee. </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_LesseeLeasesPolicyTextBlock', window );">Lease arrangements</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">In the ordinary course of business, the Group enters into a variety of operating lease arrangements.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Operating right-of-use leases are included in operating lease right-of-use assets, current portion of long-term operating lease obligations and long-term operating lease obligations, net of current maturities on the Group&#8217;s consolidated balance sheets, as appropriate. Operating lease right-of-use assets and operating lease liabilities are recognized based on the present value of the future minimum lease payments over the lease term at commencement date. As most of the Group&#8217;s leases do not provide an implicit rate to calculate present value, the Group determines this rate by estimating the Group&#8217;s incremental borrowing rate, utilizing the borrowing rates associated with the Group&#8217;s various debt instruments. The operating lease right-of-use asset also includes any lease payments made and initial direct costs incurred and excludes lease incentives. Our lease terms may include options to extend or terminate the lease when it is reasonably certain that we will exercise that option.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Lease expense for minimum lease payments is recognized on a straight-line basis over the lease term.</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy', window );">Goodwill</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Goodwill is not amortized. The Group performs either a qualitative or quantitative assessment to review goodwill for impairment on an annual basis. This assessment is performed at the beginning of the fourth quarter, or when circumstances change, such as a significant adverse change in the business climate or the decision to sell a business, both of which would indicate that impairment may have occurred. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">A qualitative assessment considers financial, industry, segment and macroeconomic factors, if the qualitative assessment indicates a potential for impairment, a quantitative assessment is performed to determine if impairment exists. The quantitative assessment begins with a comparison of the fair value of the reporting unit with its carrying value. If the carrying amount of the reporting unit exceeds its fair value, an impairment loss would be recognized in an amount equal to that excess, limited to the total amount of the goodwill allocated to the reporting unit. If the carrying value of goodwill exceeds its implied fair value, an impairment charge would be recorded in the consolidated statements of operations and comprehensive income / (loss).</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">As a result of the annual qualitative review process in 2024 and 2023, the Group determined it was not necessary to perform a quantitative assessment. </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-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The assets and liabilities of the Group&#8217;s subsidiaries denominated in currencies other than U.S. dollars are translated into U.S. dollars using the applicable exchange rates at the consolidated balance sheet date. For consolidated statements of operations and comprehensive income/(loss)&#8217; items, amounts denominated in currencies other than U.S. dollars were translated into U.S. dollars using the average exchange rate during the period. Equity accounts were translated at their historical exchange rates. Net gains and losses resulting from translation of foreign currency on consolidated financial statements are included&#160;in the consolidated statements of shareholders&#8217; equity as accumulated other comprehensive income. Foreign currency transaction gains and losses are reflected in the 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_ComprehensiveIncomePolicyPolicyTextBlock', window );">Comprehensive income</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">We account for comprehensive income in accordance with ASC&#160;220, &#8220;Comprehensive Income&#8221;, which specifies the computation, presentation and disclosure requirements for comprehensive income. Comprehensive income consists of net income and foreign currency translation adjustments, primarily from fluctuations in foreign currency exchange rates of our foreign subsidiaries with a functional currency other than the U.S. dollar.</p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_OrdinaryShares', window );">Ordinary share</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">On November 22, 2011, the Company filed Amended and Restated Memorandum and Articles of Association with the Registry of Corporate Affairs of the BVI Financial Services Commission that on November 29, 2011 became effective as of the filing date to amend the Company&#8217;s ordinary shares of US$0.01 par value capital stock to no par value capital stock. Treasury stock is accounted for using the cost method.&#160; When treasury stock is reissued, the value is computed and recorded using a weighted-average basis.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">On October 8, 2019, the Company had stock split in the form of bonus shares at the rate of one ordinary share for every two ordinary shares held, creating 1,030,950 new shares of common stock.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">On March 3, 2021, the Company had stock split in the form of bonus shares at the rate of two ordinary shares for every three ordinary shares held, creating 2,061,900 new shares of common stock.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The effect of the above stock splits have been reflected retroactively in the financial statements and net income per ordinary share computations.</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_EarningsPerSharePolicyTextBlock', window );">Net income per ordinary share</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Group computes net income per ordinary share using the treasury stock method. Under the treasury stock method, basic earnings per share attributable to Euro Tech Holdings Company Limited are computed by dividing net income attributable to Euro Tech Holdings Company Limited by the weighted average number of ordinary shares outstanding during the period. The Group reports both basic earnings per share, which is based on the weighted average number of ordinary shares outstanding, and diluted earnings per share, which is based on the weighted average number of ordinary shares outstanding and all dilutive potential ordinary shares outstanding.&#160; </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Outstanding stock options are the only dilutive potential shares of the Company.</p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy', window );">Stock-based compensation</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Group determines compensation expense for stock-based awards based on the estimated fair values at the grant date and recognizes the related compensation expense over the vesting period. The Group uses the straight-line amortization method to recognize compensation expense related to stock-based awards that have only service conditions. This method recognizes stock compensation expense on a straight-line basis over the requisite service period for the entire award. </p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_RelatedPartiesPolicy', window );">Related parties</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Related parties are affiliates of the Group; entities for which investments are accounted for by the equity method by the Group; trusts for the benefit of employees, such as pension and profit-sharing trusts that are managed by or under the trusteeship of management; principal owners of the Group; its management; members of the immediate families of principal owners of the Group and its management; and other parties with which the Group may deal if one party controls or can significantly influence the management or operating policies of the other to an extent that one of the transacting parties might be prevented from fully pursuing its own separate interests. Another party also is a related party if it can significantly influence the management or operating policies of the transacting parties or if it has an ownership interest in one of the transacting parties and can significantly influence the other to an extent that one or more of the transacting parties might be prevented from fully pursuing its own separate interests.</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_ConcentrationRiskCreditRisk', window );">Concentrations</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Financial instruments that potentially subject the Group to a concentration of credit risk consist principally of cash and cash equivalents and accounts receivable, net. The Group maintains substantially all of its cash and cash equivalent balances with large financial institutions which are believed to be high quality institutions.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Group is subject to a concentration of risk because it derives a significant portion of its revenues from a few customers. The Group&#8217;s top customers accounting for more than 5% of the Group&#8217;s revenue generated approximately 47%, 41% and 33% of consolidated revenues for the years ended December 31, 2024, 2023 and 2022, respectively. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Group grants trade credit under contractual payment terms, generally without collateral, to its customers, which include high credit quality electric utilities, general contractors, owners and managers of industrial properties and government departments. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Consequently, the Group is subject to potential credit risk related to changes in business and economic factors. At December 31, 2024, Nil (2023: three) of the Group&#8217;s customers individually exceeded 10.0% of accounts receivable, net. The Group believes the terms and conditions in its contracts, billing and collection policies are adequate to minimize the potential credit risk.</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_FinanceCostsPolicyTextBlock', window );">Finance costs</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Interest relating to loans repaid is expensed in the period the repayment occurs. </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_ExtendedProductWarrantyPolicy', window );">Warranties</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The suppliers of the Group offer a standard one-year warranty to end customers of the Group. In certain contracts, a specific percentage is designated as warranty, and management has retained it as a &#8220;retainer fee&#8221; for potential warranty claims within an effective period subsequent to project completion. In the event that a warranty claim is made, the amount will be deducted from the retainer fee accordingly. This balance remains on the balance sheet in contract liabilities, until the expiration of the warranty period, after which it will be recognized as revenue if it has not been fully utilized. Historically, claims on warranties have been&#160;insignificant.</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_ContractAssetsAndContractLiabilitiesPolicyTextBlock', window );">Contract Assets and Contract Liabilities</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Projects with performance obligations recognized over time that have revenue recognized to date in excess of cumulative billings are reported on consolidated balance sheets as &#8220;Contract assets&#8221;. Provisions for estimated losses of contract assets on uncompleted contracts are made in the period in which such losses are determined.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Contract liabilities on uncompleted contracts are the amounts of cash collected from clients, billings to clients on contracts in advance of work performed and revenue recognized. The majority of these amounts are expected to be earned within 12 months and are classified as current liabilities.</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_ShippingAndHandlingCostPolicyTextBlock', window );">Shipping and handling costs</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Amounts billed to customers related to shipping and handling are classified as revenues, and the Group&#8217;s shipping and handling costs are included in cost of revenues.</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_RetirementPlanCostsPolicyTextBlock', window );">Retirement plan costs</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Contributions to retirement plans (which are defined contribution plans) are charged to general and administrative expenses in the accompanying statements of operation as the related employee service are provided.</p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_StatutoryReservesPolicyTextBlock', window );">Statutory reserves</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Group is required to make appropriation to reserve funds, comprising the statutory reserve fund and statutory staff welfare fund, based on after-tax net income determined with generally accepted accounting principles of the PRC (&#8220;PRC GAAP&#8221;).</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Appropriations to the statutory reserve fund is required to be at least 10% of the after tax net income determined in accordance with PRC GAAP until the reserve fund is equal to 50% of the entities&#8217; registered capital. </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_FairValueMeasurementPolicyPolicyTextBlock', window );">Fair value measurements</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Company applies the provisions of ASC 820-10, &#8220;Fair Value Measurements&#8221;, for fair value measurements of financial assets and financial liabilities and for fair value measurements of non-financial items that are recognized or disclosed at fair value in the financial statements.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Group uses the three-tier hierarchy of fair value measurement, which prioritizes the inputs used in measuring fair value based upon their degree of availability in external active markets. These tiers include: Level 1 (the highest priority), defined as observable inputs, such as quoted prices in active markets; Level 2, defined as inputs other than quoted prices in active markets that are either directly or indirectly observable; and Level 3 (the lowest priority), defined as unobservable inputs in which little or no market data exists, therefore requiring an entity to develop its own assumptions.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">As of December 31, 2024 and 2023, the Group determined that the carrying values of cash and cash equivalents, restricted cash, accounts receivable, net, prepayments and other current assets, contract assets, bank borrowings, accounts payable, contract liabilities, other payables and accrued expenses approximate their fair values because of the short-term nature of these instruments. The Group has also determined that the fair value of non-controlling interest - put option is immaterial as of December 31, 2024, and is immaterial for 2023.</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_NewAccountingPronouncementsPolicyPolicyTextBlock', window );">Recent accounting pronouncements</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Changes to GAAP are typically established by the Financial Accounting Standards Board (&#8220;FASB&#8221;) in the form of accounting standards updates (&#8220;ASUs&#8221;) to the FASB&#8217;s ASC. The Group considers the applicability and impact of all ASUs. The Group, based on its assessment, determined that any recently issued or proposed ASUs not listed below are either not applicable to the Group or may have minimal impact on its consolidated financial statements.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Recently adopted accounting pronouncements</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">In September 2022, the Financial Accounting Standards Board (&#8220;FASB&#8221;) issued Accounting Standards Update (ASU) No. 2022-04 that requires additional qualitative and quantitative disclosures surrounding supplier finance programs intended to help investors better consider the effect of these programs on a company&#8217;s working capital, liquidity, and cash flows over time. This update is effective for fiscal years beginning after December 15, 2022, including interim periods, except for the disclosure of roll forward information, which is effective for fiscal years beginning after December 15, 2023. Early adoption is permitted. The Company adopted this ASU on October 1, 2023, and it did not have a significant impact on our CFS.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">In June 2022, the FASB issued ASU 2022-03 Fair Value Measurement (Topic 820): Fair Value Measurement of Equity Securities Subject to Contractual Sale Restrictions (&#8220;ASU 2022-03&#8221;), which (1) clarifies the guidance in ASC 820 on the FV measurement of an equity security that is subject to a contractual sale restriction and (2) requires specific disclosures related to such an equity security. Under current guidance, stakeholders have observed diversity in practice related to whether contractual sale restrictions should be considered in the measurement of the FV of equity securities that are subject to such restrictions. To reduce the diversity in practice and increase the comparability of reported financial information, ASU 2022-03 clarifies this guidance and amends the illustrative example. ASU No. 2022-03 is effective for fiscal years beginning after December 15, 2023, with early adoption permitted. The Company is currently evaluating the extent of the impact of this ASU but does not expect the adoption of this standard to have a significant impact on our CFS.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">In March 2022, the FASB issued ASU No. 2022-02, Troubled Debt Restructurings and Vintage Disclosures. ASU 2022-02 eliminates the accounting guidance on troubled debt restructurings for creditors in ASC Topic 310 and amends the guidance on &#8220;vintage disclosures&#8221; to require disclosure of current-period gross write-offs by year of origination. ASU 2022-02 also updates the requirements for accounting for credit losses under ASC Topic 326 and adds enhanced disclosures for creditors with respect to loan re-financings and restructurings for borrowers experiencing financial difficulty. ASU 2022-02 is effective for fiscal years beginning after December 15, 2022, including interim periods within those fiscal years. The Company adopted this ASU on October 1, 2023, and it did not have a significant impact on our CFS.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">In June 2016, the FASB issued ASU No. 2016-13, Financial Instruments &#8212; Credit Losses, which changes the accounting for recognizing impairments of financial assets. Under the new guidance, credit losses for certain types of financial instruments will be estimated based on expected losses. The new guidance also modifies the impairment models for available-for-sale debt securities and for purchased financial assets with credit deterioration since their origination.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">In March 2020, the FASB issued ASU No. 2020-04 providing optional expedients and exceptions to account for the effects of reference rate reform to contracts, hedging relationships, and other transactions that reference LIBOR or another reference rate expected to be discontinued. The optional guidance, which became effective March 12, 2020, could be applied through December 31, 2022. In December 2022, the FASB issued No 2022-06 extending the sunset date of the relief provided under ASU No. 2020-04 to December 31, 2024. The Company has various contracts that reference LIBOR and is assessing how this standard may be applied to specific contract modifications through March 31, 2025.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">On March 28, 2023, the FASB issued ASU No. 2023-01, Leases (Topic 842): Common Control Arrangements. ASU 2023-01 is designed to clarify the accounting for leasehold improvements associated with common control leases, thereby reducing diversity in practice. The new standard was effective for the Company for its fiscal year beginning October 1, 2023, with early adoption permitted. The Company is currently evaluating the impact of adopting the standard on its CFS.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Recently issued accounting pronouncements not yet adopted </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">In November 2023, the FASB issued ASU 2023-07, &#8220;Segment Reporting (Topic 280)&#8221; (&#8220;ASU 2023-07&#8221;). The amendments in ASU 2023-07 improve financial reporting by requiring disclosure of incremental segment information on an annual and interim basis for all public entities to enable investors to develop more decision useful financial analyses. Topic 280 requires a public entity to report a measure of segment profit or loss that the chief operating decision maker (CODM) uses to assess segment performance and make decisions about allocating resources. Topic 280 also requires other specified segment items and amounts, such as depreciation, amortization, and depletion expense, to be disclosed under certain circumstances. The amendments in ASU 202307 do not change or remove those disclosure requirements. The amendments in ASU 2023-07 also do not change how a public entity identifies its operating segments, aggregates those operating segments, or applies the quantitative thresholds to determine its reportable segments. The amendments in ASU 2023-07 are effective for years beginning after December 15, 2023 and interim periods within fiscal years beginning after December 15, 2024, adopted retroactively. Management expect the guidance will not have a significant impact on our CFS.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">In December 2023, the FASB issued ASU 2023-09, Improvement to Income Tax Disclosure. This standard requires more transparency about income tax information through improvements to income tax disclosures primarily related to the rate reconciliation and income taxes paid information. This standard also includes certain other amendments to improve the effectiveness of income tax disclosures. ASU 2023-09 is effective for public business entities, for annual periods beginning after December 15, 2024. For entities other than public business entities, the amendments are effective for annual periods beginning after December 15, 2025. The Company is in the process of evaluation the impact of adopting this new guidance on our CFS.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Group has reviewed all recently issued, but not yet effective, accounting pronouncements and does not believe the future adoption of any such pronouncements may be expected to cause a material impact on its financial condition or the results of its operations.</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_Reclassifications', window );">Reclassification</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Certain reclassifications have been made to prior year amounts to conform with the current year presentation.</p><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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember', window );">ZHEJIANG TIANLAN</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_UseOfEstimates', window );">Use of estimates</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 34.65pt; text-align:justify;">The preparation of the accompanying consolidated financial statements in conformity with GAAP requires management to make estimates and judgments that affect the reported amounts of assets and liabilities, the disclosure of contingent assets and liabilities at the date of the consolidated financial statements and the reported amounts of revenues and expenses during the reporting period. Certain accounting estimates of the Group require a higher degree of judgment than others in their application. These include the recognition of revenue and earnings from contracts over time, contract assets, net and contract liabilities. Management continually evaluates all of its estimates and judgments based on available information and experience; however, actual results could differ from these estimates.</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_ConsolidationPolicyTextBlock', window );">Basis of consolidation</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">The accompanying consolidated financial statements include the results of operations of the Company and its subsidiaries. Significant intercompany transactions and balances have been eliminated.</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_ConsolidationSubsidiariesOrOtherInvestmentsConsolidatedEntitiesPolicy', window );">Subsidiaries</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Subsidiaries are all entities over which the Group has control; has the power to appoint or remove the majority of the members of the board of directors; has the right to cast a majority of votes at the meeting of the board of directors or to govern the financial and operating policies of the investee under a statute or agreement among the shareholders or equity holders.</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_RevenueRecognitionPolicyTextBlock', window );">Revenue recognition</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Our revenue is derived from long-term contracts for customers, as well as short-term contracts for customers. Accounting treatment for these contracts in accordance with Accounting Standards Update (&#8220;ASU&#8221;) 2014-09 (Accounting Standards Codification (&#8220;ASC&#8221;) Topic 606, Revenue from Contracts with Customers), is as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"><span style="text-decoration:underline">Performance obligations satisfied over time (Design, installation and operation management services)</span></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Recognition of performance obligations</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">A performance obligation is a promise in a contract to transfer a distinct good or service to the customer, and is the unit of account in the new revenue standard. The contract transaction price is allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied. Engineering projects typically span between 12 to 36 months. The majority of our contracts have a single performance obligation as the promise to transfer the individual goods or services is not separately identifiable from other promises in the contracts and, therefore, not distinct. Some contracts have multiple performance obligations, most commonly due to the contract covering multiple phases of the project life cycle (design, installation and operation management services).</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Revenues are recognized as our obligations are satisfied over time, using the ratio of project costs incurred to estimated total costs for each contract because of the continuous transfer of control to the customer as all of the work is performed at the customer&#8217;s site and, therefore, the customer controls the asset as it is being installed. This continuous transfer of control to the customer is further supported by clauses in the contract that allow the customer to unilaterally terminate the contract for convenience, pay the Group for costs incurred plus a reasonable profit and take control of any work in process. This cost-to-cost measure is used because management considers it to be the best available measure of progress on these contracts. Contract costs include all direct material, labor, subcontract and other costs.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Items excluded from cost-to-cost</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Pre-contract costs are generally not material and are charged to expense as incurred, but in certain cases pre-contract recognition may be deferred if specific probability criteria are met.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Variable consideration</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Contract modifications through change orders, claims and incentives are routine in the performance of the Group&#8217;s contracts to account for changes in the contract specifications or requirements. In most instances, contract modifications are not distinct from the existing contract due to the significant integration of services provided in the contract and are accounted for as a modification of the existing contract and performance obligation. Either the Group or its customers may initiate change orders, which may include changes in specifications or designs, manner of performance, facilities, equipment, materials, sites and period of completion of the work. Change orders that are unapproved as to both price and scope are evaluated as claims. The Group considers claims to be amounts in excess of approved contract prices that the Group seeks to collect from its customers or others for customer-caused delays, errors in specifications and designs, contract terminations, change orders that are either in dispute or are unapproved as to both scope and price, or other causes of unanticipated additional contract costs.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The Group estimates variable consideration for a performance obligation at the most likely amount to which the Group expects to be entitled (or the most likely amount the Group expects to incur in the case of liquidated damages), utilizing estimation methods that best predict the amount of consideration to which the Group will be entitled (or will incur in the case of liquidated damages). The Group includes variable consideration in the estimated transaction price to the extent it is probable that a significant reversal of cumulative revenue recognized will not occur or when the uncertainty associated with the variable consideration is resolved. The Group&#8217;s estimates of variable consideration and determination of whether to include estimated amounts in transaction price are based largely on an assessment of its anticipated performance and all information (historical, current and forecasted) that is reasonably available to the Group.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The effect of variable consideration on the transaction price of a performance obligation is recognized as an adjustment to revenue on a cumulative catch-up basis. To the extent unapproved change orders and claims reflected in transaction price (or excluded from transaction price in the case of liquidated damages) are not resolved in the Group&#8217;s favor, or to the extent incentives reflected in transaction price are not earned, there could be reductions in, or reversals of, previously recognized revenue.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpensePolicy', window );">Research and development costs</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Research and development costs (&#8220;R&amp;D&#8221; costs) are expensed as incurred. The R&amp;D costs amounted to approximately RMB27,371,000, RMB20,452,000 and RMB29,115,000 for the years ended December 31, 2024, 2023 and 2022 respectively and were included in &#8220;Selling and administrative expenses&#8221; in the Group&#8217;s consolidated statements of operations.</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_IncomeTaxPolicyTextBlock', window );">Income taxes</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">The Group follows the liability method of accounting for income tax. Under this method, deferred tax assets and liabilities are recorded for future tax consequences of temporary differences between the financial reporting and tax bases of assets and liabilities, and are measured using the enacted tax rates and laws that are expected to be in effect when the underlying assets or liabilities are recovered or settled. The Group also evaluates whether the recorded deferred tax assets and valuation allowances can be realized and, when necessary, reduces the amounts to what is expected to be realized.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">The accounting guidance on accounting for uncertainty in income taxes also addresses derecognition, classification, interest and penalties on income taxes, and accounting in interim periods. The Group does not believe it has any uncertain tax positions through the periods ended December 31, 2023, 2022 and 2021 respectively which would have a material impact on the Group&#8217;s consolidated financial statements.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The Group files tax returns in the PRC. The tax returns for 2023, 2022 and 2021 are subject to examination by the PRC taxing authorities, commencing with the first year filed.</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_CashAndCashEquivalentsPolicyTextBlock', window );">Cash and cash equivalents</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Cash and cash equivalents consist of bank deposits with original maturities of three months or less, all of which are unrestricted as to withdrawal and uninsured. There were no cash equivalents as of December 31, 2024 and 2023.</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_ReceivablesPolicyTextBlock', window );">Accounts receivable and allowance for doubtful accounts</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The Group does not charge interest to its customers and carries its customer receivables at their face amounts, less an allowance for doubtful accounts. As is common practice in the industry, the Group classifies all accounts receivable as current assets.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The Group grants trade credit, on a non-collateralized basis, to its customers and is subject to potential credit risk related to changes in business and overall economic activity. The Group analyzes specific accounts receivable balances, historical bad debts, customer credit-worthiness, current economic trends and changes in customer payment terms when evaluating the adequacy of the allowance for doubtful accounts. In the event that a customer balance is deemed to be uncollectible, the account balance is written-off against the allowance for doubtful accounts.</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryPolicyTextBlock', window );">Inventories</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Inventories are measured using the weighted average method and are stated at the lower of cost or net realizable value. Cost of finished goods comprise direct material, direct production costs and an allocated portion of production overhead costs based on normal operating capacity.</p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock', window );">Property, plant and equipment</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Property, plant and equipment is carried at cost. Major modifications or refurbishments which extend the useful life of the assets are capitalized and depreciated over the adjusted remaining useful life of the assets. Upon retirement or disposition of property, plant and equipment, the cost and related accumulated depreciation are removed and any resulting gain or loss is recognized in consolidated income from operations. The cost of maintenance and repairs is charged to expense as incurred. Property, plant and equipment is reviewed for impairment and tested for recoverability whenever events or changes in circumstances indicate that the carrying amount may not be recoverable. If the carrying value of property, plant and equipment exceeds its fair value, an impairment charge would be recorded in the consolidated statement of operations.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Land in the PRC is owned by the PRC government. The government in the PRC, according to PRC Law, may sell the right to use the land for a specific period of time. Thus, all of the Group&#8217;s land purchases in the PRC are considered to be leasehold land and are classified as land use right.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Depreciation of property, plant and equipment and amortization of land use right are computed using the straight-line method over the assets&#8217; estimated useful lives as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px;background-color:#ffffff"><td style="width:4%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:30%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Land use right</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Over terms of the leases</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Buildings and leasehold improvements</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">11 to 50 years, with 5% residual value</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Furniture, fixtures and office equipment</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">5 years, with 5% residual value</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Motor vehicles</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">5 years, with 5% residual value</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Plant and machineries</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">5 to 10 years, with 5% residual value</p></td></tr></tbody></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock', window );">Impairment of long lived assets</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Long-lived assets such as property, plant and equipment and intangible assets with finite lives are evaluated for impairment whenever events or changes in circumstances indicate that the carrying value of an asset may not be fully recoverable or that the useful life is shorter than the Group had originally estimated. When these events occur, the Group evaluates the impairment for the long-lived assets by comparing the carrying value of the assets to an estimate of future undiscounted cash flows expected to be generated from the use of the assets and their eventual disposition. If the sum of the expected future undiscounted cash flows is less than the carrying value of the assets, the Group recognizes an impairment loss based on the excess of the carrying value of the assets over the fair value of the assets. The impairment of long-lived assets amounted to approximately RMB Nil, RMB Nil and RMB Nil for the years ended December 31, 2024, 2023 and 2022 respectively and were included in &#8220;Selling and administrative expenses&#8221; in the Group&#8217;s consolidated statements of operations.</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_LesseeLeasesPolicyTextBlock', window );">Lease arrangements</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 34.65pt; text-align:justify;">The Group adopted ASU No. 2016-02, Leases (Topic 842). The Group leases certain equipment under finance leases. The economic substance of the leases is a financing transaction for acquisition of the equipment. Accordingly, the right-of-use assets for these leases are included on the Group&#8217;s consolidated balance sheets in property, plant and equipment, net of accumulated depreciation, amortization and impairment losses, with a corresponding amount recorded in current portion of long-term finance lease obligations. The finance lease assets are amortized over the life of the lease or, if shorter, the life of the leased asset, on a straight-line basis and included in depreciation expense. The financing component associated with finance lease obligations is included in interest expense. Generally, for the Group&#8217;s finance leases an implicit rate to calculate present value is provided in the lease agreement, however if a rate in not provided the Group determines this rate by estimating the Group&#8217;s incremental borrowing rate, utilizing the borrowing rates associated with the Group&#8217;s various debt instruments.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 34.65pt; text-align:justify;">The Group determines if an arrangement is a lease at inception. Lease liabilities are the Group&#8217;s obligation to make lease payments arising from a lease and are measured on a discounted basis.</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_RelatedPartiesPolicy', window );">Related parties</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 34.65pt; text-align:justify;">Entities are considered to be related to the Group if the parties, directly or indirectly, through one or more intermediaries, control, are controlled by, or are under common control with the Group. Related parties also include principal owners of the Group, its management, members of the immediate families of principal owners of the Group and its management and other parties with which the Group may deal if one party controls or can significantly influence the management or operating policies of the other to an extent that one of the transacting parties might be prevented from fully pursuing its own separate interests. A party which can significantly influence the management or operating policies of the transacting parties or if it has an ownership interest in one of the transacting parties and can significantly influence the other to an extent that one or more of the transacting parties might be prevented from fully pursuing its own separate interests is also a related party.</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_ConcentrationRiskCreditRisk', window );">Concentrations</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Financial instruments that potentially subject the Group to a concentration of credit risk consist principally of cash and cash equivalents and accounts receivable, net. The Group maintains substantially all of its cash and cash equivalent balances with large financial institutions which are believed to be high quality institutions.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">The Group is subject to a concentration of risk because it derives a significant portion of its revenues from a few customers. The Group&#8217;s top five customers accounted for approximately 42%, 38%, and 35% of consolidated revenues for the years ended December 31, 2024, 2023 and 2022, respectively. For the years ended December 31, 2024, 2023 and 2022, one customer accounted for 16%, 22% and 14% of annual revenues, respectively.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">The Group grants trade credit under contractual payment terms, generally without collateral, to its customers, which include high credit quality electric utilities, general contractors, owners and managers of industrial properties.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Consequently, the Group is subject to potential credit risk related to changes in business and economic factors. At December 31, 2024 and 2023, none of the Group&#8217;s customers individually exceeded 10.0% of accounts receivable. The Group believes the terms and conditions in its contracts, billing and collection policies are adequate to minimize the potential credit risk.</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_FinanceCostsPolicyTextBlock', window );">Finance costs</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Interest relating to loans repaid is expensed in the period the repayment occurs.</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_ExtendedProductWarrantyPolicy', window );">Warranties</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">The suppliers of the Group offer a standard one-year warranty to end customer of the Group. The Group only provides labour service to repair or replace parts. The Group does not maintain a general warranty reserve because historically labour costs for such repair or replacement have been de minimis.</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_StatutoryReservesPolicyTextBlock', window );">Statutory reserves</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">The Group is required to make appropriation to reserve, comprising the PRC statutory reserve, based on after-tax net income determined with generally accepted accounting principles of the PRC (&#8220;PRC GAAP&#8221;).</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Appropriations to the PRC statutory reserve are required to be at least 10% of the after tax net income determined in accordance with PRC GAAP until the reserve is equal to 50% of the entities&#8217; registered capital.</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_FairValueMeasurementPolicyPolicyTextBlock', window );">Fair value measurements</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;">ASC 820 provides guidance on how to measure fair value for financial reporting purpose. The Group uses the three-tier hierarchy of fair value measurement, which prioritizes the inputs used in measuring fair value based upon their degree of availability in external active&#160;&#160;&#160; markets. These tiers include: Level 1 (the highest priority), defined as observable inputs, such as quoted prices in active markets; Level 2, defined as inputs other than quoted prices in active markets that are either directly or indirectly observable; and Level 3 (the lowest priority), defined as unobservable inputs in which little or no market data exists, therefore requiring an entity to develop its own assumptions.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;">As of December 31, 2024 and 2023, the Group determined that the carrying values of cash, and cash equivalents, accounts receivable, net, prepayments and other current assets, contract assets, bank borrowings, accounts payable, other payables and accrued expenses and contract liabilities approximate their fair values because of the short-term nature of these instruments.</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_NewAccountingPronouncementsPolicyPolicyTextBlock', window );">Recent accounting pronouncements</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Changes to GAAP are typically established by the Financial Accounting Standards Board (&#8220;FASB&#8221;) in the form of accounting standards updates (&#8220;ASUs&#8221;) to the FASB&#8217;s ASC. The Group considers the applicability and impact of all ASUs. The Group, based on its assessment, determined that any recently issued or proposed ASUs not listed below are either not applicable to the Group or may have minimal impact on its consolidated financial statements.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"><span style="text-decoration:underline">Recently adopted accounting pronouncements</span></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">In June 2016, the FASB issued ASU 2016-13, &#8220;Financial Instruments&#8212;Credit Losses (Topic 326), Measurement of Credit Losses on Financial Instruments&#8221;. The new standard requires the measurement and recognition of expected credit losses using the current expected credit loss model for financial assets held at amortized cost, which includes the Group&#8217;s accounts receivable, contract assets and non-current assets. It replaces the existing incurred loss impairment model with an expected loss methodology. The recorded credit losses are adjusted each period for changes in expected lifetime credit losses. The standard requires a cumulative effect adjustment to the consolidated balance sheet as of the beginning of the first reporting period in which the guidance is effective. ASC 326, Financial Instruments &#8212; Credit Losses is effective for public companies for annual reporting periods, and interim periods within those years beginning after December 15, 2019. For all other entities, it is effective for fiscal years beginning after December 15, 2022, including interim periods within those fiscal years. The standard is effective for the Group from January 1, 2023. The Group is in the process determining the impact of the adoption of this standard on its consolidated financial statements.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">In December 2019, the FASB issued ASU 2019-12, &#8220;Income Taxes (Topic 740): Simplifying the Accounting for Income Taxes&#8221;, which simplifies the accounting for income taxes. This guidance became effective for the first quarter of 2021 on a prospective basis. The implementation of ASU 2019-12 in the year ended December 31, 2021, did not have a material impact on the Group&#8217;s consolidated financial statements.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">In October 2021, the FASB issued ASU 2021-08, &#8220;Business Combinations (Topic 805)&#8221;. ASU 2021-08 creates an exception to the general recognition and measurement principle for contract assets and contract liabilities from contracts with customers acquired in a business combination. Under this exception, an acquirer applies ASC 606 to recognize and measure contract assets and contract liabilities on the acquisition date. ASC 805 generally requires the acquirer in a business combination to recognize and measure the assets it acquires and the liabilities it assumes at fair value on the acquisition date. The ASU 2021-08 will become effective for fiscal years beginning after December 15, 2022. The adoption of this ASU is not expected to have a material impact on the Group&#8217;s consolidated financial statements.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"><span style="text-decoration:underline">Recently issued accounting pronouncements not yet adopted</span></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">In December 2022, the FASB issued ASU 2022-06, &#8220;Reference Rate Reform (Topic 848): Deferral of the Sunset Date of Topic 848&#8221;. This ASU defers the sunset date of Topic 848, which provides relief to entities affected by reference rate reform. The ASU defers the sunset date of Topic 848 from December 31, 2022, to December 31, 2025. The standard is effective immediately and the Group adopted the standard in December 2022 with no financial impact. The Group is currently assessing the impact ASU 2020-04, for which this ASU 2022-06 relates, will have on its consolidated financial statements.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">The Group has reviewed all recently issued, but not yet effective, accounting pronouncements and does not believe the future adoption of any such pronouncements may be expected to cause a material impact on its financial condition or the results of its operations.</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_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock', window );">Basis of presentation</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">The accompanying consolidated financial statements are presented in accordance with accounting principles generally accepted in the United States of America (&#8220;GAAP&#8221;).</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_ClassificationOfContractAssetsNetAndLiabilitiesPolicyTextBlock', window );">Classification of contract assets, net and liabilities</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">For revenue recognized associated with its contracts with customers over time, for which the Group has an enforceable right to receive compensation. Many of our contracts contain specific provisions that determine when the Group can bill for its work performed under these contracts.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">Any revenue earned on a contract that has not yet been billed to the customer is recorded as a contract asset on the Group&#8217;s consolidated balance sheets.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;">The Group&#8217;s consolidated balance sheets present contract liabilities that contain deferred revenue that represent any costs incurred on contracts in process for which revenue has not yet been recognized.</p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsFiniteLivedPolicy', window );">Intangible assets, net</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Group is currently amortizing its acquired intangible assets, consisted of patents and others, with finite-lived over periods generally ranging between three to twenty years.</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_GovernmentGrantIncomePolicyTextBlock', window );">Government grant income</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Government grant income consists of receipt of funds to subsidize the investment cost of technical development in China. No present or future obligation arises from the receipt of such amount.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Government grants are recognized in the consolidated balance sheet initially when there is reasonable assurance that they will be received and that the Group will comply with the conditions attaching to them. Grants that compensate the Group for expenses incurred are recognized as income in the consolidated statement of operations on a systematic basis in the same periods in which the expenses are incurred. Grants that compensate the Group for the cost of an asset are deducted from the carrying amount of the asset and consequently are effectively recognized in the consolidated statements of operations over the useful life of the asset by way of reduced depreciation expenses.</p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_ShareCapitalPolicyTextBlock', window );">Share capital</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 34.65pt; text-align:justify;">Paid in capital refers to the registered capital paid up by the shareholders of the Company.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 34.65pt; text-align:justify;">At December 31, 2024, there were 82,572,000 shares (2023: 82,572,000 shares) issued.</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_NetIncomePerOrdinarySharePolicyTextBlock', window );">Net income per ordinary share</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">The Group computes net income per ordinary share using the treasury stock method. Under the treasury stock method, basic earnings per share attributable to Zhejiang Tianlan Environmental Protection Technology Company Limited are computed by dividing net income attributable to Zhejiang Tianlan Environmental Protection Technology Company Limited by the weighted average number of ordinary shares outstanding during the period.</p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_ShippingAndHandlingCostsPolicyTextBlock', window );">Shipping and handling costs</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Amounts billed to customers related to shipping and handling are classified as revenues, and the Group&#8217;s shipping and handling costs are included in cost of revenues.</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_ShortTermAndLongTermInvestmentsPolicyTextBlock', window );">Short-term and long-term investments</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">The Group has elected to apply the measurement alternative to equity securities without readily determinable fair values. As such, the Group&#8217;s non-marketable equity securities are measured at cost, less any impairment, and are adjusted for changes in fair value resulting from observable transactions for identical or similar investments of the investee.</p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_NonControllingInterestsPolicyTextBlock', window );">Non-controlling interests</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">For entities that are consolidated, but not 100% owned, a portion of the income or loss and equity is allocated to owners other than the Group. The aggregate of the income or loss and corresponding equity that is not owned by the Group is included within non-controlling interests in the consolidated financial statements.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;">Non-controlling interests is presented as a separate component of equity in the consolidated balance sheets. Net income includes the net income attributable to the holders of non-controlling interests in the consolidated statements of operations and comprehensive income / (loss). Profits and losses are allocated to non-controlling interests in proportion to their relative ownership interests regardless of their basis.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_clwt_ClassificationOfContractAssetsNetAndLiabilitiesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_ClassificationOfContractAssetsNetAndLiabilitiesPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum: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_clwt_ContractAssetsAndContractLiabilitiesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_ContractAssetsAndContractLiabilitiesPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum: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_clwt_FinanceCostsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_FinanceCostsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum: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_clwt_GovernmentGrantIncomePolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_GovernmentGrantIncomePolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum: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_clwt_NetIncomePerOrdinarySharePolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_NetIncomePerOrdinarySharePolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum: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_clwt_NonControllingInterestsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_NonControllingInterestsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum: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_clwt_NoncontrollingInterestsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_NoncontrollingInterestsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum: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_clwt_OrdinaryShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_OrdinaryShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum: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_clwt_RelatedPartiesPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_RelatedPartiesPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum: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_clwt_RetirementPlanCostsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_RetirementPlanCostsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum: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_clwt_ShareCapitalPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_ShareCapitalPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum: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_clwt_ShippingAndHandlingCostsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_ShippingAndHandlingCostsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum: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_clwt_ShortTermAndLongTermInvestmentsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_ShortTermAndLongTermInvestmentsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum: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_clwt_StatutoryReservesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_StatutoryReservesPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum: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_AdvertisingCostsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for advertising cost.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -SubTopic 35<br> -Topic 720<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483406/720-35-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdvertisingCostsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 basis of presentation and significant accounting policies concepts. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS). Accounting policies describe all significant accounting policies of the reporting entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 235<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/235/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock</td>
</tr>
<tr>
<td style="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_CashAndCashEquivalentsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates fair value.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-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_CashAndCashEquivalentsPolicyTextBlock</td>
</tr>
<tr>
<td style="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_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Entity's cash and cash equivalents accounting policy with respect to restricted balances. Restrictions may include legally restricted deposits held as compensating balances against short-term borrowing arrangements, contracts entered into with others, or company statements of intention with regard to particular deposits; however, time deposits and short-term certificates of deposit are not generally included in legally restricted deposits.</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(1)(a))<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> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-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_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy</td>
</tr>
<tr>
<td style="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_ComprehensiveIncomePolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 comprehensive income.</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_ComprehensiveIncomePolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="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_ConsolidationSubsidiariesOrOtherInvestmentsConsolidatedEntitiesPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 subsidiaries or other investments that are consolidated, including the accounting treatment for intercompany accounts or transactions and any 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> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 810<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_ConsolidationSubsidiariesOrOtherInvestmentsConsolidatedEntitiesPolicy</td>
</tr>
<tr>
<td style="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_EarningsPerSharePolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements.</p></div>
<a href="javascript: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 (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-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_EarningsPerSharePolicyTextBlock</td>
</tr>
<tr>
<td style="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_EquityMethodInvestmentsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 equity method of accounting for investments and other interests. Investment includes, but is not limited to, unconsolidated subsidiary, corporate joint venture, noncontrolling interest in real estate venture, limited partnership, and limited liability company. Information includes, but is not limited to, ownership percentage, reason equity method is or is not considered appropriate, and accounting policy election for distribution received.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: 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 (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<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 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 21D<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-21D<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestmentsPolicy</td>
</tr>
<tr>
<td style="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_ExtendedProductWarrantyPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 extended product warranties and other guarantee contracts including the methodology for measuring the 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 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482425/460-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_ExtendedProductWarrantyPolicy</td>
</tr>
<tr>
<td style="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_FairValueMeasurementPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 fair value measurements of financial and non-financial assets, liabilities and instruments classified in shareholders' equity. Disclosures include, but are not limited to, how an entity that manages a group of financial assets and liabilities on the basis of its net exposure measures the fair value of those assets and liabilities.</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_FairValueMeasurementPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="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_GoodwillAndIntangibleAssetsGoodwillPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for goodwill. This accounting policy also may address how an entity assesses and measures impairment of goodwill, how reporting units are determined, how goodwill is allocated to such units, and how the fair values of the reporting units are determined.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482548/350-20-55-24<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/350-20/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 recognizing and measuring the impairment of long-lived assets. An entity also may disclose its accounting policy for long-lived assets to be sold. This policy excludes 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://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.CC)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480091/360-10-S99-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 05<br> -Paragraph 4<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482338/360-10-05-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_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-20<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-19<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-10-45-25<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(h)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479886/946-10-S99-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-17<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-10-45-28<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsFiniteLivedPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for finite-lived intangible assets. This accounting policy also might address: (1) the amortization method used; (2) the useful lives of such assets; and (3) how the entity assesses and measures impairment of such assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483426/235-10-50-4<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/350-30/tableOfContent<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483154/926-20-50-5<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 920<br> -SubTopic 350<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478609/920-350-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 920<br> -SubTopic 350<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478609/920-350-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 920<br> -SubTopic 350<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478609/920-350-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsFiniteLivedPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483080/330-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483489/210-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483426/235-10-50-4<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 912<br> -SubTopic 330<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478411/912-330-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/330/tableOfContent<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483080/330-10-50-4<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 270<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482989/270-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InvestmentPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 investment in financial 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/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(3)(b))<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 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479886/946-10-S99-3<br><br>Reference 3: 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(f)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479886/946-10-S99-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(f)(2))<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 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(f)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479886/946-10-S99-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 12<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-12<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 19<br> -Subparagraph (2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-19<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentPolicyTextBlock</td>
</tr>
<tr>
<td style="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_LesseeLeasesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 leasing arrangement entered into by lessee.</p></div>
<a href="javascript: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 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-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_LesseeLeasesPolicyTextBlock</td>
</tr>
<tr>
<td style="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_PropertyPlantAndEquipmentPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477798/958-360-50-6<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477798/958-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ReceivablesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 receivable. Includes, but is not limited to, accounts receivable and financing 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 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<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 3: http://www.xbrl.org/2003/role/disclosureRef<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 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ReceivablesPolicyTextBlock</td>
</tr>
<tr>
<td style="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_Reclassifications">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 classifying current financial statements, which may be different from classifications in the prior year's financial statements. Disclose any material changes in classification including an explanation of the reason for the change and the areas impacted.</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 205<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/205/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Reclassifications</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentExpensePolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for costs it has incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 730<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 05<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483044/730-10-05-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentExpensePolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRecognitionPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for revenue. Includes revenue from contract with customer and from other sources.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483426/235-10-50-4<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (e)<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483426/235-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRecognitionPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for segment reporting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 47<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-47<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-29<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 54<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-54<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 36<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-36<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 47<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-47<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-29<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 29<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-29<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-29<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-29<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-29<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-29<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for award under share-based payment arrangement. Includes, but is not limited to, methodology and assumption used in measuring cost.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.C.Q3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479830/718-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.D.1.Q5)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479830/718-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.D.3.Q2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479830/718-10-S99-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.D.2.Q6)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479830/718-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/718/tableOfContent<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShippingAndHandlingCostPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 classification of shipping and handling costs, including whether the costs are included in cost of sales or included in other income statement accounts. If shipping and handling fees are significant and are not included in cost of sales, disclosure includes both the amounts of such costs and the line item on the income statement which includes such costs.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShippingAndHandlingCostPolicyTextBlock</td>
</tr>
<tr>
<td style="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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>59
<FILENAME>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>Organization and Business Background (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_ScheduleOfSignificantSubsidiariesTableTextBlock', window );">Schedule of significant subsidiaries</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="BORDER-BOTTOM: 1px solid;width:21%;vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Company name</strong></p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>&#160;</strong></p></td><td style="BORDER-BOTTOM: 1px solid;width:17%;vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Place of incorporation and principal place of operation</strong></p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>&#160;</strong></p></td><td style="BORDER-BOTTOM: 1px solid;width:34%;vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Principal activities</strong></p><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>and place of operation</strong></p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>&#160;</strong></p></td><td colspan="3" style="BORDER-BOTTOM: 1px solid;width:20%;vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Effective interest</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>held</strong></p></td></tr><tr style="height:15px"><td style="width:21%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="width:1%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="width:17%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="width:1%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="width:34%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="width:1%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="width:1%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>&#160;</strong></p></td><td style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td></tr><tr style="height:15px"><td style="width:21%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:17%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:34%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="width:21%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Euro Tech (Far East) Limited</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:17%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Hong Kong</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:34%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Marketing and trading of water and waste water related process control, analytical and testing instruments, disinfection equipment, supplies and related automation systems</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">100%</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">100%</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="width:21%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:17%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:34%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;</p></td><td style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="width:21%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Euro Tech Trading (Shanghai) Limited</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:17%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">The PRC</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:34%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Inactive</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">100%</p></td><td style="width:1%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;</p></td><td style="width:9%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">100%</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="width:21%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:17%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:34%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="width:21%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Shanghai Euro Tech Limited #</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:17%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">The PRC</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:34%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Manufacturing of analytical and testing equipment</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">-</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">100%</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="width:21%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:17%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:34%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="width:21%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Yixing Pact Environmental Technology Co., Ltd.</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:17%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">The PRC</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:34%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Design, manufacturing and operation of water and wastewater treatment and water desalination machinery and equipment</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">58%</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">58%</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="width:21%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:17%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:34%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="width:21%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Pact Asia Pacific Limited</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:17%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">The British Virgin Islands</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:34%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Sale of environmental protection equipment, undertaking environment protection projects and providing relevant technology advice, training and services</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">58%</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">58%</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="width:21%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:17%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:34%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="width:21%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">PACT Environmental Technology Pte. Ltd. #</p></td><td style="width:1%;"></td><td style="width:17%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Singapore</p></td><td style="width:1%;"></td><td style="width:34%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Marketing and provision of after sales services of ballast water treatment systems and customized industrial wastewater solutions, equipment fabrication</p></td><td style="width:1%;"></td><td style="width:9%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">58%</p></td><td style="width:1%;"></td><td style="width:9%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">-</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="width:21%;"></td><td style="width:1%;"></td><td style="width:17%;"></td><td style="width:1%;"></td><td style="width:34%;"></td><td style="width:1%;"></td><td style="width:9%;"></td><td style="width:1%;"></td><td style="width:9%;"></td></tr><tr style="height:15px;background-color:#cceeff"><td colspan="3" style="width:40%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Non-consolidating affiliate:</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:34%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="width:21%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:17%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:34%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="width:21%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Zhejiang Tianlan Environmental Protection Technology Co. Ltd (&#8220;Blue Sky&#8221;) *&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:17%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">The PRC</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:34%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Design, general contract, equipment manufacturing, installation, testing and operation management of the treatment of waste gases emitted</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">19.4%</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">19.4%</p></td></tr></tbody></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_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember', window );">ZHEJIANG TIANLAN</a></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_clwt_ScheduleOfSignificantSubsidiariesTableTextBlock', window );">Schedule of significant subsidiaries</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Name of entity </strong></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="6" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Ownership interest held by the Group </strong></p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Place of incorporation and principal place of operation </strong></p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Principal activities</strong></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:0.1pt">Zhejiang Tianlan Environmental Protection Engineering Company Limited&#160; </p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">100</p></td><td style="width:3%;vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">%*</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">100</p></td><td style="width:3%;vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">%*</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">PRC</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:35%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Design, general contract, installation and operating management of environmental protection projects&#160; </p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:0.1pt">Hangzhou Tianlan Environmental Protection Equipment Company Limited</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">51</p></td><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">%</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">51</p></td><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">%</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">PRC</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">Manufacturing and installation services of environmental protection equipment</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:0.1pt">Hangzhou Tianlan Pure Environmental Protection Technology Company Limited </p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">38.25</p></td><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">%</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">38.25</p></td><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">%</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">PRC</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">Manufacturing of environmental protection equipment</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:0.1pt">Hangzhou Tiancan Environmental Technology Company Limited </p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">80</p></td><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">%</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">80</p></td><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">%</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">PRC</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">Manufacturing of environmental protection equipment</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:0.1pt">Hangzhou Zhongyi Ecological and Environmental Consulting Company Limited</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">40.1</p></td><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;%**</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">40.1</p></td><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;%**</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">PRC</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">Consultation services of environmental protection projects</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:0.1pt">Xuancheng Lanjing Environmental Protection Equipment Co., Ltd</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;19.51 </p></td><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">%</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">-</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">PRC</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">Manufacturing and installation services of environmental protection equipment</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_clwt_ScheduleOfSignificantSubsidiariesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_ScheduleOfSignificantSubsidiariesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum: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_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>60
<FILENAME>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>Summary of significant accounting policies (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_PropertyPlantAndEquipmentUsefulLifeTableTextblock', window );">Schedule of property, plant and equipment</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="width:3%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:30%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Expected useful life</strong></p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Office premises</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">47 to 51 years</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Leasehold improvements&#160; </p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">Over terms of the leases or the useful lives whichever is less</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Furniture, fixtures and office equipment</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">3 to 5 years</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Motor vehicles</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">4 years</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Testing equipment</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">3 years</p></td></tr></tbody></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_clwt_ScheduleOfReconciliationOfBacklogRepresentingTheAmountOfRevenueTableTextBlock', window );">Schedule of reconciliation of backlog representing the amount of revenue</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Contract revenue on uncompleted contracts at December 31, 2022</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">523</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">New contract awards during the year</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">9,044</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Contract adjustment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">252</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Contract revenue recognized for the year</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(5,797</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">)&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Backlog at December 31, 2023</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">4,022</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Contract revenue on uncompleted contracts at December 31, 2023</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">4,022</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">New contract awards during the year</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5,621</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Contract adjustment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">30</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Contract revenue recognized for the year</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(5,834</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">)&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Backlog at December 31, 2024</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">3,839</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></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_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember', window );">ZHEJIANG TIANLAN</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_clwt_PropertyPlantAndEquipmentUsefulLifeTableTextblock', window );">Schedule of property, plant and equipment</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px;background-color:#ffffff"><td style="width:4%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:30%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Land use right</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Over terms of the leases</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Buildings and leasehold improvements</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">11 to 50 years, with 5% residual value</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Furniture, fixtures and office equipment</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">5 years, with 5% residual value</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Motor vehicles</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">5 years, with 5% residual value</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Plant and machineries</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">5 to 10 years, with 5% residual value</p></td></tr></tbody></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_clwt_PropertyPlantAndEquipmentUsefulLifeTableTextblock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_PropertyPlantAndEquipmentUsefulLifeTableTextblock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum: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_clwt_ScheduleOfReconciliationOfBacklogRepresentingTheAmountOfRevenueTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_ScheduleOfReconciliationOfBacklogRepresentingTheAmountOfRevenueTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum: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_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember</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>61
<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>Segment information (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_SegmentReportingAbstract', window );"><strong>Segment information</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_ScheduleOfSegmentReportingInformationBySegmentTextBlock', window );">Segment information</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Revenue</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Trading and manufacturing</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">9,549</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">12,143</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">9,332</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Engineering</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">5,834</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">5,797</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">5,617</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">15,383</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">17,940</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">14,949</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Operating income / (loss)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Trading and manufacturing</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">278</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">377</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(246 </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Engineering</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">273</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(438 </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">590</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Unallocated corporate expenses</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(165 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(188 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(230 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">386</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(249 </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">114</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Depreciation:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Trading and manufacturing</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">11</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">11</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">28</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Engineering</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">3</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">4</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">5</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">14</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">15</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">33</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Capital expenditures, gross</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Trading and manufacturing</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Engineering</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">2</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">2</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">5</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">5</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">5</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">7</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Trading and manufacturing</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">6,668</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">8,229</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Engineering</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">14,040</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">13,891</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">20,708</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">22,120</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Liabilities</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Trading and manufacturing</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2,155</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3,605</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Engineering</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">1,859</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">2,035</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">4,014</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">5,640</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock', window );">Geographical analysis of revenue and assets</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Revenue -</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">The PRC</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">6,398</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">7,125</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5,878</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Hong Kong</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">6,745</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">9,879</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">7,174</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Others </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">2,240</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">936</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">1,897</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">15,383</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">17,940</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">14,949</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Hong Kong</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">6</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">The PRC</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">154</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">162</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">159</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">168</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></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_clwt_ScheduleOfMajorSuppliersAndCustomers', window );">Major suppliers and customers</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><strong>2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Supplier A</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">36</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">23</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">21</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Supplier B</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">26</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">42</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">33</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Supplier C</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">8</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">7</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">6</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Supplier D</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Supplier E</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Supplier F</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr></tbody></table><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><strong>2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Customer A</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">13</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">10</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">9</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Customer B</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">9</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">14</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">18</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Customer C</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">9</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Customer D</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">6</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">%</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;-</p></td><td style="width:1%;white-space: nowrap;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;-</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Customer E</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">%&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;-</p></td><td style="width:1%;white-space: nowrap;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;-</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Customer F</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">%</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;-</p></td><td style="width:1%;white-space: nowrap;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;-</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Customer G</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">7</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Customer H</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Customer I</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">6</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr></tbody></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_clwt_ScheduleOfMajorSuppliersAndCustomers">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_ScheduleOfMajorSuppliersAndCustomers</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum: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_ScheduleOfSegmentReportingInformationBySegmentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss.</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 25<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-25<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 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 3: 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> -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_ScheduleOfSegmentReportingInformationBySegmentTextBlock</td>
</tr>
<tr>
<td style="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>62
<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>Accounts receivable net (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock', window );">Accounts receivable, net</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Contract receivables</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1,386</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2,864</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Less: allowance for doubtful accounts</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">1,386</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">2,864</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock', window );">Allowance for doubtful accounts activity</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Balance at beginning of period</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">28</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Less : reversal in allowances</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(28 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Balance at end of period</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PastDueFinancingReceivablesTableTextBlock', window );">Age analysis of past due account receivables</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Current</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">422</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">1,175</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Past due</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">1-30 days</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">397</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">603</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">31-60 days </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">224</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">548</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">61-90 days </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">183</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">341</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Greater than or equal to 91 days</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">160</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">197</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">964</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">1,689</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">1,386</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">2,864</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></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_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember', window );">ZHEJIANG TIANLAN</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_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock', window );">Accounts receivable, net</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="width:1%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td><td style="width:1%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="width:1%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td><td style="vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong> </p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td><td style="vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">Contract receivables</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">171,008</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">157,879</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td>Less: allowance for doubtful accounts</td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: #000000 1px solid;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">(35,952</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">)</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: #000000 1px solid;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">(29,644</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">)</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: black 3px double;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">135,056</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: black 3px double;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">128,235</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock', window );">Allowance for doubtful accounts activity</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Balance at beginning of year</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">29,644</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">40,019</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Add: provision for allowances </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">6,304</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">10,376</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Less: reversal of provision for doubtful accounts</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(677 </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Less: write-off of doubtful accounts</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(20,074 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Balance at end of year</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">35,952</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">29,644</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PastDueFinancingReceivablesTableTextBlock', window );">Age analysis of past due account receivables</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Within 1 year</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">100,254</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">121,658</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">1 year -&#160; 2 years</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">30,292</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">31,499</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">2 years - 3 years</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">10,701</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3,140</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">3 years - 4 years</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3,515</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">699</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">4 years - 5 years</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">456</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">883</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Over 5 years</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">25,790</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Less: allowance for doubtful accounts</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(35,952 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;(29,644</p></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">)&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">135,056</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">128,235</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 financing 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 11B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-11B<br><br>Reference 2: 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_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock</td>
</tr>
<tr>
<td style="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_PastDueFinancingReceivablesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 aging analysis for financing 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 7A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-7A<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-7<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479319/326-20-50-14<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 80<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479294/326-20-55-80<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PastDueFinancingReceivablesTableTextBlock</td>
</tr>
<tr>
<td style="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_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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember</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>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>Prepayments and other current assets (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_ScheduleOfOtherCurrentAssetsTableTextBlock', window );">Prepayment and other current assets</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Deposits paid</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">78</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">40</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Prepayments</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">70</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">68</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Other receivables</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">118</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">134</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Income tax recoverable</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Other tax recoverable</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">3</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">4</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">271</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">246</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></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_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember', window );">ZHEJIANG TIANLAN</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_ScheduleOfOtherCurrentAssetsTableTextBlock', window );">Prepayment and other current assets</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Prepayments</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">21,462</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">16,622</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Deposits paid for bidding projects and temporary payments</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">7,610</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">6,257</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Other current assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">1,716</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">862</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">30,788</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">23,741</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfOtherCurrentAssetsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the carrying amounts of other current assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfOtherCurrentAssetsTableTextBlock</td>
</tr>
<tr>
<td style="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_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember</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>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="2"><div style="width: 200px;"><strong>Contract assets and liabilities (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_ContractWithCustomerAssetAndLiabilityTableTextBlock', window );">Contract assets and liabilities</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Unbilled revenue </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">135</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">66</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Deferred revenue </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">593</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">650</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Contract assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">135</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">66</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Contract liabilities</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(593 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(650 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Net contract liabilities </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(458 </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(584 </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr></tbody></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_clwt_ContractWithCustomerNetAssetLiabilityPositionTableTextBlock', window );">Net (liability) / asset position for contracts in process</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Costs incurred in contracts in process</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">325</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">229</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Revenue earned but not yet billed</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">102</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">26</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Less: billings to date </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(885 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(839 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(458 </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(584 </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr></tbody></table><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Unbilled revenue </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">135</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">66</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Deferred revenue </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(593 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(650 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(458 </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(584 </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr></tbody></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueTableTextBlock', window );">Disaggregated revenue from contracts</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Revenue</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Trading and manufacturing (revenue recognized at point in time)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">9,549</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">12,143</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">9,332</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Engineering (revenue recognized over time)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">5,834</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">5,797</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">5,617</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">15,383</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">17,940</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">14,949</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></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_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember', window );">ZHEJIANG TIANLAN</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_ContractWithCustomerAssetAndLiabilityTableTextBlock', window );">Contract assets and liabilities</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Unbilled revenue</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">66,644</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">72,880</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 3.8pt">Deferred revenue</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">35,367</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">43,452</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Contract assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">66,644</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">72,880</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Contract liabilities</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(35,367 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(43,452 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Net contract assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">31,277</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">29,428</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Gross contract assets </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">77,657</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">83,170</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Less: allowance for doubtful accounts </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(11,013 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(10,290 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">66,644</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">72,880</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></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_clwt_ContractWithCustomerNetAssetLiabilityPositionTableTextBlock', window );">Net (liability) / asset position for contracts in process</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Costs and estimated earnings on uncompleted contracts</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">48,274</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">239,648</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Less: billings to date</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(16,997 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(210,220 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">31,277</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">29,428</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_clwt_ContractWithCustomerNetAssetLiabilityPositionTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_ContractWithCustomerNetAssetLiabilityPositionTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum: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_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_DisaggregationOfRevenueTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember</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>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="2"><div style="width: 200px;"><strong>Intangible assets, net (Table) - ZHEJIANG TIANLAN<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_IntangibleAssetsDisclosureTableTextBlock', window );">Amortizable intangible assets</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Amortizable intangible assets</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Gross carrying amount</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Patents</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">4,150</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">4,150</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Others</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">165</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">165</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">4,315</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">4,315</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Less: Accumulated amortization</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(2,787 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(2,552 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Net carrying amount</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">1,528</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">1,763</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>2</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Amortization expense</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">235</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">246</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">257</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></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_clwt_EstimatedFutureIntangibleAssetsAmortizationExpenseTableTextBlock', window );">Estimated future intangible assets amortization expense</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Future amortization expense </strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">2025</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">235</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">2026</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">235</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">2027</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">235</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">2028</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">235</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">2029</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">235</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Thereafter</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">353</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">1,528</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_clwt_EstimatedFutureIntangibleAssetsAmortizationExpenseTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_EstimatedFutureIntangibleAssetsAmortizationExpenseTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum: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_clwt_IntangibleAssetsDisclosureTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_IntangibleAssetsDisclosureTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum: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_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember</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>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="2"><div style="width: 200px;"><strong>Land use right, net (Table) - ZHEJIANG TIANLAN<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_LandUseRightNetTableTextBlock', window );">Land use right, net table</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Gross carrying amount</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Land use right</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">7,361</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">7,361</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Less: Accumulated amortization</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(2,811 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(2,662 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Net carrying amount</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">4,550</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">4,699</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>2</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Amortization expense</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">149</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">180</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">150</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></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_clwt_LandUseRightNetEstimatedFutureLandUseRightAmortizationExpenseTableTextBlock', window );">Land use right, net estimated future land use right amortization expense</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Future amortization expense</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">2025</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">149</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">2026</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">149</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">2027</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">149</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">2028</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">149</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">2029</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">149</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Thereafter</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">3,805</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">4,550</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_clwt_LandUseRightNetEstimatedFutureLandUseRightAmortizationExpenseTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_LandUseRightNetEstimatedFutureLandUseRightAmortizationExpenseTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum: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_clwt_LandUseRightNetTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_LandUseRightNetTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum: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_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember</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>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>Bank borrowings (Table)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember', window );">ZHEJIANG TIANLAN</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_clwt_ScheduleOfBankBorrowingsTableTextBlock', window );">Schedule of bank borrowings</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Bank loans borrowed by the Company (note i)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1,001</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1,502</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Bank loans borrowed by subsidiaries of the Company (note ii)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">5,005</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">5,007</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">6,006</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">6,509</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_clwt_ScheduleOfBankBorrowingsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_ScheduleOfBankBorrowingsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum: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_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember</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>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>Inventories (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_ScheduleOfInventoryCurrentTableTextBlock', window );">Inventories</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Raw materials</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">76</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">192</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Work in progress</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">58</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">30</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Finished goods</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">366</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">501</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">500</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">723</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></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_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember', window );">ZHEJIANG TIANLAN</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_ScheduleOfInventoryCurrentTableTextBlock', window );">Inventories</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Raw materials</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">676</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">54</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Finished goods</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">4,032</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">4,415</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">4,708</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">4,469</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfInventoryCurrentTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483489/210-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfInventoryCurrentTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember</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>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>Property plant and equipment net (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_PropertyPlantAndEquipmentTextBlock', window );">Property, plant and equipment</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Office premises*</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">673</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">673</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Leasehold improvements</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">67</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">67</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Furniture, fixtures and office equipment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">311</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">313</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Motor vehicles</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">172</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">172</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Testing equipment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">28</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">32</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1,251</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1,257</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Less: Accumulated depreciation</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(1,092 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(1,089 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">159</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">168</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Depreciation charge</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">14</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">15</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">33</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></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_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember', window );">ZHEJIANG TIANLAN</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_PropertyPlantAndEquipmentTextBlock', window );">Property, plant and equipment</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Building and leasehold improvements</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">112,792</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">112,792</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Furniture, fixtures and office equipment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">4,272</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">4,122</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Motor vehicles</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">4,503</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">4,478</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Plant and machineries</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">10,852</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">10,619</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">132,419</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">132,011</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Less: Accumulated depreciation and amortization </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(74,681 </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(68,506 </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(74,681 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(68,506 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Net </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">57,738</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">63,505</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2" style="BORDER-BOTTOM: 1px solid;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year ended December 31,</strong></p></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="7" style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2" style="BORDER-BOTTOM: 1px solid;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2" style="BORDER-BOTTOM: 1px solid;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2" style="BORDER-BOTTOM: 1px solid;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>2</strong></p></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Depreciation charge</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">6,175</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">5,964</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">6,580</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember</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>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>Investments in affiliates (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVenturesAbstract', window );"><strong>Investments in affiliates</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_ScheduleOfInvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTableTextBlock', window );">Investments in affiliates</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Zhejiang Tianlan Environmental Protection Technology Co. Ltd.</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Interest held</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><strong>19.4</strong></td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"><strong>%</strong></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><strong>19.4</strong></td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"><strong>%</strong></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><strong>US$&#8217;000</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><strong>US$&#8217;000</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Long-term investment, at cost, less impairment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5,540</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5,540</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Share of undistributed profits</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">4,407</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">4,316</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">9,947</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">9,856</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_SummaryOfTheFinancialInformationOfTheAffiliates', window );">Summary of the financial information of the affiliates</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 3.5pt; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 3.5pt; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Balance Sheet:</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Current assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">50,487</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">51,683</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Non-current assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">10,569</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">10,909</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">61,056</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">62,592</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total liabilities</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(25,204 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(26,374 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total shareholders&#8217; equity</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">35,852</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">36,218</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Operating results:</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Net sales</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">48,365</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">38,530</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Operating income</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1,926</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">337</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Net income</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2,008</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">9,978</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_clwt_SummaryOfTheFinancialInformationOfTheAffiliates">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_SummaryOfTheFinancialInformationOfTheAffiliates</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum: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_InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVenturesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVenturesAbstract</td>
</tr>
<tr>
<td style="padding-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_ScheduleOfInvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 tabular presentation of the information summarizing investments in and advances to majority-owned subsidiaries, other controlled companies, and other affiliates, as prescribed by the SEC. It reflects specified information about ownership, financial results from, and financial position in such entities. Includes the tabular presentations that disaggregate investments in and advances to majority-owned subsidiaries, other controlled companies, and other affiliates.</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_ScheduleOfInvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTableTextBlock</td>
</tr>
<tr>
<td style="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>71
<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>Other payables and accrued expenses (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_PayablesAndAccrualsAbstract', window );"><strong>Other payables and accrued expenses</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock', window );">Other payables and accrued expenses</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Dividend payables</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">76</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">78</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Deposits received from customers</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Rental deposit received</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Accruals for operating expenses </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">803</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">834</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Other tax payables</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">166</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">204</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">1,050</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">1,124</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></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_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember', window );">ZHEJIANG TIANLAN</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_PayablesAndAccrualsAbstract', window );"><strong>Other payables and accrued expenses</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_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock', window );">Other payables and accrued expenses</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Accrued expenses</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">11,089</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">11,274</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Output VAT </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">6,587</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">6,348</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Deposits received and temporary receipts </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">4,695</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">6,098</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">22,371</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">23,720</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PayablesAndAccrualsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PayablesAndAccrualsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the (a) carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business (accounts payable); (b) other payables; and (c) accrued liabilities. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer). An alternative caption includes accrued expenses.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember</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>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>Lease obligations (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_LeaseCostTableTextBlock', window );">Lease expense</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 4.5pt; text-align:center;"><strong>Years ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 4.5pt; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 4.5pt; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 4.5pt; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 4.5pt; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Operating lease cost</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">187</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">76</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Short-term lease cost</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">8</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">220</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total lease cost</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">195</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">296</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></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_clwt_ScheduleOfSupplementalConsolidatedBalanceSheetInformationRelatedToLeasesTableTextBlock', window );">Supplemental consolidated balance sheet information related to leases</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Operating leases</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Operating lease right-of-use assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">101</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">233</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Current portion of long-term operating lease obligations &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">83</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">170</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Long-term operating lease obligations, net of current maturities</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">9</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">44</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">92</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">214</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Weighted average remaining lease term</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Operating leases </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">3 months</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">3 months</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Weighted average discount rate</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Operating leases</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5.45</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr></tbody></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_ScheduleOfSupplementalConsolidatedCashFlowInformationRelatedToLeasesTableTextBlock', window );">Supplemental consolidated cash flow information related to leases</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Years ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Cash paid for amounts included in the measurement of lease liabilities:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Operating cash flows from operating leases</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">173</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">285</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Right-of-use assets obtained in exchange for lease obligations (noncash):</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Operating leases</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock', window );">Maturities of lease liabilities</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Operating leases </strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Year ending December 31, </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">2025</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">77</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">2026</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">17</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total lease payments </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">94</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Less: imputed interest </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(2 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">92</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></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_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember', window );">ZHEJIANG TIANLAN</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeaseCostTableTextBlock', window );">Lease expense</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Years ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Operating lease cost:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Amortization of right-of-use assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">141</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Interest on lease liabilities included under cost of revenue and selling and administrative expenses</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">16</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total operating lease cost</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">157</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_ScheduleOfSupplementalConsolidatedBalanceSheetInformationRelatedToLeasesTableTextBlock', window );">Supplemental consolidated balance sheet information related to leases</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Operating leases</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Right-of-use assets, at cost </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2,529</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Accumulated amortization </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(141 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Right-of-use assets, net </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">2,388</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Current portion of operating lease </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">563</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Non-current portion of operating lease</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">1,542</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total operating lease liabilities</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">2,105</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Weighted average remaining lease term</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">operating leases </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">33 months</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Weighted average discount rate</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Operating leases</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3.6</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></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_clwt_ScheduleOfSupplementalConsolidatedCashFlowInformationRelatedToLeasesTableTextBlock', window );">Supplemental consolidated cash flow information related to leases</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Years ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Cash paid for amounts included in the measurement of lease liabilities:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Finance cash flows from operating leases</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">440</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Right-of-use assets obtained in exchange for lease obligations (noncash):</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Operating leases</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_clwt_ScheduleOfSupplementalConsolidatedBalanceSheetInformationRelatedToLeasesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_ScheduleOfSupplementalConsolidatedBalanceSheetInformationRelatedToLeasesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum: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_clwt_ScheduleOfSupplementalConsolidatedCashFlowInformationRelatedToLeasesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_ScheduleOfSupplementalConsolidatedCashFlowInformationRelatedToLeasesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeaseCostTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeaseCostTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 future minimum payments required in the aggregate and for each of the five succeeding fiscal years for operating leases having initial or remaining noncancelable lease terms in excess of one year and the total minimum rentals to be received in the future under noncancelable subleases as of the balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 840<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481501/840-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_ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock</td>
</tr>
<tr>
<td style="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_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>73
<FILENAME>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="2"><div style="width: 200px;"><strong>Ordinary share (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_EquityAbstract', window );"><strong>Ordinary 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_ScheduleOfStockByClassTextBlock', window );">Shares outstanding</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Shares issued</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">7,899,832</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">7,899,832</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Less: shares under treasury stock</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(183,533 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(178,400 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">7,716,299</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">7,721,432</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_EquityAbstract</td>
</tr>
<tr>
<td style="padding-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_ScheduleOfStockByClassTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 stock, including par or stated value per share, number and dollar amount of share subscriptions, shares authorized, shares issued, shares outstanding, number and dollar amount of shares held in an employee trust, dividend per share, total dividends, share conversion features, par value plus additional paid in capital, the value of treasury stock and other information necessary to a fair presentation, and EPS information. Stock by class includes common, convertible, and preferred stocks which are not redeemable or redeemable solely at the option of the issuer. Includes preferred stock with redemption features that are solely within the control of the issuer and mandatorily redeemable stock if redemption is required to occur only upon liquidation or termination of the reporting entity. If more than one issue is outstanding, state the title of each issue and the corresponding dollar amount; dollar amount of any shares subscribed but unissued and the deduction of subscriptions receivable there from; number of shares authorized, issued, and 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> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(27))<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(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><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-3<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-4<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-5<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481142/505-10-45-2<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-10<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-8<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 480<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480244/480-10-S99-1<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-6<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-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_ScheduleOfStockByClassTextBlock</td>
</tr>
<tr>
<td style="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>74
<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>Other income (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_OtherIncomeAndExpensesAbstract', window );"><strong>Other income (Tables)</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfOtherNonoperatingIncomeExpenseTableTextBlock', window );">Other income, net</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Exchange gain / (loss), net</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(66 </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(93 </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Rental income</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">37</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">46</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">37</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Government subsidies &#8211; Employment Support Scheme *</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">69</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">37</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(20 </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">13</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherIncomeAndExpensesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_OtherIncomeAndExpensesAbstract</td>
</tr>
<tr>
<td style="padding-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_ScheduleOfOtherNonoperatingIncomeExpenseTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of non-operating income or non-operating expense that may include amounts earned from dividends, interest on securities, gains (losses) on securities sold, equity earnings of unconsolidated affiliates, net gain (loss) on sales of business, interest expense and other miscellaneous income or expense items.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfOtherNonoperatingIncomeExpenseTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>75
<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>Income taxes (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_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_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock', window );">Components of income tax (expense) / credit</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Current taxes (expense )</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Hong Kong profits tax and the PRC EIT</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(33 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(45 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Income tax expense</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(33 </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(45 </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Deferred tax (expenses) / credit</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Hong Kong and the PRC </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(39 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(24 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total deferred tax (expenses) / credit</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(39 </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(24 </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total (expense) / credit</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(72 </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(45 </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(24 </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr></tbody></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock', window );">Reconciling items from income tax</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Income before income taxes</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">519</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">1,695</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">563</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Computed tax using respective companies&#8217; statutory tax rates</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(100 </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">78</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">131</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Change in valuation allowances</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">62</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(79 </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">58</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Non-deductible expenses</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(34 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(44 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(213 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Income tax (expense) / credit at effective tax rate</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(72 </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(45 </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(24 </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr></tbody></table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock', window );">Components of deferred tax assets</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Tax losses </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">313</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">572</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Less: Valuation allowances</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(251 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(469 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Net deferred tax assets </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">62</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">103</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></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_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember', window );">ZHEJIANG TIANLAN</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_IncomeTaxDisclosureAbstract', window );"><strong>Income taxes</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_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock', window );">Components of income tax (expense) / credit</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>2</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Current tax expense / (credit)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:11.25pt">PRC EIT</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">3,275</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">7,340</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(7 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Income tax expense / (credit)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">3,275</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">7,340</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(7 </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Deferred tax expense / (credit)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(2,910 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">8,729</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(361 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total deferred tax expense / (credit)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(2,910 </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">8,729</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(361 </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total expense / (credit)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">365</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">16,069</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(368 </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr></tbody></table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock', window );">Reconciling items from income tax</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year ended&#160; December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>2</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Income before income tax</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">14,831</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">86,606</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">15,398</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Computed tax using respective companies&#8217; statutory tax rates</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2,152</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">12,991</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2,309</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">(Over)-provision for income tax in prior years</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(5 </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(591 </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(69 </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Temporary differences</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1,090</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2,931</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2,089</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Tax effect of revenue not subject to tax</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Tax effect of expenses not deductible for tax purposes</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">699</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">4,472</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">500</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Tax effect of special deduction for research and development costs </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(4,081 </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(3,734 </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(5,257 </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Others </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">510</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">57</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Income taxes expense /(credit) at effective tax rate</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">365</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">16,069 </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(368 </td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr></tbody></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock', window );">Components of deferred tax assets</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Allowance for doubtful accounts</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5,058</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">4,218</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Deferred government grant&#160; </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">631</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">213</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Impairment losses on assets&#160;&#160; </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1,771</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1,508</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Change in fair value</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(37 </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Investment loss</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">1,425</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Total deferred tax assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">8,848</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">5,939</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years.</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 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock</td>
</tr>
<tr>
<td style="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_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="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_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_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember</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>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="2"><div style="width: 200px;"><strong>Other income and other losses (Table) - ZHEJIANG TIANLAN<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_ScheduleOfOtherIncomeTabletextBlock', window );">Schedule of other income</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>2</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Impairment gain on contract assets </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(722 </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2,158</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Investment income</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(8,504 </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2,863</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">824</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Fait value gain on short term investment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">248</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;-</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;-</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Compensation income</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">193</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">7,796</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Amounts waived by payees&#160; </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">676</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">980</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Reversal of allowance for doubtful accounts</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(6,225</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">10,841</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">983</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Subsidy income from PRC government </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">14,730</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">9,088</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">9,002</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">396</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">32,746</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">11,789</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></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_clwt_ScheduleOfOtherLossesTabletextBlock', window );">Schedule of other losses</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>4</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>202</strong><strong>2</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>RMB&#8217;000</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Impairment loss on short term investments</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">195</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Impairment loss on contract assets </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3,560</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">3,755</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_clwt_ScheduleOfOtherIncomeTabletextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_ScheduleOfOtherIncomeTabletextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum: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_clwt_ScheduleOfOtherLossesTabletextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_ScheduleOfOtherLossesTabletextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum: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_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember</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>77
<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>Net income per ordinary share (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_EarningsPerShareAbstract', window );"><strong>Net income per ordinary 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_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock', window );">Basic and diluted number of shares</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2022</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Number of shares</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Weighted average number of ordinary shares for the purposes of basic and diluted net income per share </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">7,716,993</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">7,726,118</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">7,732,132</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 weighted average number of shares used in calculating basic net earnings per share (or unit) and diluted earnings per share (or unit).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -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_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock</td>
</tr>
<tr>
<td style="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>78
<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>Stock options (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_ShareBasedCompensationAbstract', window );"><strong>Stock options</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_ScheduleOfShareBasedCompensationStockOptionsAndStockAppreciationRightsAwardActivityTableTextBlock', window );">Stock option activity</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="22" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Year ended December 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2024</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2023</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>2022</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Number</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>of</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>options</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Weighted</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>average</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>exercise</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>price</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Number</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>of</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>options</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Weighted</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>average</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>exercise</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>price</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Number</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>of</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>options</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Weighted</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>average</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>exercise</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>price</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Outstanding, beginning of year</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">206,250</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">1.52</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">206,250</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">1.52</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">85,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">1.56</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Granted</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">80,000</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">2.80</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Cancelled</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(41,250 </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(1.04 </td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Bonus shares adjustment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;">82,500</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;">(0.72 </td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Outstanding, end of year</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;">206,250</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;">1.52</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;">206,250</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;">1.52</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;">206,250</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;">1.52</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Exercisable, end of year</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;">206,250</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;">1.52</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;">86,250</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;">1.04</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;">86,250</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;">1.04</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsAndStockAppreciationRightsAwardActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the number and weighted-average exercise prices (or conversion ratios) for stock options and stock appreciation rights that were outstanding at the beginning and end of the year, exercisable at the end of the year, and the number of stock options and stock appreciation rights that were granted, exercised or converted, forfeited, and expired during the year.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedCompensationStockOptionsAndStockAppreciationRightsAwardActivityTableTextBlock</td>
</tr>
<tr>
<td style="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_ShareBasedCompensationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ShareBasedCompensationAbstract</td>
</tr>
<tr>
<td style="padding-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>79
<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>Commitments and contingencies (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_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_RedeemableNoncontrollingInterestTableTextBlock', window );">Schedule of Fair Value of the Put Options</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Fair value of put options </strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>US$</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Balance, December 31, 2023</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">0</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Net income (loss)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">0</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Foreign currency translation</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">0</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Balance, December 31, 2024</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">0</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_RedeemableNoncontrollingInterestTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 redeemable noncontrolling interest (as defined) included in the statement of financial position as either a liability or temporary equity. As of the date of the statement of financial position, such redeemable noncontrolling interest is currently redeemable, as defined, for cash or other assets of the entity at (1) at a fixed or determinable price on a fixed or determinable date, (2) at the option of the holder of the noncontrolling interest, or (3) upon occurrence of an event that is not solely within the control 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;">us-gaap_RedeemableNoncontrollingInterestTableTextBlock</td>
</tr>
<tr>
<td style="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>80
<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="2"><div style="width: 200px;"><strong>Organization and business (Details)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=clwt_ShanghaiEuroTechsLimitedMember', window );">Shanghai Euro Tech Limited</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_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Percentage of equity ownership</a></td>
<td class="nump">0.00%<span></span>
</td>
<td class="nump">100.00%<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_clwt_PlaceOfIncorporation', window );">Place of incorporation</a></td>
<td class="text">The PRC<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentDescriptionOfPrincipalActivities', window );">Principal activities</a></td>
<td class="text">Manufacturing of analytical and testing equipment<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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=clwt_EuroTechTradingsLimitedMember', window );">Euro Tech Trading (Shanghai) Limited</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_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Percentage of equity ownership</a></td>
<td class="nump">100.00%<span></span>
</td>
<td class="nump">100.00%<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_clwt_PlaceOfIncorporation', window );">Place of incorporation</a></td>
<td class="text">The PRC<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentDescriptionOfPrincipalActivities', window );">Principal activities</a></td>
<td class="text">Inactive<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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=clwt_EuroTechFarEastsLimitedMember', window );">Euro Tech (Far East) Limited</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_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Percentage of equity ownership</a></td>
<td class="nump">100.00%<span></span>
</td>
<td class="nump">100.00%<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_clwt_PlaceOfIncorporation', window );">Place of incorporation</a></td>
<td class="text">Hong Kong<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentDescriptionOfPrincipalActivities', window );">Principal activities</a></td>
<td class="text">Marketing and trading of water and waste water related process control, analytical and testing instruments, disinfection equipment, supplies and related automation systems<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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=clwt_PactAsiaPacificLimitedsMember', window );">Pact Asia Pacific Limited</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_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Percentage of equity ownership</a></td>
<td class="nump">58.00%<span></span>
</td>
<td class="nump">58.00%<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_clwt_PlaceOfIncorporation', window );">Place of incorporation</a></td>
<td class="text">The British Virgin Islands<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentDescriptionOfPrincipalActivities', window );">Principal activities</a></td>
<td class="text">Sale of environmental protection equipment, undertaking environment protection projects and providing relevant technology advice, training and services<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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=clwt_YixingPactEnvironmentalsMember', window );">Yixing Pact Environmental Technology Co., Ltd</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_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Percentage of equity ownership</a></td>
<td class="nump">58.00%<span></span>
</td>
<td class="nump">58.00%<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_clwt_PlaceOfIncorporation', window );">Place of incorporation</a></td>
<td class="text">The PRC<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentDescriptionOfPrincipalActivities', window );">Principal activities</a></td>
<td class="text">Design, manufacturing and operation of water and wastewater treatment and water desalination machinery and equipment<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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=clwt_PactEnvironmentalTechnologyPteLtdMember', window );">PACT Environmental Technology Pte. Ltd</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_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Percentage of equity ownership</a></td>
<td class="nump">58.00%<span></span>
</td>
<td class="nump">0.00%<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_clwt_PlaceOfIncorporation', window );">Place of incorporation</a></td>
<td class="text">Singapore<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentDescriptionOfPrincipalActivities', window );">Principal activities</a></td>
<td class="text">Marketing and provision of after sales services of ballast water treatment systems and customized industrial wastewater solutions, equipment fabrication<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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=clwt_ZhejiangTianlanEnvironmentalProtectionTechnologyCoLtdMember', window );">Zhejiang Tianlan Environmental Protection Technology Co. Ltd ("Blue Sky")</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_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Percentage of equity ownership</a></td>
<td class="nump">19.40%<span></span>
</td>
<td class="nump">19.40%<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_clwt_PlaceOfIncorporation', window );">Place of incorporation</a></td>
<td class="text">The PRC<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentDescriptionOfPrincipalActivities', window );">Principal activities</a></td>
<td class="text">Design, general contract, equipment manufacturing, installation, testing and operation management of the treatment of waste gases emitted<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_ConsolidatedEntitiesAxis=clwt_ZhejiangTianlanMember', window );">ZHEJIANG TIANLAN | Hangzhou Zhongyi Ecological And Environmental Consulting Company Limited Member</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Percentage of equity ownership</a></td>
<td class="nump">40.10%<span></span>
</td>
<td class="nump">40.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_clwt_PlaceOfIncorporation', window );">Place of incorporation</a></td>
<td class="text">PRC<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentDescriptionOfPrincipalActivities', window );">Principal activities</a></td>
<td class="text">Consultation services of environmental protection projects<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_ConsolidatedEntitiesAxis=clwt_ZhejiangTianlanMember', window );">ZHEJIANG TIANLAN | Xuancheng Lanjing Environmental Protection Equipment Co., Ltd</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_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Percentage of equity ownership</a></td>
<td class="nump">19.51%<span></span>
</td>
<td class="nump">0.00%<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_clwt_PlaceOfIncorporation', window );">Place of incorporation</a></td>
<td class="text">PRC<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentDescriptionOfPrincipalActivities', window );">Principal activities</a></td>
<td class="text">Manufacturing and installation services of environmental protection equipment<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsidiarySaleOfStockAxis=clwt_ZhejiangTianlanEnvironmentalProtectionEngineeringsMember', window );">Zhejiang Tianlan Environmental Protection Engineering Company Limited | ZHEJIANG TIANLAN</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_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Percentage of equity ownership</a></td>
<td class="nump">100.00%<span></span>
</td>
<td class="nump">100.00%<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_clwt_PlaceOfIncorporation', window );">Place of incorporation</a></td>
<td class="text">PRC<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentDescriptionOfPrincipalActivities', window );">Principal activities</a></td>
<td class="text">Design, general contract, installation and operating management of environmental protection projects<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsidiarySaleOfStockAxis=clwt_HangzhouTianlanEnvironmenstalProtectionEquipmentCompanyLimitedMember', window );">Hangzhou Tianlan Environmental Protection Equipment Company Limited | ZHEJIANG TIANLAN</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_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Percentage of equity ownership</a></td>
<td class="nump">51.00%<span></span>
</td>
<td class="nump">51.00%<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_clwt_PlaceOfIncorporation', window );">Place of incorporation</a></td>
<td class="text">PRC<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentDescriptionOfPrincipalActivities', window );">Principal activities</a></td>
<td class="text">Manufacturing and installation services of environmental protection equipment<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsidiarySaleOfStockAxis=clwt_HangzhouTianlanPureEnvironmentalProtectionTechnologyCompanysLimitedMember', window );">Hangzhou Tianlan Pure Environmental Protection Technology Company Limited | ZHEJIANG TIANLAN</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_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Percentage of equity ownership</a></td>
<td class="nump">38.25%<span></span>
</td>
<td class="nump">38.25%<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_clwt_PlaceOfIncorporation', window );">Place of incorporation</a></td>
<td class="text">PRC<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentDescriptionOfPrincipalActivities', window );">Principal activities</a></td>
<td class="text">Manufacturing of environmental protection equipment<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsidiarySaleOfStockAxis=clwt_HangzhouTiancanEnvironmentalTechnologyCompanysLimitedMember', window );">Hangzhou Tiancan Environmental Technology Company Limited | ZHEJIANG TIANLAN</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_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions', window );">Percentage of equity ownership</a></td>
<td class="nump">80.00%<span></span>
</td>
<td class="nump">80.00%<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_clwt_PlaceOfIncorporation', window );">Place of incorporation</a></td>
<td class="text">PRC<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentDescriptionOfPrincipalActivities', window );">Principal activities</a></td>
<td class="text">Manufacturing of environmental protection equipment<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_clwt_PlaceOfIncorporation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_PlaceOfIncorporation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</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_EquityMethodInvestmentDescriptionOfPrincipalActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 description of the principal activities of an investee accounted for under the equity method.</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_EquityMethodInvestmentDescriptionOfPrincipalActivities</td>
</tr>
<tr>
<td style="padding-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_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 subsidiary's or equity method investee's stock owned by parent immediately after all stock transactions.</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_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions</td>
</tr>
<tr>
<td style="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_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=clwt_ShanghaiEuroTechsLimitedMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=clwt_ShanghaiEuroTechsLimitedMember</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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=clwt_EuroTechTradingsLimitedMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=clwt_EuroTechTradingsLimitedMember</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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=clwt_EuroTechFarEastsLimitedMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=clwt_EuroTechFarEastsLimitedMember</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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=clwt_PactAsiaPacificLimitedsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=clwt_PactAsiaPacificLimitedsMember</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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=clwt_YixingPactEnvironmentalsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=clwt_YixingPactEnvironmentalsMember</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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=clwt_PactEnvironmentalTechnologyPteLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=clwt_PactEnvironmentalTechnologyPteLtdMember</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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=clwt_ZhejiangTianlanEnvironmentalProtectionTechnologyCoLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=clwt_ZhejiangTianlanEnvironmentalProtectionTechnologyCoLtdMember</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_ConsolidatedEntitiesAxis=clwt_ZhejiangTianlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=clwt_ZhejiangTianlanMember</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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=clwt_HangzhouZhongyiEcologicalAndEnvironmentalConsultingCompanyLimitedMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=clwt_HangzhouZhongyiEcologicalAndEnvironmentalConsultingCompanyLimitedMember</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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=clwt_XuanchengLanjingEnvironmentalProtectionEquipmentCoLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=clwt_XuanchengLanjingEnvironmentalProtectionEquipmentCoLtdMember</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_SubsidiarySaleOfStockAxis=clwt_ZhejiangTianlanEnvironmentalProtectionEngineeringsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsidiarySaleOfStockAxis=clwt_ZhejiangTianlanEnvironmentalProtectionEngineeringsMember</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_SubsidiarySaleOfStockAxis=clwt_HangzhouTianlanEnvironmenstalProtectionEquipmentCompanyLimitedMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsidiarySaleOfStockAxis=clwt_HangzhouTianlanEnvironmenstalProtectionEquipmentCompanyLimitedMember</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_SubsidiarySaleOfStockAxis=clwt_HangzhouTianlanPureEnvironmentalProtectionTechnologyCompanysLimitedMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsidiarySaleOfStockAxis=clwt_HangzhouTianlanPureEnvironmentalProtectionTechnologyCompanysLimitedMember</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_SubsidiarySaleOfStockAxis=clwt_HangzhouTiancanEnvironmentalTechnologyCompanysLimitedMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsidiarySaleOfStockAxis=clwt_HangzhouTiancanEnvironmentalTechnologyCompanysLimitedMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>81
<FILENAME>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="2"><div style="width: 200px;"><strong>Summary of significant accounting policies (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<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_AccountingPoliciesAbstract', window );"><strong>Summary of significant accounting policies</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_RevenueRemainingPerformanceObligation', window );">Contract revenue on uncompleted contracts as beginning balance</a></td>
<td class="nump">$ 4,022<span></span>
</td>
<td class="nump">$ 523<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_clwt_NewContractRevenueAwardsDuringTheYear', window );">New contract awards during the year</a></td>
<td class="nump">5,621<span></span>
</td>
<td class="nump">9,044<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_clwt_ContractRevenueAdjustment', window );">Contract adjustment</a></td>
<td class="nump">30<span></span>
</td>
<td class="nump">252<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_clwt_ContractRevenueRecognizedForTheYear', window );">Contract revenue recognized for the year</a></td>
<td class="num">(5,834)<span></span>
</td>
<td class="num">(5,797)<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_clwt_BacklogRevenueRemainingPerformanceObligation', window );">Backlog as ending balance</a></td>
<td class="nump">$ 3,839<span></span>
</td>
<td class="nump">$ 4,022<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_clwt_BacklogRevenueRemainingPerformanceObligation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_BacklogRevenueRemainingPerformanceObligation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_ContractRevenueAdjustment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_ContractRevenueAdjustment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_ContractRevenueRecognizedForTheYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_ContractRevenueRecognizedForTheYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_NewContractRevenueAwardsDuringTheYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_NewContractRevenueAwardsDuringTheYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_RevenueRemainingPerformanceObligation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of transaction price allocated to performance obligation that has not been recognized as revenue.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 606<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>82
<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>Summary of significant accounting policies (Details 1)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember', window );">Leasehold Improvements</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_clwt_PublicUtilitiesPropertyPlantAndEquipmentLeaseholdImprovementsFuelUsefulLife', window );">Property, plant and equipment useful lives</a></td>
<td class="text">Over terms of the leases or the useful lives whichever is less<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_VehiclesMember', window );">Motor Vehicles</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_PublicUtilitiesPropertyPlantAndEquipmentFuelUsefulLife', window );">Property, plant and equipment useful lives</a></td>
<td class="text">4 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_VehiclesMember', window );">Motor Vehicles | ZHEJIANG TIANLAN</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_clwt_PublicUtilitiesPropertyPlantAndEquipmentLeaseholdImprovementsFuelUsefulLife', window );">Property, plant and equipment useful lives</a></td>
<td class="text">5 years, with 5% residual value<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_OtherMachineryAndEquipmentMember', window );">Testing Equipment</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_PublicUtilitiesPropertyPlantAndEquipmentFuelUsefulLife', window );">Property, plant and equipment useful lives</a></td>
<td class="text">3 years<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=clwt_OfficerPremisesMember', window );">Office Premises | Bottoms</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_PublicUtilitiesPropertyPlantAndEquipmentFuelUsefulLife', window );">Property, plant and equipment useful lives</a></td>
<td class="text">47 years<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=clwt_OfficePremisesMember', window );">Office Premises | Tops</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_PublicUtilitiesPropertyPlantAndEquipmentFuelUsefulLife', window );">Property, plant and equipment useful lives</a></td>
<td class="text">51 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember', window );">Furniture, Fixtures and Office Equipment | ZHEJIANG TIANLAN</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_clwt_PublicUtilitiesPropertyPlantAndEquipmentLeaseholdImprovementsFuelUsefulLife', window );">Property, plant and equipment useful lives</a></td>
<td class="text">5 years, with 5% residual value<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember', window );">Furniture, Fixtures and Office Equipment | Bottoms</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_PublicUtilitiesPropertyPlantAndEquipmentFuelUsefulLife', window );">Property, plant and equipment useful lives</a></td>
<td class="text">3 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember', window );">Furniture, Fixtures and Office Equipment | Tops</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_PublicUtilitiesPropertyPlantAndEquipmentFuelUsefulLife', window );">Property, plant and equipment useful lives</a></td>
<td class="text">5 years<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=clwt_LandUseRightMember', window );">Land Use Right | ZHEJIANG TIANLAN</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_clwt_PublicUtilitiesPropertyPlantAndEquipmentLeaseholdImprovementsFuelUsefulLife', window );">Property, plant and equipment useful lives</a></td>
<td class="text">Over terms of the leases<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=clwt_PlantAndMachineriesMember', window );">Plant and Machineries | ZHEJIANG TIANLAN</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_clwt_PublicUtilitiesPropertyPlantAndEquipmentLeaseholdImprovementsFuelUsefulLife', window );">Property, plant and equipment useful lives</a></td>
<td class="text">5 to 10 years, with 5% residual value<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingAndBuildingImprovementsMember', window );">Buildings and Leasehold Improvements | ZHEJIANG TIANLAN</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_clwt_PublicUtilitiesPropertyPlantAndEquipmentLeaseholdImprovementsFuelUsefulLife', window );">Property, plant and equipment useful lives</a></td>
<td class="text">11 to 50 years, with 5% residual value<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_clwt_PublicUtilitiesPropertyPlantAndEquipmentLeaseholdImprovementsFuelUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_PublicUtilitiesPropertyPlantAndEquipmentLeaseholdImprovementsFuelUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</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_PublicUtilitiesPropertyPlantAndEquipmentFuelUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 assets related to fuels owned by public utility, 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_PublicUtilitiesPropertyPlantAndEquipmentFuelUsefulLife</td>
</tr>
<tr>
<td style="padding-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_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_VehiclesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_VehiclesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember</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_OtherMachineryAndEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_OtherMachineryAndEquipmentMember</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=clwt_OfficerPremisesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=clwt_OfficerPremisesMember</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=clwt_BottomsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=clwt_BottomsMember</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=clwt_OfficePremisesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=clwt_OfficePremisesMember</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=clwt_TopsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=clwt_TopsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=clwt_LandUseRightMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=clwt_LandUseRightMember</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=clwt_PlantAndMachineriesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=clwt_PlantAndMachineriesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingAndBuildingImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingAndBuildingImprovementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>83
<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>Summary of significant accounting policies (Details Narrative)<br></strong></div></th>
<th class="th" colspan="6">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>USD ($) </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($) </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Mar. 03, 2021 </div>
<div>shares</div>
</th>
<th class="th">
<div>Oct. 08, 2019 </div>
<div>shares</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpense', window );">Research and development costs</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="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_MarketingAndAdvertisingExpense', window );">Advertising and promotional expenses</a></td>
<td class="nump">$ 41,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 29,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 9,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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, issued | shares</a></td>
<td class="nump">7,899,832<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,899,832<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,061,900<span></span>
</td>
<td class="nump">1,030,950<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_clwt_ContractWithCustomerRemainingPerformanceObligation', window );">Remaining performance obligation</a></td>
<td class="nump">$ 4,022,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3,839,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>
</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_clwt_RevenueFromContractWithCustomerIncreaseDecrease', window );">Revenue from Contract with Customer, Increase (Decrease)</a></td>
<td class="nump">$ 183,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>
<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_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember', window );">Revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_clwt_ConcentrationPercentage', window );">Concentration percentage</a></td>
<td class="nump">47.00%<span></span>
</td>
<td class="nump">47.00%<span></span>
</td>
<td class="nump">41.00%<span></span>
</td>
<td class="nump">41.00%<span></span>
</td>
<td class="nump">33.00%<span></span>
</td>
<td class="nump">33.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_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember', window );">ZHEJIANG TIANLAN</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpense', window );">Research and development costs | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 27,371,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 20,452,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 29,115,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ImpairmentOfLongLivedAssetsHeldForUse', window );">Impairment of long-lived assets</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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, issued | shares</a></td>
<td class="nump">82,572,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">82,572,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>
</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_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember', window );">ZHEJIANG TIANLAN | Revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_clwt_ConcentrationPercentage', window );">Concentration percentage</a></td>
<td class="nump">42.00%<span></span>
</td>
<td class="nump">42.00%<span></span>
</td>
<td class="nump">38.00%<span></span>
</td>
<td class="nump">38.00%<span></span>
</td>
<td class="nump">35.00%<span></span>
</td>
<td class="nump">35.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_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember', window );">ZHEJIANG TIANLAN | Revenue | Customer One</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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_clwt_ConcentrationPercentage', window );">Concentration percentage</a></td>
<td class="nump">16.00%<span></span>
</td>
<td class="nump">16.00%<span></span>
</td>
<td class="nump">22.00%<span></span>
</td>
<td class="nump">22.00%<span></span>
</td>
<td class="nump">14.00%<span></span>
</td>
<td class="nump">14.00%<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_clwt_ConcentrationPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_ConcentrationPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num: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_clwt_ContractWithCustomerRemainingPerformanceObligation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_ContractWithCustomerRemainingPerformanceObligation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_RevenueFromContractWithCustomerIncreaseDecrease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_RevenueFromContractWithCustomerIncreaseDecrease</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_ImpairmentOfLongLivedAssetsHeldForUse">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate amount of write-downs for impairments recognized during the period for long lived assets held for use (including those held for disposal by means other than sale).</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 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 100<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482078/820-10-55-100<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-2<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482130/360-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ImpairmentOfLongLivedAssetsHeldForUse</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_MarketingAndAdvertisingExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 total expense recognized in the period for promotion, public relations, and brand or product advertising.</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_MarketingAndAdvertisingExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ResearchAndDevelopmentExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for research and development. Includes, but is not limited to, cost for computer software product to be sold, leased, or otherwise marketed and writeoff of research and development assets acquired in transaction other than business combination or joint venture formation or both. Excludes write-down of intangible asset acquired in business combination or from joint venture formation or both, used in research and development activity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 730<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482916/730-10-50-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 912<br> -SubTopic 730<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479532/912-730-25-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember</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=clwt_CustomerOneMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=clwt_CustomerOneMember</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>84
<FILENAME>R67.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.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 information (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingAbstract', window );"><strong>Segment information</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_Assets', window );">Assets</a></td>
<td class="nump">$ 20,708<span></span>
</td>
<td class="nump">$ 22,120<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<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 );">Liabilities</a></td>
<td class="nump">4,014<span></span>
</td>
<td class="nump">5,640<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Revenue</a></td>
<td class="nump">15,383<span></span>
</td>
<td class="nump">17,940<span></span>
</td>
<td class="nump">$ 14,949<span></span>
</td>
</tr>
<tr class="re">
<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 );">Operating income / (loss)</a></td>
<td class="nump">386<span></span>
</td>
<td class="num">(249)<span></span>
</td>
<td class="nump">114<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation</a></td>
<td class="nump">14<span></span>
</td>
<td class="nump">15<span></span>
</td>
<td class="nump">33<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_clwt_CapitalExpendituresGross', window );">Capital expenditures, gross</a></td>
<td class="nump">5<span></span>
</td>
<td class="nump">5<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_srt_ProductOrServiceAxis=clwt_TradingsAndManufacturingMember', window );">Trading and Manufacturing</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_SegmentReportingAbstract', window );"><strong>Segment information</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_Assets', window );">Assets</a></td>
<td class="nump">6,668<span></span>
</td>
<td class="nump">8,229<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Liabilities', window );">Liabilities</a></td>
<td class="nump">2,155<span></span>
</td>
<td class="nump">3,605<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Revenue</a></td>
<td class="nump">9,549<span></span>
</td>
<td class="nump">12,143<span></span>
</td>
<td class="nump">9,332<span></span>
</td>
</tr>
<tr class="re">
<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 );">Operating income / (loss)</a></td>
<td class="nump">278<span></span>
</td>
<td class="nump">377<span></span>
</td>
<td class="num">(246)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation</a></td>
<td class="nump">11<span></span>
</td>
<td class="nump">11<span></span>
</td>
<td class="nump">28<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_clwt_CapitalExpendituresGross', window );">Capital expenditures, gross</a></td>
<td class="nump">3<span></span>
</td>
<td class="nump">3<span></span>
</td>
<td class="nump">2<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=clwt_EngineeringsMember', window );">Engineering</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_SegmentReportingAbstract', window );"><strong>Segment information</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_Assets', window );">Assets</a></td>
<td class="nump">14,040<span></span>
</td>
<td class="nump">13,891<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<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 );">Liabilities</a></td>
<td class="nump">1,859<span></span>
</td>
<td class="nump">2,035<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Revenue</a></td>
<td class="nump">5,834<span></span>
</td>
<td class="nump">5,797<span></span>
</td>
<td class="nump">5,617<span></span>
</td>
</tr>
<tr class="re">
<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 );">Operating income / (loss)</a></td>
<td class="nump">273<span></span>
</td>
<td class="num">(438)<span></span>
</td>
<td class="nump">590<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation</a></td>
<td class="nump">3<span></span>
</td>
<td class="nump">4<span></span>
</td>
<td class="nump">5<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_clwt_CapitalExpendituresGross', window );">Capital expenditures, gross</a></td>
<td class="nump">2<span></span>
</td>
<td class="nump">2<span></span>
</td>
<td class="nump">5<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=clwt_UnallocatedCorporateExpensessMember', window );">Unallocated Corporate Expenses</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_OperatingIncomeLoss', window );">Operating income / (loss)</a></td>
<td class="num">$ (165)<span></span>
</td>
<td class="num">$ (188)<span></span>
</td>
<td class="num">$ (230)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_clwt_CapitalExpendituresGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_CapitalExpendituresGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_Depreciation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Depreciation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_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_Revenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/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 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<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 (b)<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 (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 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 8: 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 9: 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 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/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 21: 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 22: 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 23: 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 24: 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 25: 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 26: 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(1))<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_Revenues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_srt_ProductOrServiceAxis=clwt_TradingsAndManufacturingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=clwt_TradingsAndManufacturingMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=clwt_EngineeringsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=clwt_EngineeringsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=clwt_UnallocatedCorporateExpensessMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=clwt_UnallocatedCorporateExpensessMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>85
<FILENAME>R68.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.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 information (Details 1) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Revenues', window );">Revenue</a></td>
<td class="nump">$ 15,383<span></span>
</td>
<td class="nump">$ 17,940<span></span>
</td>
<td class="nump">$ 14,949<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_clwt_GeographicalAnalysisOfLonglivedAssets', window );">Geographical analysis of long-lived assets</a></td>
<td class="nump">159<span></span>
</td>
<td class="nump">168<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_StatementBusinessSegmentsAxis=clwt_ThePRCsMember', window );">The PRC</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_Revenues', window );">Revenue</a></td>
<td class="nump">6,398<span></span>
</td>
<td class="nump">7,125<span></span>
</td>
<td class="nump">5,878<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_clwt_GeographicalAnalysisOfLonglivedAssets', window );">Geographical analysis of long-lived assets</a></td>
<td class="nump">154<span></span>
</td>
<td class="nump">162<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_StatementBusinessSegmentsAxis=clwt_HongKongsMember', window );">Hong Kong</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_Revenues', window );">Revenue</a></td>
<td class="nump">6,745<span></span>
</td>
<td class="nump">9,879<span></span>
</td>
<td class="nump">7,174<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_clwt_GeographicalAnalysisOfLonglivedAssets', window );">Geographical analysis of long-lived assets</a></td>
<td class="nump">5<span></span>
</td>
<td class="nump">6<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_StatementBusinessSegmentsAxis=clwt_OthersGeographicAreaMember', window );">Others</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_Revenues', window );">Revenue</a></td>
<td class="nump">$ 2,240<span></span>
</td>
<td class="nump">$ 936<span></span>
</td>
<td class="nump">$ 1,897<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_clwt_GeographicalAnalysisOfLonglivedAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_GeographicalAnalysisOfLonglivedAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_Revenues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/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 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<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 (b)<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 (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 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 8: 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 9: 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 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/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 21: 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 22: 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 23: 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 24: 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 25: 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 26: 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(1))<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_Revenues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_StatementBusinessSegmentsAxis=clwt_ThePRCsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=clwt_ThePRCsMember</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=clwt_HongKongsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=clwt_HongKongsMember</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=clwt_OthersGeographicAreaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=clwt_OthersGeographicAreaMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>86
<FILENAME>R69.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.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 information (Details 2)<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=clwt_SuppliersAMember', window );">Supplier A</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_ConcentrationRiskSupplier', window );">Supplier accounting for more than 5% of Group's purchases</a></td>
<td class="text">36<span></span>
</td>
<td class="text">23<span></span>
</td>
<td class="text">21<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=clwt_SuppliersBMember', window );">Supplier B</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_ConcentrationRiskSupplier', window );">Supplier accounting for more than 5% of Group's purchases</a></td>
<td class="text">26<span></span>
</td>
<td class="text">42<span></span>
</td>
<td class="text">33<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=clwt_SuppliersCMember', window );">Supplier C</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_ConcentrationRiskSupplier', window );">Supplier accounting for more than 5% of Group's purchases</a></td>
<td class="text">8<span></span>
</td>
<td class="text">7<span></span>
</td>
<td class="text">6<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=clwt_SuppliersDMember', window );">Supplier D</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_ConcentrationRiskSupplier', window );">Supplier accounting for more than 5% of Group's purchases</a></td>
<td class="text">5<span></span>
</td>
<td class="text">5<span></span>
</td>
<td class="text">5<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=clwt_SuppliersEMember', window );">Supplier E</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_ConcentrationRiskSupplier', window );">Supplier accounting for more than 5% of Group's purchases</a></td>
<td class="text">0<span></span>
</td>
<td class="text">0<span></span>
</td>
<td class="text">5<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=clwt_SuppliersFMember', window );">Supplier F</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_ConcentrationRiskSupplier', window );">Supplier accounting for more than 5% of Group's purchases</a></td>
<td class="text">0<span></span>
</td>
<td class="text">0<span></span>
</td>
<td class="text">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_ConcentrationRiskSupplier">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 risks that arise due to the volume of business transacted with a particular supplier or reliance placed on that supplier. At a minimum, the description informs financial statement users of the general nature of the 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> -Topic 275<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/2147482861/275-10-50-18<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 20<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-20<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-16<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 55<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482836/275-10-55-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskSupplier</td>
</tr>
<tr>
<td style="padding-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=clwt_SuppliersAMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=clwt_SuppliersAMember</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=clwt_SuppliersBMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=clwt_SuppliersBMember</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=clwt_SuppliersCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=clwt_SuppliersCMember</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=clwt_SuppliersDMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=clwt_SuppliersDMember</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=clwt_SuppliersEMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=clwt_SuppliersEMember</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=clwt_SuppliersFMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=clwt_SuppliersFMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>87
<FILENAME>R70.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.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 information (Details 3)<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=clwt_CustomerDMember', window );">Customer D</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_ConcentrationRiskCustomer', window );">Customers accounting for more than 5% of the Group's revenue</a></td>
<td class="text">6<span></span>
</td>
<td class="text">0<span></span>
</td>
<td class="text">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=clwt_CustomerEMember', window );">Customer E</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_ConcentrationRiskCustomer', window );">Customers accounting for more than 5% of the Group's revenue</a></td>
<td class="text">5<span></span>
</td>
<td class="text">0<span></span>
</td>
<td class="text">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=clwt_CustomersCMember', window );">Customer C</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_ConcentrationRiskCustomer', window );">Customers accounting for more than 5% of the Group's revenue</a></td>
<td class="text">9<span></span>
</td>
<td class="text">0<span></span>
</td>
<td class="text">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=clwt_CustomersBMember', window );">Customer B</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskCustomer', window );">Customers accounting for more than 5% of the Group's revenue</a></td>
<td class="text">9<span></span>
</td>
<td class="text">14<span></span>
</td>
<td class="text">18<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=clwt_CustomersAMember', window );">Customer A</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskCustomer', window );">Customers accounting for more than 5% of the Group's revenue</a></td>
<td class="text">13<span></span>
</td>
<td class="text">10<span></span>
</td>
<td class="text">9<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=clwt_CustomerFMember', window );">Customer F</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_ConcentrationRiskCustomer', window );">Customers accounting for more than 5% of the Group's revenue</a></td>
<td class="text">5<span></span>
</td>
<td class="text">0<span></span>
</td>
<td class="text">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=clwt_CustomerGMember', window );">Customer G</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_ConcentrationRiskCustomer', window );">Customers accounting for more than 5% of the Group's revenue</a></td>
<td class="text">0<span></span>
</td>
<td class="text">7<span></span>
</td>
<td class="text">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=clwt_CustomerHMember', window );">Customer H</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_ConcentrationRiskCustomer', window );">Customers accounting for more than 5% of the Group's revenue</a></td>
<td class="text">0<span></span>
</td>
<td class="text">5<span></span>
</td>
<td class="text">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=clwt_CustomerIMember', window );">Customer I</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_ConcentrationRiskCustomer', window );">Customers accounting for more than 5% of the Group's revenue</a></td>
<td class="text">0<span></span>
</td>
<td class="text">5<span></span>
</td>
<td class="text">6<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskCustomer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 risks that arise due to the volume of business transacted with a particular customer. At a minimum, the description informs financial statement users of the general nature of the risk, but excludes "Information about Major Customers" that may be disclosed elsewhere (for instance, segment disclosures).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 275<br> -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/2147482861/275-10-50-18<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 20<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-20<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-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_ConcentrationRiskCustomer</td>
</tr>
<tr>
<td style="padding-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=clwt_CustomerDMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=clwt_CustomerDMember</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=clwt_CustomerEMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=clwt_CustomerEMember</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=clwt_CustomersCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=clwt_CustomersCMember</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=clwt_CustomersBMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=clwt_CustomersBMember</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=clwt_CustomersAMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=clwt_CustomersAMember</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=clwt_CustomerFMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=clwt_CustomerFMember</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=clwt_CustomerGMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=clwt_CustomerGMember</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=clwt_CustomerHMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=clwt_CustomerHMember</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=clwt_CustomerIMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=clwt_CustomerIMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>88
<FILENAME>R71.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.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>Lease obligations (Details)<br> &#165; in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>CNY (&#165;)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseCost', window );">Operating lease cost</a></td>
<td class="nump">$ 187<span></span>
</td>
<td class="nump">$ 76<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermLeaseCost', window );">Short-term lease cost</a></td>
<td class="nump">8<span></span>
</td>
<td class="nump">220<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeaseCost', window );">Total lease cost</a></td>
<td class="nump">195<span></span>
</td>
<td class="nump">$ 296<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_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember', window );">ZHEJIANG TIANLAN</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_FinanceLeaseInterestExpense', window );">Interest on lease liabilities included under cost of revenue and selling and administrative expenses</a></td>
<td class="nump">141<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 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_FinanceLeaseRightOfUseAssetAmortization', window );">Amortization of right-of-use assets</a></td>
<td class="nump">16<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_TotalOperatingLeaseCost', window );">Total operating lease cost</a></td>
<td class="nump">$ 157<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_clwt_TotalOperatingLeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_TotalOperatingLeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FinanceLeaseInterestExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of interest expense on finance lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseInterestExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinanceLeaseRightOfUseAssetAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense attributable to right-of-use asset from finance lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinanceLeaseRightOfUseAssetAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_LeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lease cost recognized by lessee for lease contract.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShortTermLeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of short-term lease cost, excluding expense for lease with term of one month or less.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermLeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember</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>89
<FILENAME>R72.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.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>Lease obligations (Details 1)<br> &#165; in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>CNY (&#165;)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeasePayments', window );">Operating cash flows from operating leases</a></td>
<td class="nump">$ 173<span></span>
</td>
<td class="nump">$ 285<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability', window );">Right-of-use assets obtained in exchange for lease obligations (noncash):</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">$ 0<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_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember', window );">ZHEJIANG TIANLAN</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_clwt_FinanceLeasePayments', window );">Finance cash flows from finance leases</a></td>
<td class="nump">440<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 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_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability', window );">Right-of-use assets obtained in exchange for lease obligations (noncash):</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_clwt_FinanceLeasePayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_FinanceLeasePayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in right-of-use asset obtained in exchange for operating lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember</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>90
<FILENAME>R73.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.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>Lease obligations (Details 2)<br> &#165; in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>CNY (&#165;)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Operating lease right-of-use assets</a></td>
<td class="nump">$ 101<span></span>
</td>
<td class="nump">$ 233<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_OperatingLeaseLiabilityCurrent', window );">Current portion of long-term operating lease obligations</a></td>
<td class="nump">83<span></span>
</td>
<td class="nump">170<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_OperatingLeaseLiabilityNoncurrent', window );">Long-term operating lease obligations, net of current maturities</a></td>
<td class="nump">9<span></span>
</td>
<td class="nump">44<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_OperatingLeaseLiability', window );">Total operating lease liabilities</a></td>
<td class="nump">$ 92<span></span>
</td>
<td class="nump">$ 214<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_clwt_WeightedAverageRemainingLeaseTermOperatingLeases', window );">Weighted average remaining lease term : Operating leases</a></td>
<td class="text">3 months<span></span>
</td>
<td class="text">3 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_OperatingLeaseWeightedAverageDiscountRatePercent', window );">Weighted average discount rate : operating leases</a></td>
<td class="nump">5.00%<span></span>
</td>
<td class="nump">5.45%<span></span>
</td>
<td class="nump">5.00%<span></span>
</td>
<td class="nump">5.45%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Accumulated depreciation and impairment losses</a></td>
<td class="num">$ (1,092)<span></span>
</td>
<td class="num">$ (1,089)<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_PropertyPlantAndEquipmentNet', window );">Property, plant and equipment, net</a></td>
<td class="nump">159<span></span>
</td>
<td class="nump">168<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_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember', window );">ZHEJIANG TIANLAN</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_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Accumulated depreciation and impairment losses | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">&#165; (74,681)<span></span>
</td>
<td class="num">&#165; (68,506)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property, plant and equipment, net | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 57,738<span></span>
</td>
<td class="nump">63,505<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_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember', window );">ZHEJIANG TIANLAN | Lease obligations</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_OperatingLeaseRightOfUseAsset', window );">Operating lease right-of-use assets</a></td>
<td class="nump">2,529<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Current portion of long-term operating lease obligations</a></td>
<td class="nump">563<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_OperatingLeaseLiabilityNoncurrent', window );">Long-term operating lease obligations, net of current maturities</a></td>
<td class="nump">1,542<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_OperatingLeaseLiability', window );">Total operating lease liabilities</a></td>
<td class="nump">$ 2,105<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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_WeightedAverageRemainingLeaseTermOperatingLeases', window );">Weighted average remaining lease term : Operating leases</a></td>
<td class="text">33 months<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent', window );">Weighted average discount rate : operating leases</a></td>
<td class="nump">3.60%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3.60%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Accumulated depreciation and impairment losses</a></td>
<td class="num">$ (141)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_PropertyPlantAndEquipmentNet', window );">Property, plant and equipment, net</a></td>
<td class="nump">$ 2,388<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_clwt_WeightedAverageRemainingLeaseTermOperatingLeases">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_WeightedAverageRemainingLeaseTermOperatingLeases</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</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_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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>
<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_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_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_srt_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember</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=clwt_LeaseObligationsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=clwt_LeaseObligationsMember</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>91
<FILENAME>R74.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.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>Lease obligations (Details 3) - USD ($)<br> $ in Thousands</strong></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_LeasesAbstract', window );"><strong>Lease 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_OperatingLeasesFutureMinimumPaymentsDueCurrent', window );">Year ending December 31, 2025</a></td>
<td class="nump">$ 77<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears', window );">2026</a></td>
<td class="nump">17<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeasesFutureMinimumPaymentsDue', window );">Total lease payments</a></td>
<td class="nump">94<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount', window );">Less: imputed interest</a></td>
<td class="num">(2)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Total</a></td>
<td class="nump">$ 92<span></span>
</td>
<td class="nump">$ 214<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_OperatingLeasesFutureMinimumPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 required minimum rental payments for leases having an initial or remaining non-cancelable letter-terms in excess of one year.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 840<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Subparagraph (Note 3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481418/840-10-55-40<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 840<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481501/840-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_OperatingLeasesFutureMinimumPaymentsDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_OperatingLeasesFutureMinimumPaymentsDueCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 required minimum rental payments for operating leases having an initial or remaining non-cancelable lease term in excess of one year due in the next fiscal year following the latest fiscal year. 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>Reference 1: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 840<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Subparagraph (Note 3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481418/840-10-55-40<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 840<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481501/840-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_OperatingLeasesFutureMinimumPaymentsDueCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_OperatingLeasesFutureMinimumPaymentsDueInTwoYears">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 required minimum rental payments for operating leases having an initial or remaining non-cancelable lease term in excess of one year due in the second fiscal year following the latest fiscal year. 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>Reference 1: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 840<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Subparagraph (Note 3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481418/840-10-55-40<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 840<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481501/840-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_OperatingLeasesFutureMinimumPaymentsDueInTwoYears</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>92
<FILENAME>R75.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.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>Lease obligations (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<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_LeasesAbstract', window );"><strong>Lease 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_AmortizationOfLeasedAsset', window );">Amortization expenses</a></td>
<td class="nump">$ 164,000<span></span>
</td>
<td class="nump">$ 160,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_AmortizationOfLeasedAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 expense charged against earnings for the periodic recognition of capitalized leases. This element may apply to energy companies that lease mineral producing properties and to other enterprises that capitalize property, plant, or equipment obtained through capital leases.</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 840<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481192/840-30-45-3<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfLeasedAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>93
<FILENAME>R76.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.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 net (Details)<br> &#165; in Thousands, $ in Thousands</strong></div></th>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>CNY (&#165;)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetAbstract', window );"><strong>Accounts receivable net</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableGross', window );">Contract receivables | $</a></td>
<td class="nump">$ 1,386<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,864<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_AllowanceForDoubtfulAccountsReceivable', window );">Less: allowance for doubtful accounts | $</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (28)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNet', window );">Accounts receivable, net | $</a></td>
<td class="nump">$ 1,386<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,864<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_srt_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember', window );">ZHEJIANG TIANLAN</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetAbstract', window );"><strong>Accounts receivable net</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableGross', window );">Contract receivables | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 171,008<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 157,879<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_AllowanceForDoubtfulAccountsReceivable', window );">Less: allowance for doubtful accounts | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(35,952)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(29,644)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">&#165; (40,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_AccountsReceivableNet', window );">Accounts receivable, net | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 135,056<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 128,235<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_AccountsReceivableGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481990/310-10-45-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481990/310-10-45-13<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<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(3)(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_AccountsReceivableGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_AccountsReceivableNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477802/946-310-45-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(5)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 954<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479196/954-310-45-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(3))<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_AccountsReceivableNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_AccountsReceivableNetAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AccountsReceivableNetAbstract</td>
</tr>
<tr>
<td style="padding-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_AllowanceForDoubtfulAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479344/326-20-45-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-4<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479319/326-20-50-13<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479319/326-20-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember</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>94
<FILENAME>R77.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.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 net (Details 1)<br> &#165; in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="4">12 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>CNY (&#165;)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivable', window );">Balance at beginning of period | $</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 28<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Less: write-off of doubtful accounts | $</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(28)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivable', window );">Balance at end of period | $</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember', window );">ZHEJIANG TIANLAN</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_AllowanceForDoubtfulAccountsReceivable', window );">Balance at beginning of period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 29,644<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 40,019<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivablePeriodIncreaseDecrease', window );">Add: provision for allowances</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,304<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,376<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_clwt_ReversalOfProvisionForDoubtfulAccounts', window );">Less: reversal of provision for doubtful accounts</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(677)<span></span>
</td>
</tr>
<tr class="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 );">Less: write-off of doubtful accounts</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(20,074)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivable', window );">Balance at end of period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 35,952<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 29,644<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_clwt_ReversalOfProvisionForDoubtfulAccounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_ReversalOfProvisionForDoubtfulAccounts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AllowanceForDoubtfulAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479344/326-20-45-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-4<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479319/326-20-50-13<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479319/326-20-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForDoubtfulAccountsReceivablePeriodIncreaseDecrease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 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_AllowanceForDoubtfulAccountsReceivablePeriodIncreaseDecrease</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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_srt_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember</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>95
<FILENAME>R78.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.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 net (Details 2)<br> &#165; in Thousands, $ in Thousands</strong></div></th>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>CNY (&#165;)</div>
</th>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_AllowanceForDoubtfulAccountsReceivables', window );">Less: allowance for doubtful accounts</a></td>
<td class="num">$ (35,952)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (29,644)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNet', window );">Accounts receivable</a></td>
<td class="nump">1,386<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,864<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_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis=clwt_CurrentsMember', window );">Current</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_AccountsReceivableNet', window );">Accounts receivable</a></td>
<td class="nump">422<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,175<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_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis=clwt_OneMonthsPastDueMember', window );">1 - 30 Days Past Due</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_AccountsReceivableNet', window );">Accounts receivable</a></td>
<td class="nump">397<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">603<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_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis=clwt_OneToTwoMonthPastDueMember', window );">31 - 60 Days Past Due</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_AccountsReceivableNet', window );">Accounts receivable</a></td>
<td class="nump">224<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">548<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_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis=clwt_ThreeMonthPastDueMember', window );">61 - 90 Days Past Due</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_AccountsReceivableNet', window );">Accounts receivable</a></td>
<td class="nump">183<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">341<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_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis=clwt_MoreThanThreeMonthPastDueMember', window );">Greater Than or Equal to 91 Days</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_AccountsReceivableNet', window );">Accounts receivable</a></td>
<td class="nump">160<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">197<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_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis=clwt_PastDuesMember', window );">Past Due</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_AccountsReceivableNet', window );">Accounts receivable</a></td>
<td class="nump">964<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,689<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_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember', window );">ZHEJIANG TIANLAN</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_AccountsReceivableNet', window );">Accounts receivable | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 135,056<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 128,235<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_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember', window );">ZHEJIANG TIANLAN | Within 1 year</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_AccountsReceivableNet', window );">Accounts receivable | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">100,254<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">121,658<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_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember', window );">ZHEJIANG TIANLAN | 1year - 2 years Member</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNet', window );">Accounts receivable | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">30,292<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">31,499<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_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember', window );">ZHEJIANG TIANLAN | 2years - 3 years Member</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNet', window );">Accounts receivable | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,701<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,140<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_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember', window );">ZHEJIANG TIANLAN | 3years - 4 years Member</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNet', window );">Accounts receivable | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,515<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">699<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember', window );">ZHEJIANG TIANLAN | 4years - 5 years Member</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNet', window );">Accounts receivable | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 456<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 883<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_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember', window );">ZHEJIANG TIANLAN | Over five Years</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_AccountsReceivableNet', window );">Accounts receivable</a></td>
<td class="nump">$ 25,790<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_clwt_AllowanceForDoubtfulAccountsReceivables">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_AllowanceForDoubtfulAccountsReceivables</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AccountsReceivableNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477802/946-310-45-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(5)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 954<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479196/954-310-45-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(3))<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_AccountsReceivableNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis=clwt_CurrentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis=clwt_CurrentsMember</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_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis=clwt_OneMonthsPastDueMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis=clwt_OneMonthsPastDueMember</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_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis=clwt_OneToTwoMonthPastDueMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis=clwt_OneToTwoMonthPastDueMember</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_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis=clwt_ThreeMonthPastDueMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis=clwt_ThreeMonthPastDueMember</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_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis=clwt_MoreThanThreeMonthPastDueMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis=clwt_MoreThanThreeMonthPastDueMember</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_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis=clwt_PastDuesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis=clwt_PastDuesMember</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_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember</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_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis=clwt_WithinOneYearMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis=clwt_WithinOneYearMember</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_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis=clwt_OneYearToTwoYearMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis=clwt_OneYearToTwoYearMember</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_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis=clwt_TwoYearToThreeYearMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis=clwt_TwoYearToThreeYearMember</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_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis=clwt_ThreeYearsToFourYearMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis=clwt_ThreeYearsToFourYearMember</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_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis=clwt_FourYearsToFiveYearsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis=clwt_FourYearsToFiveYearsMember</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_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis=clwt_OverfiveYearsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis=clwt_OverfiveYearsMember</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>96
<FILENAME>R79.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>Prepayments and other current assets (Details)<br> &#165; in Thousands, $ in Thousands</strong></div></th>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>CNY (&#165;)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DepositAssets', window );">Deposits paid</a></td>
<td class="nump">$ 78<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 40<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PrepaidExpenseCurrentAndNoncurrent', window );">Prepayments</a></td>
<td class="nump">70<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">68<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherReceivables', window );">Other receivables</a></td>
<td class="nump">118<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">134<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_clwt_IncomeTaxRecoverable', window );">Income tax recoverable</a></td>
<td class="nump">2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_OtherTaxRecoverable', window );">Other tax recoverable</a></td>
<td class="nump">3<span></span>
</td>
<td class="text">&#160;<span></span>
</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_PrepaidExpenseAndOtherAssets', window );">Prepayments and other current assets</a></td>
<td class="nump">$ 271<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 246<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_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember', window );">ZHEJIANG TIANLAN</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_PrepaidExpenseCurrentAndNoncurrent', window );">Prepayments | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 21,462<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 16,622<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_clwt_DepositsPaidForBiddingProjectsAndTemporaryPayments', window );">Deposits paid for bidding projects and temporary payments | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,610<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,257<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssetsCurrent', window );">Other current assets | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,716<span></span>
</td>
<td class="text">&#160;<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_PrepaidExpenseAndOtherAssets', window );">Prepayments and other current assets | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 30,788<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 23,741<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_clwt_DepositsPaidForBiddingProjectsAndTemporaryPayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_DepositsPaidForBiddingProjectsAndTemporaryPayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_IncomeTaxRecoverable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_IncomeTaxRecoverable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_OtherTaxRecoverable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_OtherTaxRecoverable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DepositAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 of the asset transferred to a third party to serve as a deposit, which typically serves as security against failure by the transferor to perform under terms of an agreement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/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(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_DepositAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_OtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 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/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 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<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_OtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_OtherReceivables">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount due from parties in nontrade transactions, 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/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/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(5)(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(3))<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_OtherReceivables</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_PrepaidExpenseAndOtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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.</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_PrepaidExpenseAndOtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_PrepaidExpenseCurrentAndNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount as of the balance sheet date of expenditures made in advance of when the economic benefit of the cost will be realized, and which will be expensed in future periods with the passage of time or when a triggering event occurs.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(7)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<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(7))<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_PrepaidExpenseCurrentAndNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember</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>97
<FILENAME>R80.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>Contract assets and liabilities (Details)<br> &#165; in Thousands, $ in Thousands</strong></div></th>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>CNY (&#165;)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetNet', window );">Contract assets | $</a></td>
<td class="nump">$ 135<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 66<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_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember', window );">ZHEJIANG TIANLAN</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_ContractWithCustomerAssetNet', window );">Contract assets | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 66,644<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 72,880<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_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis=us-gaap_UnbilledRevenuesMember', window );">Unbilled revenue</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_ContractWithCustomerAssetNet', window );">Contract assets | $</a></td>
<td class="nump">$ 135<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 66<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_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis=us-gaap_UnbilledRevenuesMember', window );">Unbilled revenue | ZHEJIANG TIANLAN</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_ContractWithCustomerAssetNet', window );">Contract assets | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 66,644<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 72,880<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_ContractWithCustomerAssetNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 in exchange for good or service transferred to customer when right is conditioned on something other than passage of 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/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479837/606-10-45-3<br><br>Reference 2: 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 3: 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember</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_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis=us-gaap_UnbilledRevenuesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis=us-gaap_UnbilledRevenuesMember</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>98
<FILENAME>R81.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>Contract assets and liabilities (Details 1)<br> &#165; in Thousands, $ in Thousands</strong></div></th>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>CNY (&#165;)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredRevenue', window );">Deferred revenue | $</a></td>
<td class="nump">$ 593<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 650<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_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember', window );">ZHEJIANG TIANLAN</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_DeferredRevenue', window );">Deferred revenue | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 35,367<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 43,452<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_DeferredRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 and obligation to transfer product and 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/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(26)(c))<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_DeferredRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember</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>99
<FILENAME>R82.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>Contract assets and liabilities (Details 2)<br> &#165; in Thousands, $ in Thousands</strong></div></th>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>CNY (&#165;)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetNet', window );">Contract assets | $</a></td>
<td class="nump">$ 135<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 66<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiability', window );">Contract liabilities: deferred revenue | $</a></td>
<td class="num">(593)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(650)<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_clwt_ContractWithCustomerAssetLiabilityNet', window );">Net contract (liabilities) / assets | $</a></td>
<td class="num">$ (458)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (584)<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_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember', window );">ZHEJIANG TIANLAN</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_ContractWithCustomerAssetNet', window );">Contract assets | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 66,644<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 72,880<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiability', window );">Contract liabilities: deferred revenue | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(35,367)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(43,452)<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_clwt_ContractWithCustomerAssetLiabilityNet', window );">Net contract (liabilities) / assets | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 31,277<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 29,428<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_clwt_ContractWithCustomerAssetLiabilityNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_ContractWithCustomerAssetLiabilityNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ContractWithCustomerAssetNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 in exchange for good or service transferred to customer when right is conditioned on something other than passage of 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/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479837/606-10-45-3<br><br>Reference 2: 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 3: 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ContractWithCustomerLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479837/606-10-45-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-8<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479837/606-10-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember</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>100
<FILENAME>R83.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>Contract assets and liabilities (Details 3)<br> &#165; in Thousands</strong></div></th>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>CNY (&#165;)</div>
</th>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_CostsIncurredInContractsInProcess', window );">Costs incurred in contracts in process</a></td>
<td class="nump">$ 325,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 229,000<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_clwt_RevenueEarnedButNotYetBilled', window );">Revenue earned but not yet billed</a></td>
<td class="nump">102,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">26,000<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_clwt_BillingsToDate', window );">Less: billings to date</a></td>
<td class="num">(885,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(839,000)<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_clwt_CostsAndEstimatedEarningsOnUncompletedContractsInExcessOfBillingsUnbilledRevenue', window );">Unbilled revenue</a></td>
<td class="num">(458,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(584,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_srt_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember', window );">ZHEJIANG TIANLAN</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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_CostsAndEstimatedEarningsOnUncompletedContracts', window );">Costs and estimated earnings on uncompleted contracts | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 48,274<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 239,648<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_clwt_BillingsToDate', window );">Less: billings to date</a></td>
<td class="num">$ (16,997,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (210,220,000)<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_clwt_CostsAndEstimatedEarningsOnUncompletedContractsInExcessOfBillingsUnbilledRevenue', window );">Unbilled revenue | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 31,277<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 29,428<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_clwt_BillingsToDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_BillingsToDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_CostsAndEstimatedEarningsOnUncompletedContracts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_CostsAndEstimatedEarningsOnUncompletedContracts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_CostsAndEstimatedEarningsOnUncompletedContractsInExcessOfBillingsUnbilledRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_CostsAndEstimatedEarningsOnUncompletedContractsInExcessOfBillingsUnbilledRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_CostsIncurredInContractsInProcess">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_CostsIncurredInContractsInProcess</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_RevenueEarnedButNotYetBilled">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_RevenueEarnedButNotYetBilled</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember</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>101
<FILENAME>R84.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>Contract assets and liabilities (Details 4)<br> &#165; in Thousands, $ in Thousands</strong></div></th>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>CNY (&#165;)</div>
</th>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_ContractWithCustomerAssetLiabilityNet', window );">Net contract liabilities | $</a></td>
<td class="num">$ (458)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (584)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetNet', window );">Contract assets | $</a></td>
<td class="nump">135<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">66<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_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis=us-gaap_UnbilledRevenuesMember', window );">Unbilled revenue</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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_ContractWithCustomerAssetLiabilityNet', window );">Net contract liabilities | $</a></td>
<td class="nump">135<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">66<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetNet', window );">Contract assets | $</a></td>
<td class="nump">135<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">66<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_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis=us-gaap_BilledRevenuesMember', window );">Deferred revenue</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_ContractWithCustomerAssetLiabilityNet', window );">Net contract liabilities | $</a></td>
<td class="num">$ (593)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (650)<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_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember', window );">ZHEJIANG TIANLAN</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_ContractWithCustomerAssetGross', window );">Gross contract assets | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 77,657<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 83,170<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss', window );">Less: allowance for doubtful accounts | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(11,013)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(10,290)<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_clwt_ContractWithCustomerAssetLiabilityNet', window );">Net contract liabilities | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">31,277<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">29,428<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetNet', window );">Contract assets | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">66,644<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">72,880<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_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember', window );">ZHEJIANG TIANLAN | Unbilled revenue</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_ContractWithCustomerAssetNet', window );">Contract assets | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 66,644<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 72,880<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_clwt_ContractWithCustomerAssetLiabilityNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_ContractWithCustomerAssetLiabilityNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 for right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of 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/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 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479837/606-10-45-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479319/326-20-50-13<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479319/326-20-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ContractWithCustomerAssetGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 in exchange for good or service transferred to customer, when right is conditioned on something other than passage of time.</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 7A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-7A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479319/326-20-50-14<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<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 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479837/606-10-45-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ContractWithCustomerAssetNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 in exchange for good or service transferred to customer when right is conditioned on something other than passage of 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/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479837/606-10-45-3<br><br>Reference 2: 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 3: 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis=us-gaap_UnbilledRevenuesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis=us-gaap_UnbilledRevenuesMember</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_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis=us-gaap_BilledRevenuesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis=us-gaap_BilledRevenuesMember</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_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember</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>102
<FILENAME>R85.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>Contract assets and liabilities (Details 5) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetAndLiabilityAbstract', window );"><strong>Contract assets and liabilities</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_clwt_ContractWithCustomerTradingAndManufacturing', window );">Trading and manufacturing (revenue recognized at point in time)</a></td>
<td class="nump">$ 9,549<span></span>
</td>
<td class="nump">$ 12,143<span></span>
</td>
<td class="nump">$ 9,332<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_clwt_ContractWithCustomerEngineering', window );">Engineering (revenue recognized over time)</a></td>
<td class="nump">5,834<span></span>
</td>
<td class="nump">5,797<span></span>
</td>
<td class="nump">5,617<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax', window );">Revenue</a></td>
<td class="nump">$ 15,383<span></span>
</td>
<td class="nump">$ 17,940<span></span>
</td>
<td class="nump">$ 14,949<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_clwt_ContractWithCustomerEngineering">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_ContractWithCustomerEngineering</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_ContractWithCustomerTradingAndManufacturing">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_ContractWithCustomerTradingAndManufacturing</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ContractWithCustomerAssetAndLiabilityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ContractWithCustomerAssetAndLiabilityAbstract</td>
</tr>
<tr>
<td style="padding-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_RevenueFromContractWithCustomerIncludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise.</p></div>
<a href="javascript: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_RevenueFromContractWithCustomerIncludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>103
<FILENAME>R86.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>Contract assets and liabilities (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<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_ContractWithCustomerAssetAndLiabilityAbstract', window );"><strong>Contract assets and liabilities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityRevenueRecognized', window );">Contract liability revenue recognized</a></td>
<td class="nump">$ 133,000<span></span>
</td>
<td class="nump">$ 492,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_ContractWithCustomerAssetAndLiabilityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ContractWithCustomerAssetAndLiabilityAbstract</td>
</tr>
<tr>
<td style="padding-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_ContractWithCustomerLiabilityRevenueRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityRevenueRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>104
<FILENAME>R87.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>Inventories (Details)<br> &#165; in Thousands, $ in Thousands</strong></div></th>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>CNY (&#165;)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryRawMaterialsNetOfReserves', window );">Raw materials</a></td>
<td class="nump">$ 76<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 192<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryWorkInProcessNetOfReserves', window );">Work in progress</a></td>
<td class="nump">58<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">30<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryFinishedGoodsNetOfReserves', window );">Finished goods</a></td>
<td class="nump">366<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">501<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventory, net</a></td>
<td class="nump">$ 500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 723<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_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember', window );">ZHEJIANG TIANLAN</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_InventoryRawMaterialsNetOfReserves', window );">Raw materials | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 676<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 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_InventoryFinishedGoodsNetOfReserves', window );">Finished goods | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,032<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,415<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventory, net | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 4,708<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 4,469<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryFinishedGoodsNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of merchandise or goods held by the company that are readily available for sale.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480581/330-10-S99-2<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryFinishedGoodsNetOfReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryRawMaterialsNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of unprocessed items to be consumed in the manufacturing or production process.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480581/330-10-S99-2<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryRawMaterialsNetOfReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryWorkInProcessNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount, net of reserves and adjustments, as of the balance sheet date of merchandise or goods which are partially completed. This inventory is generally comprised of raw materials, labor and factory overhead costs, which require further materials, labor and overhead to be converted into finished goods, and which generally require the use of estimates to determine percentage complete and pricing.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480581/330-10-S99-2<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryWorkInProcessNetOfReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember</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>105
<FILENAME>R88.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>Inventories (Details Narrative) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<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_InventoryDisclosureAbstract', window );"><strong>Inventories</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryWriteDown', window );">Write-down of inventories</a></td>
<td class="nump">$ 1,000<span></span>
</td>
<td class="num">$ (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_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryWriteDown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of loss from reductions in inventory due to subsequent measurement adjustments, including, but not limited to, physical deterioration, obsolescence, or changes in price levels.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483080/330-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryWriteDown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>106
<FILENAME>R89.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>Short-term and long-term investments (Details Narrative) - CNY (&#165;)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember', window );">ZHEJIANG TIANLAN</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_OtherOwnershipInterestsValue', window );">Other Ownership Interests</a></td>
<td class="nump">&#165; 53,292,000<span></span>
</td>
<td class="nump">&#165; 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherOwnershipInterestsValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 capital contributed by other unit holders.</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 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 5<br> -Subparagraph (SAB Topic 4.F)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-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_OtherOwnershipInterestsValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember</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>107
<FILENAME>R90.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>Property plant and equipment net (Details)<br> &#165; in Thousands, $ in Thousands</strong></div></th>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>CNY (&#165;)</div>
</th>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_BuildingsGross', window );">Office premises | $</a></td>
<td class="nump">$ 673<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 673<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeaseholdImprovementsGross', window );">Leasehold improvements | $</a></td>
<td class="nump">67<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">67<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FurnitureAndFixturesGross', window );">Furniture, fixtures and office equipment | $</a></td>
<td class="nump">311<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">313<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MachineryAndEquipmentGross', window );">Motor vehicles | $</a></td>
<td class="nump">172<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">172<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentOther', window );">Testing equipment | $</a></td>
<td class="nump">28<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">32<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, plant and equipment, gross | $</a></td>
<td class="nump">1,251<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,257<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Accumulated depreciation and impairment losses | $</a></td>
<td class="num">(1,092)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,089)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property Plant And Equipment, Net | $</a></td>
<td class="nump">$ 159<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 168<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_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember', window );">ZHEJIANG TIANLAN</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_BuildingsAndImprovementsGross', window );">Building and leasehold improvements | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 112,792<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 112,792<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FurnitureAndFixturesGross', window );">Furniture, fixtures and office equipment | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,272<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,122<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MachineryAndEquipmentGross', window );">Motor vehicles | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,503<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,478<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_clwt_PlantAndMachineries', window );">Plant and machineries | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,852<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,619<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_clwt_PropertyPlantsAndEquipmentGross', window );">Property, plant and equipment, gross | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">132,419<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">132,011<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Accumulated depreciation and impairment losses | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(74,681)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(68,506)<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_clwt_Accumulated', window );">Accumulated | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(74,681)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(68,506)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property Plant And Equipment, Net | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 57,738<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 63,505<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_clwt_Accumulated">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_Accumulated</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_BuildingsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_BuildingsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_PlantAndMachineries">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_PlantAndMachineries</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_PropertyPlantsAndEquipmentGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_PropertyPlantsAndEquipmentGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BuildingsAndImprovementsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 of building structures held for productive use including addition, improvement, or renovation to the structure, including, but not limited to, interior masonry, interior flooring, electrical, and plumbing.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BuildingsAndImprovementsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_FurnitureAndFixturesGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 of equipment commonly used in offices and stores that have no permanent connection to the structure of a building or utilities. Examples include, but are not limited to, desks, chairs, tables, and bookcases.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FurnitureAndFixturesGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_LeaseholdImprovementsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 of additions or improvements to assets held under a lease 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> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeaseholdImprovementsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_MachineryAndEquipmentGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 of tangible personal property used to produce goods and services, including, but is not limited to, tools, dies and molds, computer and office equipment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MachineryAndEquipmentGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_PropertyPlantAndEquipmentGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_PropertyPlantAndEquipmentOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation, depletion and amortization of other physical assets used in the normal conduct of business to produce goods and services and not intended for resale.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember</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>108
<FILENAME>R91.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>Property plant and equipment net (Details 1)<br> &#165; in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="6">12 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>CNY (&#165;)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DepreciationDepletionAndAmortization', window );">Depreciation charge | $</a></td>
<td class="nump">$ 14<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 15<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 33<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_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember', window );">ZHEJIANG TIANLAN</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<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 charge | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 6,175<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 5,964<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 6,580<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_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_srt_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember</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>109
<FILENAME>R92.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>Property plant and equipment net (Details Narrative)<br></strong></div></th>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>CNY (&#165;)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property Plant And Equipment, Net | $</a></td>
<td class="nump">$ 159,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 168,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_PropertyPlantAndEquipmentByTypeAxis=clwt_PropertyInBeijingPRCMember', window );">Property In Beijing, PRC Member</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property Plant And Equipment, Net | $</a></td>
<td class="nump">$ 76,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 80,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_srt_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember', window );">ZHEJIANG TIANLAN</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_srt_BankLoans', window );">Bank loans | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 777,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 1,026,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 Plant And Equipment, Net | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 57,738,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 63,505,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_BankLoans">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of short-term bank loan secured by broker-dealer customer's 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/2009/role/commonPracticeRef<br> -Name Rule 15c3-1<br> -Number 240<br> -Section 15c3-1<br> -Publisher SEC<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_BankLoans</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>srt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-7A<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 360<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478451/942-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=clwt_PropertyInBeijingPRCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=clwt_PropertyInBeijingPRCMember</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_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember</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>110
<FILENAME>R93.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>Intangible assets, net (Details) - ZHEJIANG TIANLAN - CNY (&#165;)<br> &#165; in Thousands</strong></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_FiniteLivedPatentsGross', window );">Patents</a></td>
<td class="nump">&#165; 4,150<span></span>
</td>
<td class="nump">&#165; 4,150<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherFiniteLivedIntangibleAssetsGross', window );">Others</a></td>
<td class="nump">165<span></span>
</td>
<td class="nump">165<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Intangible assets gross</a></td>
<td class="nump">4,315<span></span>
</td>
<td class="nump">4,315<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Less: Accumulated amortization</a></td>
<td class="num">(2,787)<span></span>
</td>
<td class="num">(2,552)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Net carrying amount</a></td>
<td class="nump">&#165; 1,528<span></span>
</td>
<td class="nump">&#165; 1,763<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480265/350-10-S45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480265/350-10-S45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 928<br> -SubTopic 340<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478859/928-340-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483154/926-20-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedPatentsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Gross carrying amount before accumulated amortization as of the balance sheet date of the costs pertaining to the exclusive legal rights granted to the owner of the patent to exploit an invention or a process for a period of time specified by law. Such costs may have been expended to directly apply and receive patent rights, or to acquire such rights.</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 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedPatentsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_OtherFiniteLivedIntangibleAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated amortization of finite-lived intangible assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 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 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherFiniteLivedIntangibleAssetsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember</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>111
<FILENAME>R94.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>Intangible assets, net (Details 1) - CNY (&#165;)<br> &#165; in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember', window );">ZHEJIANG TIANLAN</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">&#165; 235<span></span>
</td>
<td class="nump">&#165; 246<span></span>
</td>
<td class="nump">&#165; 257<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_srt_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember</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>112
<FILENAME>R95.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>Intangible assets, net (Details 2) - ZHEJIANG TIANLAN<br> &#165; in Thousands</strong></div></th>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>CNY (&#165;)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths', window );">2025</a></td>
<td class="nump">&#165; 235<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo', window );">2026</a></td>
<td class="nump">235<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree', window );">2027</a></td>
<td class="nump">235<span></span>
</td>
</tr>
<tr class="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 );">2028</a></td>
<td class="nump">235<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive', window );">2029</a></td>
<td class="nump">235<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive', window );">Thereafter</a></td>
<td class="nump">353<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_clwt_FiniteLivedIntangibleAssetsAmortizationExpense', window );">Total</a></td>
<td class="nump">&#165; 1,528<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_clwt_FiniteLivedIntangibleAssetsAmortizationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_FiniteLivedIntangibleAssetsAmortizationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 asset, excluding financial asset and goodwill, lacking physical substance with finite life expected to be recognized after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</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)(3)<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 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_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<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_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_srt_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember</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>113
<FILENAME>R96.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>Land use right net (Details) - ZHEJIANG TIANLAN - CNY (&#165;)<br> &#165; in Thousands</strong></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_FiniteLivedContractualRightsGross', window );">Land use right, gross</a></td>
<td class="nump">&#165; 7,361<span></span>
</td>
<td class="nump">&#165; 7,361<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_clwt_LandUseRightAccumulatedAmortisation', window );">Less: accumulated amortization</a></td>
<td class="num">(2,811)<span></span>
</td>
<td class="num">(2,662)<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_clwt_FiniteLivedIntangibleAssetContractualRightNetLandUseRight', window );">Land use right, net</a></td>
<td class="nump">&#165; 4,550<span></span>
</td>
<td class="nump">&#165; 4,699<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_clwt_FiniteLivedIntangibleAssetContractualRightNetLandUseRight">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_FiniteLivedIntangibleAssetContractualRightNetLandUseRight</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_LandUseRightAccumulatedAmortisation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_LandUseRightAccumulatedAmortisation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_FiniteLivedContractualRightsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Gross carrying amount before accumulated amortization as of the balance sheet date of an intangible asset that arises from a contractual arrangement with a third party (not including franchise rights and license agreements).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://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 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedContractualRightsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember</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>114
<FILENAME>R97.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>Land use right net (Details 1) - CNY (&#165;)<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember', window );">ZHEJIANG TIANLAN</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_AccretionExpense', window );">Amortization expense</a></td>
<td class="nump">&#165; 149<span></span>
</td>
<td class="nump">&#165; 180<span></span>
</td>
<td class="nump">&#165; 150<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccretionExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount recognized for the passage of time, typically for liabilities, that have been discounted to their net present values. Excludes accretion associated with asset retirement obligations.</p></div>
<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 420<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481639/420-10-35-4<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 420<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/2147482017/420-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_AccretionExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember</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>115
<FILENAME>R98.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>Land use right net (Details 2) - ZHEJIANG TIANLAN<br> &#165; in Thousands</strong></div></th>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>CNY (&#165;)</div>
</th>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_LandUseRightAmortizationExpenseYearTwo', window );">2025</a></td>
<td class="nump">&#165; 149<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_clwt_LandUseRightAmortizationExpenseNextTwelveMonths', window );">2026</a></td>
<td class="nump">149<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_clwt_LandUseRightAmortizationExpenseYearThree', window );">2027</a></td>
<td class="nump">149<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_clwt_LandUseRightAmortizationExpenseYearFour', window );">2028</a></td>
<td class="nump">149<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_clwt_LandUseRightAmortizationExpenseYearFive', window );">2029</a></td>
<td class="nump">149<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_clwt_LandUseRightAmortizationExpenseThereafter', window );">Thereafter</a></td>
<td class="nump">3,805<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_clwt_LandUseRightAmortizationExpense', window );">Total</a></td>
<td class="nump">&#165; 4,550<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_clwt_LandUseRightAmortizationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_LandUseRightAmortizationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_LandUseRightAmortizationExpenseNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_LandUseRightAmortizationExpenseNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_LandUseRightAmortizationExpenseThereafter">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_LandUseRightAmortizationExpenseThereafter</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_LandUseRightAmortizationExpenseYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_LandUseRightAmortizationExpenseYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_LandUseRightAmortizationExpenseYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_LandUseRightAmortizationExpenseYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_LandUseRightAmortizationExpenseYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_LandUseRightAmortizationExpenseYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_LandUseRightAmortizationExpenseYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_LandUseRightAmortizationExpenseYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember</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>116
<FILENAME>R99.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>Land use right net (Details Narrative) - CNY (&#165;)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember', window );">ZHEJIANG TIANLAN</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_LandUseRightPledgedBankLoan', window );">Land use right pledged bank loan</a></td>
<td class="nump">&#165; 1,326,000<span></span>
</td>
<td class="nump">&#165; 1,371,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_clwt_LandUseRightPledgedBankLoan">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_LandUseRightPledgedBankLoan</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember</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>117
<FILENAME>R100.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>Bank borrowings (Details) - ZHEJIANG TIANLAN - CNY (&#165;)<br> &#165; in Thousands</strong></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_srt_BankLoans', window );">Bank loan</a></td>
<td class="nump">&#165; 6,006<span></span>
</td>
<td class="nump">&#165; 6,509<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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember', window );">Bank Loan Borrowed by the Company</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_srt_BankLoans', window );">Bank loan</a></td>
<td class="nump">1,001<span></span>
</td>
<td class="nump">1,502<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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember', window );">Bank Loan Borrowed by Subsidiaries of the Company</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_srt_BankLoans', window );">Bank loan</a></td>
<td class="nump">&#165; 5,005<span></span>
</td>
<td class="nump">&#165; 5,007<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_BankLoans">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of short-term bank loan secured by broker-dealer customer's 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/2009/role/commonPracticeRef<br> -Name Rule 15c3-1<br> -Number 240<br> -Section 15c3-1<br> -Publisher SEC<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_BankLoans</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>srt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=clwt_BankLoanBorrowedByTheCompanysMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=clwt_BankLoanBorrowedByTheCompanysMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=clwt_BankLoanBorrowedBySubsidiariesOfTheCompanysMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=clwt_BankLoanBorrowedBySubsidiariesOfTheCompanysMember</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>118
<FILENAME>R101.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>Bank borrowings (Details Narrative) - ZHEJIANG TIANLAN<br></strong></div></th>
<th class="th" colspan="4">12 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </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_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember', window );">Borrowed By The Company</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_SubordinatedBorrowingInterestRate', window );">Interest fixed rates</a></td>
<td class="nump">3.85%<span></span>
</td>
<td class="nump">3.85%<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_InterestPaid', window );">Interest paid</a></td>
<td class="nump">&#165; 54,000<span></span>
</td>
<td class="nump">&#165; 32,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 408,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_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember', window );">Borrowed By Subsidiaries Company</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_SubordinatedBorrowingInterestRate', window );">Interest fixed rates</a></td>
<td class="nump">4.85%<span></span>
</td>
<td class="nump">4.85%<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_InterestPaid', window );">Interest paid</a></td>
<td class="nump">&#165; 184,000<span></span>
</td>
<td class="nump">&#165; 221,000<span></span>
</td>
<td class="nump">&#165; 218,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestPaid">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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, including, but not limited to, capitalized interest and payment to settle zero-coupon bond attributable to 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; classified as operating and investing activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestPaid</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_SubordinatedBorrowingInterestRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Stated interest rate of the subordinated debt.</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_SubordinatedBorrowingInterestRate</td>
</tr>
<tr>
<td style="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_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember</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=clwt_BorrowedByTheCompanyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=clwt_BorrowedByTheCompanyMember</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=clwt_BorrowedBySubsidiariesCompanyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=clwt_BorrowedBySubsidiariesCompanyMember</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>119
<FILENAME>R102.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>Investments in affiliates (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<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_InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVenturesAbstract', window );"><strong>Investments in affiliates</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_srt_InterestEarningAssetsNetYield', window );">Interest held</a></td>
<td class="nump">19.40%<span></span>
</td>
<td class="nump">19.40%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermInvestments', window );">Long-term investment, at cost, less impairment</a></td>
<td class="nump">$ 5,540<span></span>
</td>
<td class="nump">$ 5,540<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UndistributedEarnings', window );">Share of undistributed profits</a></td>
<td class="nump">4,407<span></span>
</td>
<td class="nump">4,316<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVentures', window );">Investment in affiliates</a></td>
<td class="nump">$ 9,947<span></span>
</td>
<td class="nump">$ 9,856<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_InterestEarningAssetsNetYield">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 yield on interest-earning assets calculated as difference between total interest earned and total interest paid divided by total interest-earning 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> -Name Regulation S-K (SK)<br> -Number 229<br> -Section 1402<br> -Paragraph b<br> -Subparagraph (5)<br> -Publisher SEC<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_InterestEarningAssetsNetYield</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>srt_</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_InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVentures">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 investment in equity method investee and investment in and advance to affiliate.</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(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVentures</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVenturesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVenturesAbstract</td>
</tr>
<tr>
<td style="padding-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_LongTermInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 total amount of investments that are intended to be held for an extended period of time (longer than one operating cycle).</p></div>
<a href="javascript: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(12))<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_LongTermInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_UndistributedEarnings">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 earnings that is allocated to common stock and participating securities to the extent that each security may share in earnings as if all of the earnings for the period had been distributed.</p></div>
<a href="javascript: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 45<br> -Paragraph 66<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-66<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 60B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UndistributedEarnings</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>120
<FILENAME>R103.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>Investments in affiliates (Details 1) - USD ($)<br> $ in Thousands</strong></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_AssetsCurrent', window );">Current assets</a></td>
<td class="nump">$ 9,229<span></span>
</td>
<td class="nump">$ 10,545<span></span>
</td>
</tr>
<tr class="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">20,708<span></span>
</td>
<td class="nump">22,120<span></span>
</td>
</tr>
<tr class="re">
<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="num">(4,014)<span></span>
</td>
<td class="num">(5,640)<span></span>
</td>
</tr>
<tr class="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 );">Total shareholders' equity</a></td>
<td class="nump">15,743<span></span>
</td>
<td class="nump">15,641<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_StatementScenarioAxis=clwt_BluesSkyMember', window );">Blue Sky</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_AssetsCurrent', window );">Current assets</a></td>
<td class="nump">50,487<span></span>
</td>
<td class="nump">51,683<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsNoncurrent', window );">Non-current assets</a></td>
<td class="nump">10,569<span></span>
</td>
<td class="nump">10,909<span></span>
</td>
</tr>
<tr class="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">61,056<span></span>
</td>
<td class="nump">62,592<span></span>
</td>
</tr>
<tr class="re">
<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="num">(25,204)<span></span>
</td>
<td class="num">(26,374)<span></span>
</td>
</tr>
<tr class="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 );">Total shareholders' equity</a></td>
<td class="nump">$ 35,852<span></span>
</td>
<td class="nump">$ 36,218<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_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_AssetsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold or consumed after one year or beyond the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 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/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/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 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)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<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 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 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<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)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 17: 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_AssetsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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_srt_StatementScenarioAxis=clwt_BluesSkyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementScenarioAxis=clwt_BluesSkyMember</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>121
<FILENAME>R104.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>Investments in affiliates (Details 2) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Operating income / (loss)</a></td>
<td class="nump">$ 386<span></span>
</td>
<td class="num">$ (249)<span></span>
</td>
<td class="nump">$ 114<span></span>
</td>
</tr>
<tr class="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</a></td>
<td class="nump">845<span></span>
</td>
<td class="nump">1,650<span></span>
</td>
<td class="nump">$ 539<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_StatementScenarioAxis=clwt_BluesSkyMember', window );">Blue Sky</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_NetInvestmentInLeaseSale', window );">Net sales</a></td>
<td class="nump">48,365<span></span>
</td>
<td class="nump">38,530<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<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 );">Operating income / (loss)</a></td>
<td class="nump">1,926<span></span>
</td>
<td class="nump">337<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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</a></td>
<td class="nump">$ 2,008<span></span>
</td>
<td class="nump">$ 9,978<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_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_NetInvestmentInLeaseSale">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 from sale of net investment in sales-type and direct financing leases.</p></div>
<a href="javascript: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 11<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479319/326-20-50-11<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetInvestmentInLeaseSale</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_srt_StatementScenarioAxis=clwt_BluesSkyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementScenarioAxis=clwt_BluesSkyMember</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>122
<FILENAME>R105.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>Investments in affiliates (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<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_srt_InterestEarningAssetsNetYield', window );">Interest held</a></td>
<td class="nump">19.40%<span></span>
</td>
<td class="nump">19.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_LongTermInvestments', window );">Long-term investment, at cost, less impairment</a></td>
<td class="nump">$ 5,540,000<span></span>
</td>
<td class="nump">$ 5,540,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_srt_StatementScenarioAxis=clwt_BluesSkyMember', window );">Blue Sky</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_srt_InterestEarningAssetsNetYield', window );">Interest held</a></td>
<td class="nump">19.40%<span></span>
</td>
<td class="nump">19.40%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermInvestments', window );">Long-term investment, at cost, less impairment</a></td>
<td class="nump">$ 5,540,000<span></span>
</td>
<td class="nump">$ 5,540,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_InterestEarningAssetsNetYield">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 yield on interest-earning assets calculated as difference between total interest earned and total interest paid divided by total interest-earning 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> -Name Regulation S-K (SK)<br> -Number 229<br> -Section 1402<br> -Paragraph b<br> -Subparagraph (5)<br> -Publisher SEC<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_InterestEarningAssetsNetYield</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>srt_</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_LongTermInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 total amount of investments that are intended to be held for an extended period of time (longer than one operating cycle).</p></div>
<a href="javascript: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(12))<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_LongTermInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementScenarioAxis=clwt_BluesSkyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_StatementScenarioAxis=clwt_BluesSkyMember</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>123
<FILENAME>R106.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 (Details Narrative) - USD ($)<br></strong></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_GoodwillAndIntangibleAssetsDisclosureAbstract', window );"><strong>Intangible assets, net</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_GoodwillGross', window );">Goodwill</a></td>
<td class="nump">$ 1,071,000<span></span>
</td>
<td class="nump">$ 1,071,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_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_GoodwillGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 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 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482548/350-20-55-24<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 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/2003/role/disclosureRef<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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>124
<FILENAME>R107.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>Other payables and accrued expenses (Details)<br> &#165; in Thousands, $ in Thousands</strong></div></th>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>CNY (&#165;)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DividendsPayableCurrent', window );">Dividend payables</a></td>
<td class="nump">$ 76<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 78<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CustomerDepositsCurrent', window );">Deposit received from customers</a></td>
<td class="nump">5<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5<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_clwt_RentalDepositReceived', window );">Rental deposit received</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3<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_clwt_AccruedOperatingExpenses', window );">Accruals for operating expenses</a></td>
<td class="nump">803<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">834<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccrualForTaxesOtherThanIncomeTaxesCurrent', window );">Other tax payables</a></td>
<td class="nump">166<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">204<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsPayableAndAccruedLiabilitiesFairValueDisclosure', window );">Other payables and accrued expenses</a></td>
<td class="nump">$ 1,050<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,124<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_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember', window );">ZHEJIANG TIANLAN</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_AccountsPayableAndAccruedLiabilitiesFairValueDisclosure', window );">Other payables and accrued expenses | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 22,371<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 23,720<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedBonusesCurrent', window );">Accrued expenses | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11,089<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11,274<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_clwt_OutputValueAddedTax', window );">Output VAT | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,587<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,348<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_clwt_DepositsReceivedAndTemporaryReceipts', window );">Deposits received and temporary receipts | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 4,695<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 6,098<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_clwt_AccruedOperatingExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_AccruedOperatingExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_DepositsReceivedAndTemporaryReceipts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_DepositsReceivedAndTemporaryReceipts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_OutputValueAddedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_OutputValueAddedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_RentalDepositReceived">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_RentalDepositReceived</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AccountsPayableAndAccruedLiabilitiesFairValueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value portion of trade and related party payables and accrued expenses.</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 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2E<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2E<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableAndAccruedLiabilitiesFairValueDisclosure</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AccrualForTaxesOtherThanIncomeTaxesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 real and property 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://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 720<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483384/720-30-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 8<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccrualForTaxesOtherThanIncomeTaxesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_AccruedBonusesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable for incentive compensation awarded to employees and directors or earned by them based on the terms of one or more relevant arrangements. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedBonusesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CustomerDepositsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 money or property received from customers which is either to be returned upon satisfactory contract completion or applied to customer receivables in accordance with the terms of the contract or the understandings.</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 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_CustomerDepositsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DividendsPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 dividends declared but unpaid on equity securities issued by the entity and outstanding. 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_DividendsPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember</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>125
<FILENAME>R108.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>Other taxes payable (Details Narrative) - ZHEJIANG TIANLAN<br></strong></div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember', window );">Bottoms</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_ValuedAddedTaxInterestRate', window );">Valued-Added Tax rate</a></td>
<td class="nump">3.00%<span></span>
</td>
<td class="nump">3.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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember', window );">Tops</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_ValuedAddedTaxInterestRate', window );">Valued-Added Tax rate</a></td>
<td class="nump">13.00%<span></span>
</td>
<td class="nump">13.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_clwt_ValuedAddedTaxInterestRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_ValuedAddedTaxInterestRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num: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_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember</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=clwt_BottomsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=clwt_BottomsMember</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=clwt_TopsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=clwt_TopsMember</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>126
<FILENAME>R109.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>Other income and other losses (Details) - ZHEJIANG TIANLAN<br> &#165; in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="5">12 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_ImpairmentGainOnContractAssets', window );">Impairment gain on contract assets</a></td>
<td class="num">&#165; (722)<span></span>
</td>
<td class="nump">&#165; 2,158<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InvestmentIncomeNet', window );">Investment income</a></td>
<td class="num">(8,504)<span></span>
</td>
<td class="nump">2,863<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">824<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_clwt_FaitValueGainOnShortTermInvestment', window );">Fait value gain on short term investment</a></td>
<td class="nump">248<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</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_clwt_CompensationIncome', window );">Compensation income</a></td>
<td class="nump">193<span></span>
</td>
<td class="nump">7,796<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_AmountsWaivedByPayees', window );">Amounts waived by payees</a></td>
<td class="nump">676<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">980<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_clwt_AllowanceForDoubtfulAccountsReversal', window );">Reversal of allowance for doubtful accounts</a></td>
<td class="num">(6,225)<span></span>
</td>
<td class="nump">10,841<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">983<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_clwt_SubsidyIncome', window );">Subsidy income from PRC government</a></td>
<td class="nump">14,730<span></span>
</td>
<td class="nump">9,088<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,002<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherIncome', window );">Other income</a></td>
<td class="nump">&#165; 396<span></span>
</td>
<td class="nump">&#165; 32,746<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 11,789<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_clwt_AllowanceForDoubtfulAccountsReversal">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_AllowanceForDoubtfulAccountsReversal</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_AmountsWaivedByPayees">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_AmountsWaivedByPayees</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_CompensationIncome">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_CompensationIncome</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_FaitValueGainOnShortTermInvestment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_FaitValueGainOnShortTermInvestment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_ImpairmentGainOnContractAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_ImpairmentGainOnContractAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_SubsidyIncome">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_SubsidyIncome</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_InvestmentIncomeNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 accretion (amortization) of discount (premium), and investment expense, of interest income and dividend income on nonoperating securities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(7)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<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 S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(7)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentIncomeNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_OtherIncome">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 and income 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 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 6<br> -Subparagraph (SX 210.12-14(Column E)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 6<br> -Subparagraph (SX 210.12-14(Column E)(Footnote 4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-6<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 320<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 6<br> -Subparagraph (SX 210.12-14(Column E)(Footnote 6)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477271/946-320-S99-6<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(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(1)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherIncome</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember</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>127
<FILENAME>R110.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>Other income and other losses (Details 1) - ZHEJIANG TIANLAN - CNY (&#165;)<br> &#165; in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_ImpairmentLossOnShortTermInvestments', window );">Impairment loss on short term investments</a></td>
<td class="nump">&#165; 0<span></span>
</td>
<td class="nump">&#165; 0<span></span>
</td>
<td class="nump">&#165; 195<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_clwt_ImpairmentLossOnContractAssets', window );">Impairment loss on contract assets</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">3,560<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNonoperatingGainsLosses', window );">Other losses</a></td>
<td class="nump">&#165; 0<span></span>
</td>
<td class="nump">&#165; 0<span></span>
</td>
<td class="nump">&#165; 3,755<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_clwt_ImpairmentLossOnContractAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_ImpairmentLossOnContractAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_ImpairmentLossOnShortTermInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_ImpairmentLossOnShortTermInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_OtherNonoperatingGainsLosses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) related to nonoperating activities, classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNonoperatingGainsLosses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember</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>128
<FILENAME>R111.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>Ordinary share (Details) - shares<br></strong></div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Mar. 03, 2021</div></th>
<th class="th"><div>Oct. 08, 2019</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityAbstract', window );"><strong>Ordinary share</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common stock, issued</a></td>
<td class="nump">7,899,832<span></span>
</td>
<td class="nump">7,899,832<span></span>
</td>
<td class="nump">2,061,900<span></span>
</td>
<td class="nump">1,030,950<span></span>
</td>
</tr>
<tr class="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 );">Less: shares under treasury stock</a></td>
<td class="num">(183,533)<span></span>
</td>
<td class="num">(178,400)<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_CommonStockSharesOutstanding', window );">Total</a></td>
<td class="nump">7,716,299<span></span>
</td>
<td class="nump">7,721,432<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_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_EquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_EquityAbstract</td>
</tr>
<tr>
<td style="padding-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>129
<FILENAME>R112.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>Ordinary share (Details Narrative) - shares<br></strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1">1 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 03, 2021</div></th>
<th class="th"><div>Jan. 24, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityAbstract', window );"><strong>Ordinary 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_StockIssuedDuringPeriodSharesNewIssues', window );">New shares of common stock</a></td>
<td class="nump">2,061,900<span></span>
</td>
<td class="nump">2,577,373<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_EquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_EquityAbstract</td>
</tr>
<tr>
<td style="padding-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_StockIssuedDuringPeriodSharesNewIssues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of new stock issued during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478448/946-505-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479886/946-10-S99-3<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesNewIssues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>130
<FILENAME>R113.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>Treasury stock (Details Narrative) - Stock Repurchase Plan [Member] - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Apr. 30, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Ordinary share</a></td>
<td class="nump">5,133<span></span>
</td>
<td class="nump">10,700<span></span>
</td>
<td class="nump">300,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_OtherInventoryPurchasedGoods', window );">Ordinary share purchased in the open market</a></td>
<td class="nump">$ 7,000<span></span>
</td>
<td class="nump">$ 14,000<span></span>
</td>
<td class="nump">$ 230,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_OtherInventoryPurchasedGoods">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Gross amount of components used by the entity which are bought from another entity rather than produced by the entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a))<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_OtherInventoryPurchasedGoods</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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_PlanNameAxis=clwt_StockRepurchasePlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=clwt_StockRepurchasePlanMember</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>131
<FILENAME>R114.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>PRC statutory reserves (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermDebtTypeAxis=clwt_StatutoryReserveFundMember', window );">Statutory Reserve Fund</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_StatutoryAccountingPracticesStatutoryNetIncomeAmount', window );">Statutory reserve</a></td>
<td class="nump">$ 2,150,000<span></span>
</td>
<td class="nump">$ 2,500,000<span></span>
</td>
<td class="nump">$ 2,531,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_clwt_MinimumRegisteredCapitalPercentage', window );">Minimum Registered capital percentage</a></td>
<td class="nump">25.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PublicUtilitiesRequestedDebtCapitalStructurePercentage', window );">Registered capital percentage</a></td>
<td class="nump">50.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_StatutoryAccountingPracticesStatutoryNetIncomePercentage', window );">Net income statutory reserve fund</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_us-gaap_ShortTermDebtTypeAxis=clwt_StatutoryStaffWelfareFundMember', window );">Statutory Staff Welfare Fund</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_StatutoryAccountingPracticesStatutoryNetIncomeAmount', window );">Statutory reserve</a></td>
<td class="nump">$ 9,000<span></span>
</td>
<td class="nump">12,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_ShortTermDebtTypeAxis=clwt_EnterpriseExpansionFundMember', window );">Enterprise Expansion Fund</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_StatutoryAccountingPracticesStatutoryNetIncomeAmount', window );">Statutory reserve</a></td>
<td class="nump">$ 408,000<span></span>
</td>
<td class="nump">$ 408,000<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_clwt_MinimumRegisteredCapitalPercentage', window );">Minimum Registered capital percentage</a></td>
<td class="nump">25.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_clwt_MinimumRegisteredCapitalPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_MinimumRegisteredCapitalPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num: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_clwt_StatutoryAccountingPracticesStatutoryNetIncomePercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_StatutoryAccountingPracticesStatutoryNetIncomePercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num: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_PublicUtilitiesRequestedDebtCapitalStructurePercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 public utility's requested debt to capital, including debt and equity.</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_PublicUtilitiesRequestedDebtCapitalStructurePercentage</td>
</tr>
<tr>
<td style="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_StatutoryAccountingPracticesStatutoryNetIncomeAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 for the period determined using accounting principles prescribed or permitted by insurance regulators.</p></div>
<a href="javascript: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)(23)(c))<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_StatutoryAccountingPracticesStatutoryNetIncomeAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_ShortTermDebtTypeAxis=clwt_StatutoryReserveFundMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ShortTermDebtTypeAxis=clwt_StatutoryReserveFundMember</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_ShortTermDebtTypeAxis=clwt_StatutoryStaffWelfareFundMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ShortTermDebtTypeAxis=clwt_StatutoryStaffWelfareFundMember</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_ShortTermDebtTypeAxis=clwt_EnterpriseExpansionFundMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ShortTermDebtTypeAxis=clwt_EnterpriseExpansionFundMember</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>132
<FILENAME>R115.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>Other income net (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherIncomeAbstract', window );"><strong>Other income net</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_clwt_ExchangeGainLossNet', window );">Exchange gain / (loss), net</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="num">$ (66)<span></span>
</td>
<td class="num">$ (93)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RentalIncomeNonoperating', window );">Rental income</a></td>
<td class="nump">37<span></span>
</td>
<td class="nump">46<span></span>
</td>
<td class="nump">37<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_clwt_GovernmentSubsidies', window );">Government subsidies - Employment Support Scheme</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">69<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_clwt_OtherNonoperatingIncomeNet', window );">Other income, net</a></td>
<td class="nump">$ 37<span></span>
</td>
<td class="num">$ (20)<span></span>
</td>
<td class="nump">$ 13<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_clwt_ExchangeGainLossNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_ExchangeGainLossNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_GovernmentSubsidies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_GovernmentSubsidies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_OtherNonoperatingIncomeNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_OtherNonoperatingIncomeNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_OtherIncomeAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_OtherIncomeAbstract</td>
</tr>
<tr>
<td style="padding-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_RentalIncomeNonoperating">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Income earned by providing the use of assets to an outside party in exchange for a payment or series of payments that is nonoperating in 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> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RentalIncomeNonoperating</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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>133
<FILENAME>R116.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 (Details)<br> &#165; in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="6">12 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>CNY (&#165;)</div>
</th>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_CurrentTaxExpensesPrcAndHongKong', window );">Current taxes (expense): Hong Kong profits tax and the PRC EIT | $</a></td>
<td class="num">$ (33)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (45)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CurrentIncomeTaxExpenseBenefit', window );">Income tax expense | $</a></td>
<td class="num">(33)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(45)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_DeferredTaxBenefitPrcAndHongKong', window );">Deferred tax credit / (expenses): Hong Kong and the PRC | $</a></td>
<td class="num">(39)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(24)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefit', window );">Total deferred tax credit / (expense) | $</a></td>
<td class="num">(39)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(24)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="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 );">Total credit / (expense) | $</a></td>
<td class="num">$ (72)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (45)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (24)<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_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember', window );">ZHEJIANG TIANLAN</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_IncomeTaxExpensePrcEit', window );">Income tax expense/(credit) PRC EIT | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 3,275<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 7,340<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">&#165; (7)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CurrentIncomeTaxExpenseBenefit', window );">Income tax expense | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,275<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,340<span></span>
</td>
<td class="text">&#160;<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_DeferredOtherTaxExpenseBenefit', window );">Deferred tax expense / (credit) | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2,910)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8,729<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(361)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefit', window );">Total deferred tax credit / (expense) | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2,910)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8,729<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(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_IncomeTaxExpenseBenefit', window );">Total credit / (expense) | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 365<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 16,069<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">&#165; (368)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_clwt_CurrentTaxExpensesPrcAndHongKong">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_CurrentTaxExpensesPrcAndHongKong</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_DeferredTaxBenefitPrcAndHongKong">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_DeferredTaxBenefitPrcAndHongKong</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_IncomeTaxExpensePrcEit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_IncomeTaxExpensePrcEit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_CurrentIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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) pertaining to taxable income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 2: 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> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredOtherTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 other deferred income tax expense (benefit) pertaining to income (loss) from continuing operations. For example, but not limited to, acquisition-date income tax benefits or expenses recognized from changes in the acquirer's valuation allowance for its previously existing deferred tax assets resulting from a business combination and adjustments to beginning-of-year balance of a valuation allowance because of a change in circumstance causing a change in judgment about the realizability of the related deferred tax asset in future periods.</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 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredOtherTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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_srt_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember</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>134
<FILENAME>R117.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 (Details 1)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="6">12 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>CNY (&#165;)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before income tax | $</a></td>
<td class="nump">$ 917<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,695<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 563<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_IncomeTaxAuthorityNameAxis=clwt_HongKongProfitTaxMember', window );">Hong Kong</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<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 income tax | $</a></td>
<td class="nump">519<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,695<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">563<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate', window );">Computed tax using respective companies' statutory tax rates | $</a></td>
<td class="num">(100)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">78<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">131<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationNondeductibleExpense', window );">Tax effect of expenses not deductible for tax purposes | $</a></td>
<td class="num">(34)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(44)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(213)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance', window );">Change in valuation allowances | $</a></td>
<td class="nump">62<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(79)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">58<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_clwt_IncomeTaxesCreditExpenseAtEffectiveTaxRate', window );">Income taxes credit / (expense) at effective tax rate | $</a></td>
<td class="num">$ (72)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (45)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (24)<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_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember', window );">ZHEJIANG TIANLAN</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<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 income tax</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 14,831<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 86,606<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 15,398<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate', window );">Computed tax using respective companies' statutory tax rates</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,152<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12,991<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,309<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_clwt_OverProvisionForIncomeTaxInPriorYears', window );">(Over)-provision for income tax in prior years</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(591)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(69)<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_clwt_TemporaryDifferences', window );">Temporary differences</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,090<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,931<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,089<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationNondeductibleExpense', window );">Tax effect of expenses not deductible for tax purposes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">699<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,472<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">500<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationNondeductibleExpenseResearchAndDevelopment', window );">Tax effect of special deduction for research and development costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(4,081)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(3,734)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(5,257)<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_clwt_TaxEffectOfRevenueNotSubjectToTax', window );">Tax effect of revenue not subject to tax</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">3<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationOtherAdjustments', window );">Others</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">510<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">57<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_clwt_IncomeTaxesCreditExpenseAtEffectiveTaxRate', window );">Income taxes credit / (expense) at effective tax rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 365<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 16,069<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">&#165; (368)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_clwt_IncomeTaxesCreditExpenseAtEffectiveTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_IncomeTaxesCreditExpenseAtEffectiveTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_OverProvisionForIncomeTaxInPriorYears">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_OverProvisionForIncomeTaxInPriorYears</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_TaxEffectOfRevenueNotSubjectToTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_TaxEffectOfRevenueNotSubjectToTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_TemporaryDifferences">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_TemporaryDifferences</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_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_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to increase (decrease) in the valuation allowance for deferred tax assets.</p></div>
<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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 income tax expense or benefit for the period computed by applying the 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/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_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_IncomeTaxReconciliationNondeductibleExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to nondeductible expenses.</p></div>
<a href="javascript: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 12A<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12A<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)(7)<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_IncomeTaxReconciliationNondeductibleExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_IncomeTaxReconciliationNondeductibleExpenseResearchAndDevelopment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to nondeductible research and development expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/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 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></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationNondeductibleExpenseResearchAndDevelopment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_IncomeTaxReconciliationOtherAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of the 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 other adjustments.</p></div>
<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 12<br> -Subparagraph (b)(3)<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> -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_IncomeTaxReconciliationOtherAdjustments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_IncomeTaxAuthorityNameAxis=clwt_HongKongProfitTaxMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_IncomeTaxAuthorityNameAxis=clwt_HongKongProfitTaxMember</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_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember</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>135
<FILENAME>R118.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>Income taxes (Details 2)<br></strong></div></th>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>CNY (&#165;)</div>
</th>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_DeferredTaxAssetTaxLosses', window );">Tax losses</a></td>
<td class="nump">$ 313,000<span></span>
</td>
<td class="nump">$ 572,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsValuationAllowance', window );">Less: valuation allowances</a></td>
<td class="num">(251,000)<span></span>
</td>
<td class="num">(469,000)<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_clwt_NetDeferredTaxAssetsLiabilities', window );">Net deferred tax assets / (liabilities)</a></td>
<td class="nump">62,000<span></span>
</td>
<td class="nump">$ 103,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_srt_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember', window );">ZHEJIANG TIANLAN</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_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts', window );">Allowance for doubtful accounts</a></td>
<td class="nump">5,058<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 4,218<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsDeferredIncome', window );">Deferred government grant</a></td>
<td class="nump">631<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">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_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsImpairmentLosses', window );">Impairment losses on assets</a></td>
<td class="nump">1,771<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,508<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_clwt_DeferredtaxassetstaxdeferrechangeInFairValue', window );">Change in fair value</a></td>
<td class="num">(37)<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_clwt_InvestmentLoss', window );">Investment loss</a></td>
<td class="nump">1,425<span></span>
</td>
<td class="text">&#160;<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_DeferredTaxAssetsNet', window );">Total deferred tax assets</a></td>
<td class="nump">$ 8,848<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 5,939<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_clwt_DeferredTaxAssetTaxLosses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_DeferredTaxAssetTaxLosses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_DeferredtaxassetstaxdeferrechangeInFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_DeferredtaxassetstaxdeferrechangeInFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_InvestmentLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_InvestmentLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_NetDeferredTaxAssetsLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_NetDeferredTaxAssetsLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_DeferredTaxAssetsDeferredIncome">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from deferred 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 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-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_DeferredTaxAssetsDeferredIncome</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DeferredTaxAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 of deferred tax asset attributable to deductible temporary differences and carryforwards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 allocation of valuation allowance, of deferred tax asset attributable to deductible temporary difference from 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 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-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_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsImpairmentLosses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from estimated impairment losses.</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 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-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_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsImpairmentLosses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DeferredTaxAssetsValuationAllowance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 tax assets for which it is more likely than not that a tax benefit will not be realized.</p></div>
<a href="javascript: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 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsValuationAllowance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember</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>136
<FILENAME>R119.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 (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate', window );">Income tax rate</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="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income</a></td>
<td class="nump">$ 734,000<span></span>
</td>
<td class="nump">$ 1,828,000<span></span>
</td>
<td class="nump">$ 369,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_UndistributedEarningsDiluted', window );">Aggregate undistributed earnings</a></td>
<td class="nump">$ 600,000<span></span>
</td>
<td class="nump">$ 600,000<span></span>
</td>
<td class="nump">$ 600,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_srt_StatementGeographicalAxis=clwt_HKMember', window );">Hong Kong</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_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate', window );">Income tax rate</a></td>
<td class="nump">16.50%<span></span>
</td>
<td class="nump">8.25%<span></span>
</td>
<td class="nump">16.50%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income</a></td>
<td class="nump">$ 256,000<span></span>
</td>
<td class="nump">$ 256,000<span></span>
</td>
<td class="nump">$ 256,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_SubsidiarySaleOfStockAxis=clwt_ShanghaiEuroTechLimitedMember', window );">Shanghai Euro Tech Limited</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_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate', window );">Income tax rate</a></td>
<td class="nump">25.00%<span></span>
</td>
<td class="nump">25.00%<span></span>
</td>
<td class="nump">25.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_SubsidiarySaleOfStockAxis=clwt_YixingPactEnvironmentalTechnologyCoLtdMember', window );">Yixing Pact Environmental Technology Co. Ltd.</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_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate', window );">Income tax rate</a></td>
<td class="nump">25.00%<span></span>
</td>
<td class="nump">25.00%<span></span>
</td>
<td class="nump">25.00%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income</a></td>
<td class="nump">$ 1,235,000<span></span>
</td>
<td class="nump">$ 1,330,000<span></span>
</td>
<td class="nump">$ 1,509,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_SubsidiarySaleOfStockAxis=clwt_EuroTechTradingShanghaiLimitedMember', window );">Euro Tech Trading (Shanghai) Limited</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_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate', window );">Income tax rate</a></td>
<td class="nump">25.00%<span></span>
</td>
<td class="nump">25.00%<span></span>
</td>
<td class="nump">25.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_ProfitLoss', window );">Net income</a></td>
<td class="num">$ (19,000)<span></span>
</td>
<td class="num">$ (51,000)<span></span>
</td>
<td class="num">$ (103,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_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of domestic federal statutory tax rate applicable to pretax income (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.1.Q1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_UndistributedEarningsDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 earnings that is allocated to common stock and participating securities to the extent that each security may share in earnings as if all of the earnings for the period had been distributed. Includes the adjustments resulting from the assumption that dilutive securities were converted, options or warrants were exercised, or that other shares were issued upon the satisfaction of certain conditions.</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_UndistributedEarningsDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=clwt_HKMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=clwt_HKMember</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_SubsidiarySaleOfStockAxis=clwt_ShanghaiEuroTechLimitedMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsidiarySaleOfStockAxis=clwt_ShanghaiEuroTechLimitedMember</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_SubsidiarySaleOfStockAxis=clwt_YixingPactEnvironmentalTechnologyCoLtdMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsidiarySaleOfStockAxis=clwt_YixingPactEnvironmentalTechnologyCoLtdMember</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_SubsidiarySaleOfStockAxis=clwt_EuroTechTradingShanghaiLimitedMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsidiarySaleOfStockAxis=clwt_EuroTechTradingShanghaiLimitedMember</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>137
<FILENAME>R120.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>Net income per ordinary share (Details) - shares<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Net income per ordinary share</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</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_clwt_WeightedAverageNumberOfOrdinarySharesForThePurposesOfBasicAndDilutedNetIncomePerShare', window );">Weighted average number of ordinary shares for the purposes of basic and diluted net income per share</a></td>
<td class="nump">7,716,993<span></span>
</td>
<td class="nump">7,726,118<span></span>
</td>
<td class="nump">7,732,132<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_clwt_WeightedAverageNumberOfOrdinarySharesForThePurposesOfBasicAndDilutedNetIncomePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_WeightedAverageNumberOfOrdinarySharesForThePurposesOfBasicAndDilutedNetIncomePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</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_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>138
<FILENAME>R121.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 (Details) - Stock Options - $ / shares<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Outstanding, beginning of year</a></td>
<td class="nump">206,250<span></span>
</td>
<td class="nump">206,250<span></span>
</td>
<td class="nump">85,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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod', window );">Granted</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">80,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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod', window );">Cancelled</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(41,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_WeightedAverageNumberDilutedSharesOutstandingAdjustment', window );">Bonus shares adjustment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">82,500<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Outstanding, end of year</a></td>
<td class="nump">206,250<span></span>
</td>
<td class="nump">206,250<span></span>
</td>
<td class="nump">206,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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber', window );">Exercisable, end of year</a></td>
<td class="nump">206,250<span></span>
</td>
<td class="nump">86,250<span></span>
</td>
<td class="nump">86,250<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Outstanding, beginning of years</a></td>
<td class="nump">$ 1.52<span></span>
</td>
<td class="nump">$ 1.52<span></span>
</td>
<td class="nump">$ 1.56<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice', window );">Weighted average exercise price, Granted</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">2.80<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice', window );">Cancelled in period</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(1.04)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BasicEarningsPerShareAdjustmentProForma', window );">Bonus shares adjustments</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(0.72)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Outstanding, end of years</a></td>
<td class="nump">1.52<span></span>
</td>
<td class="nump">1.52<span></span>
</td>
<td class="nump">1.52<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice', window );">Exercisable, end of years</a></td>
<td class="nump">$ 1.52<span></span>
</td>
<td class="nump">$ 1.04<span></span>
</td>
<td class="nump">$ 1.04<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_BasicEarningsPerShareAdjustmentProForma">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Pro Forma Basic Earnings Per Share Adjustment to reconcile between Net Income and Pro Forma.</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_BasicEarningsPerShareAdjustmentProForma</td>
</tr>
<tr>
<td style="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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_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_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which grantees could have acquired the underlying shares with respect to stock options that were terminated.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The sum of dilutive potential common shares or units used in the calculation of the diluted per-share or per-unit computation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=us-gaap_StockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_FinancialInstrumentAxis=us-gaap_StockOptionMember</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>139
<FILENAME>R122.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 (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="1">1 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Apr. 30, 2019</div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Compensation expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 12,000<span></span>
</td>
<td class="nump">$ 47,000<span></span>
</td>
<td class="nump">$ 45,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_PlanNameAxis=clwt_TwoThousandTwentyNineStockOptionAndIncentivePlanMember', window );">2019 Stock Option and Incentive Plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod', window );">Cancelled</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">41,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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsDiscountForPostvestingRestrictions', window );">Fair market value ordinary shares percentage</a></td>
<td class="nump">100.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment', window );">Bonus shares adjustment</a></td>
<td class="nump">500,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodShares', window );">Purchase ordinary shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">80,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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue', window );">Fair value options granted</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1.30<span></span>
</td>
</tr>
<tr class="ro">
<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 );">Compensation expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 12,000<span></span>
</td>
<td class="nump">$ 47,000<span></span>
</td>
<td class="nump">$ 45,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod', window );">Granted</a></td>
<td class="nump">300,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum', window );">Percentage of number of ordinary shares outstanding</a></td>
<td class="nump">5.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice', window );">Exercise price options granted</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2.80<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_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsDiscountForPostvestingRestrictions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Restrictions on equity-based instruments during the vesting period, such as the inability to transfer unvested awards, are not taken into account in estimating the fair value of the award. However, restrictions that remain in effect after an award is vested, such as the inability to transfer or hedge vested options or a prohibition on the sale of outstanding vested shares (or other type of equity) for a period of time, affect the estimate of an award's fair value.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsDiscountForPostvestingRestrictions</td>
</tr>
<tr>
<td style="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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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_ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 number of shares that may be issued in accordance with the plan as a proportion of outstanding capital 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum</td>
</tr>
<tr>
<td style="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_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average grant-date fair value of options vested.</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_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="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_StockRepurchasedDuringPeriodShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 that have been repurchased during the period and have not been retired and are not held in treasury. Some state laws may govern the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury 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> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478448/946-505-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479886/946-10-S99-3<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchasedDuringPeriodShares</td>
</tr>
<tr>
<td style="padding-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_WeightedAverageNumberDilutedSharesOutstandingAdjustment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The sum of dilutive potential common shares or units used in the calculation of the diluted per-share or per-unit computation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=clwt_TwoThousandTwentyNineStockOptionAndIncentivePlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=clwt_TwoThousandTwentyNineStockOptionAndIncentivePlanMember</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>140
<FILENAME>R123.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>Pension plan (Details Narrative)<br> &#165; in Thousands</strong></div></th>
<th class="th" colspan="6">12 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>CNY (&#165;)</div>
</th>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_EmployeesPensionPlanDescription', window );">Description related to pension plan</a></td>
<td class="text">all employees were entitled to pension benefits equal to their own contributions plus 50% to 100% of individual fund account balances contributed by Far East, depending on their years of service with Far East. Far East was required to make specific contributions at approximately 10% of the basic salaries of the employees to an independent fund management company<span></span>
</td>
<td class="text">all employees were entitled to pension benefits equal to their own contributions plus 50% to 100% of individual fund account balances contributed by Far East, depending on their years of service with Far East. Far East was required to make specific contributions at approximately 10% of the basic salaries of the employees to an independent fund management company<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_PensionSchemeBasicSalaryPercentage', window );">Contributions percentage of basic salary for pension scheme</a></td>
<td class="nump">16.00%<span></span>
</td>
<td class="nump">16.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PensionContributions', window );">Aggregate contributions to pension plans and retirement benefit schemes | $</a></td>
<td class="nump">$ 191,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 192,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 302,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_srt_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember', window );">ZHEJIANG TIANLAN</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PensionContributions', window );">Aggregate contributions to pension plans and retirement benefit schemes | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 3,710,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 2,766,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 2,691,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_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember', window );">ZHEJIANG TIANLAN | Bottoms</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_PensionSchemeBasicSalaryPercentage', window );">Contributions percentage of basic salary for pension scheme</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12.00%<span></span>
</td>
<td class="nump">12.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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember', window );">ZHEJIANG TIANLAN | Tops</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_PensionSchemeBasicSalaryPercentage', window );">Contributions percentage of basic salary for pension scheme</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">14.00%<span></span>
</td>
<td class="nump">14.00%<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_clwt_EmployeesPensionPlanDescription">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_EmployeesPensionPlanDescription</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</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_clwt_PensionSchemeBasicSalaryPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_PensionSchemeBasicSalaryPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num: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_PensionContributions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow for pension benefit. Includes, but is not limited to, employer contribution to fund plan asset and payment to retiree. Excludes other postretirement 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> -Section 45<br> -Paragraph 25<br> -Subparagraph (g)<br> -SubTopic 10<br> -Topic 230<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_PensionContributions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiaryIssuerMember</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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember</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=clwt_BottomsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=clwt_BottomsMember</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=clwt_TopsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=clwt_TopsMember</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>141
<FILENAME>R124.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>Risk factors (Details Narrative)<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>CNY (&#165;)</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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember', window );">ZHEJIANG TIANLAN | PRC</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_ConcentrationRiskCreditRiskFinancialInstrumentMaximumExposure', window );">Concentration of credit risk | &#165;</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 500,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestrictedCash', window );">Restricted cash</a></td>
<td class="nump">$ 67,750,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 128,000,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_srt_ProductOrServiceAxis=clwt_HongKongAndPRCMember', window );">Hong Kong and PRC [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskCreditRiskFinancialInstrumentMaximumExposure', window );">Concentration of credit risk</a></td>
<td class="nump">102,000<span></span>
</td>
<td class="nump">$ 70,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestrictedCash', window );">Restricted cash</a></td>
<td class="nump">$ 251,000<span></span>
</td>
<td class="nump">$ 6,039,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskCreditRiskFinancialInstrumentMaximumExposure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 amount of loss due to credit risk that, based on the gross fair value of the financial instrument, the entity would incur if parties to the financial instruments that make up the concentration failed completely to perform according to the terms of the contracts and the collateral or other security, if any, for the amount due proved to be of no value to the entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-21<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskCreditRiskFinancialInstrumentMaximumExposure</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_RestrictedCash">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash restricted as to withdrawal or usage. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-8<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(1)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestrictedCash</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember</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=clwt_CNMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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=clwt_CNMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=clwt_HongKongAndPRCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=clwt_HongKongAndPRCMember</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>142
<FILENAME>R125.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>Risk and uncertainty (Details Narrative)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2024 </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_RisksAndUncertaintiesAbstract', window );"><strong>Risk and uncertainty</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_clwt_RentalIncome', window );">Rental income</a></td>
<td class="nump">$ 31,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_PropertyPlantAndEquipmentFairValueDisclosure', window );">Property book value</a></td>
<td class="nump">$ 76,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_clwt_RentalIncome">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_RentalIncome</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_PropertyPlantAndEquipmentFairValueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value portion of 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://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2E<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2E<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482106/820-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 100<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482078/820-10-55-100<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentFairValueDisclosure</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_RisksAndUncertaintiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RisksAndUncertaintiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>143
<FILENAME>R126.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>Related party transactions (Details Narrative) - ZHEJIANG TIANLAN<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>CNY (&#165;)</div>
</th>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>CNY (&#165;)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Investments', window );">Investment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#165; 4,469,000<span></span>
</td>
<td class="nump">&#165; 4,708,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_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember', window );">Engineering Service</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_Investments', window );">Investment</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">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_clwt_Remuneration', window );">Remuneration</a></td>
<td class="nump">$ 2,037,000<span></span>
</td>
<td class="nump">&#165; 1,878,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_clwt_Remuneration">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_Remuneration</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_Investments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all investments.</p></div>
<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 944<br> -SubTopic 80<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480078/944-80-55-14<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 944<br> -SubTopic 80<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480078/944-80-55-9<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)(1)(h))<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 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(1)(6))<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_Investments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidatedEntitiesAxis=srt_SubsidiariesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_ConsolidatedEntitiesAxis=srt_SubsidiariesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=clwt_EngineeringServiceMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=clwt_EngineeringServiceMember</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>144
<FILENAME>R127.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">12 Months Ended</th>
</tr>
<tr><th class="th">
<div>Dec. 31, 2024 </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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_FairValueOfPutOptions', window );">Balance, December 31, 2023</a></td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_NetIncomeLossToPutOptions', window );">Net income (loss)</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_ForeignCurrencyTranslation', window );">Foreign currency translation</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_FairValueOfPutOptions', window );">Balance, December 31, 2024</a></td>
<td class="nump">$ 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_clwt_FairValueOfPutOptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_FairValueOfPutOptions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_ForeignCurrencyTranslation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_ForeignCurrencyTranslation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_NetIncomeLossToPutOptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_NetIncomeLossToPutOptions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_CommitmentsAndContingenciesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>145
<FILENAME>R128.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 Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_clwt_UtilisedForIssuanceOfBankGuarantees', window );">Utilised for issuance of bank guarantees</a></td>
<td class="nump">$ 183,000<span></span>
</td>
<td class="nump">$ 355,000<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_clwt_TangibleNetWorth', window );">Tangible net worth</a></td>
<td class="nump">3,846,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity', window );">Banking facilities available for overdraft and import and export credits</a></td>
<td class="nump">897,000<span></span>
</td>
<td class="nump">897,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_SecurityDeposit', window );">Secured by bank deposit</a></td>
<td class="nump">$ 897,000<span></span>
</td>
<td class="nump">$ 897,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_clwt_VolatilityRateForCompanies', window );">Volatility rate</a></td>
<td class="nump">102.39%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtWeightedAverageInterestRate', window );">Weighted average interest rate</a></td>
<td class="nump">7.12%<span></span>
</td>
<td class="nump">7.02%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LoansAssumed1', window );">Bank borrowings</a></td>
<td class="nump">$ 154,000<span></span>
</td>
<td class="nump">$ 293,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_ShortTermDebtInterestRateIncrease', window );">Average interest rates</a></td>
<td class="nump">7.12%<span></span>
</td>
<td class="nump">7.02%<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_clwt_MediumDiscountForLackOfMarketability', window );">Lack of marketability medium discount</a></td>
<td class="nump">15.70%<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_clwt_EarningsRatioMediumPriceDescription', window );">Description of earnings ratio price</a></td>
<td class="text">Median price to earnings ratio of similar companies of 23,965 (Range 4,7288 to 36,7237)<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_clwt_AverageUsefulLifeOfACompany', window );">Average life of a company</a></td>
<td class="text">21 years<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_clwt_OptionsEstimatedUsefulLife', window );">Options useful life</a></td>
<td class="text">20 years<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_clwt_RiskFreeRateForCompany', window );">Risk-free rate</a></td>
<td class="nump">2.69%<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_clwt_DividendYieldRate', window );">Dividend yield rate</a></td>
<td class="nump">0.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_clwt_IntermediateLifePlantsUsefulLifes', window );">Useful life</a></td>
<td class="text">20 years<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_clwt_OptionsStrikePrice', window );">Strike price of options value</a></td>
<td class="nump">$ 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_clwt_FairValueOfOptions', window );">Fair value of options</a></td>
<td class="nump">$ 0<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_RelatedPartyTransactionAxis=clwt_PactAsiaPacificLimitedMember', window );">Pact Asia Pacific Limited</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_clwt_RiskFreeRateForCompany', window );">Risk-free rate</a></td>
<td class="nump">3.95%<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_clwt_IntermediateLifePlantsUsefulLifes', window );">Useful life</a></td>
<td class="text">20 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_clwt_AverageUsefulLifeOfACompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_AverageUsefulLifeOfACompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</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_clwt_DividendYieldRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_DividendYieldRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num: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_clwt_EarningsRatioMediumPriceDescription">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_EarningsRatioMediumPriceDescription</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</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_clwt_FairValueOfOptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_FairValueOfOptions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_IntermediateLifePlantsUsefulLifes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_IntermediateLifePlantsUsefulLifes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</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_clwt_MediumDiscountForLackOfMarketability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_MediumDiscountForLackOfMarketability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num: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_clwt_OptionsEstimatedUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_OptionsEstimatedUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</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_clwt_OptionsStrikePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_OptionsStrikePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_RiskFreeRateForCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_RiskFreeRateForCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num: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_clwt_TangibleNetWorth">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_TangibleNetWorth</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_UtilisedForIssuanceOfBankGuarantees">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_UtilisedForIssuanceOfBankGuarantees</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_clwt_VolatilityRateForCompanies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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;">clwt_VolatilityRateForCompanies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>clwt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num: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_DebtWeightedAverageInterestRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 interest rate of debt outstanding.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtWeightedAverageInterestRate</td>
</tr>
<tr>
<td style="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_LineOfCreditFacilityCurrentBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></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 borrowing capacity under the credit facility considering any current restrictions on the amount that could be borrowed (for example, borrowings may be limited by the amount of current assets), but without considering any amounts currently outstanding under the facility.</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_LineOfCreditFacilityCurrentBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_LoansAssumed1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 fair value of loans assumed in noncash 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> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-4<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-3<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LoansAssumed1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<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_SecurityDeposit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 an asset, typically cash, provided to a counterparty to provide certain assurance of performance by the entity pursuant to the terms of a written or oral agreement, such as a 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 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_SecurityDeposit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_ShortTermDebtInterestRateIncrease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 increase in the stated interest rate on a short-term 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_ShortTermDebtInterestRateIncrease</td>
</tr>
<tr>
<td style="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_RelatedPartyTransactionAxis=clwt_PactAsiaPacificLimitedMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" 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_RelatedPartyTransactionAxis=clwt_PactAsiaPacificLimitedMember</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>146
<FILENAME>R129.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>Subsequent events (Details Narrative) - Subsequent Event [Member]<br></strong></div></th>
<th class="th" colspan="1">1 Months Ended</th>
</tr>
<tr><th class="th">
<div>Feb. 20, 2025 </div>
<div>USD ($) </div>
<div>shares</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RepurchaseAgreementsInterestExpenseAmount', window );">Purchase ordinary amount | $</a></td>
<td class="nump">$ 500,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_StockRepurchasedDuringPeriodShares', window );">Purchase ordinary shares | shares</a></td>
<td class="nump">350,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_RepurchaseAgreementsInterestExpenseAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 the amount of interest expense incurred during the reporting period as a result of repurchase agreements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 940<br> -SubTopic 405<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478779/940-405-45-1<br><br>Reference 2: 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(7))<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_RepurchaseAgreementsInterestExpenseAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_StockRepurchasedDuringPeriodShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</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 that have been repurchased during the period and have not been retired and are not held in treasury. Some state laws may govern the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury 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> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478448/946-505-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479886/946-10-S99-3<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchasedDuringPeriodShares</td>
</tr>
<tr>
<td style="padding-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_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>147
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
M4$L#!!0    ( -J#GEI&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#GEIST2HD\@   "L"   1
M9&]C4')O<',O8V]R92YX;6S-DL%.PS ,AE\%Y=XZ33>$HJX7$">0D)@$XA8E
MWA;1M%%BU.[M2</6@> !.,;^\_FSY$9[J8> 3V'P&,ABO)I<UT>I_88=B+P$
MB/J 3L4R)?K4W W!*4K/L >O]+O:(PC.K\$A*:-(P0PL_$)D;6.TU $5#>&$
M-WK!^X_099C1@!TZ["E"55; VGFB/TY= Q? #",,+GX5T"S$7/T3FSO 3LDI
MVB4UCF,YUCF7=JC@]?'A.:];V#Z2ZC6F7]%*.GK<L//DE_KV;GO/6L'%NN"K
MHN9;P67-Y>KF;7;]X7<1=H.Q._N_C-?BF_%9L&W@UUVTGU!+ P04    " #:
M@YY: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#GEK@"O;QA08   <>   8
M>&PO=V]R:W-H965T<R]S:&5E=#$N>&ULK9EA4^HX%(;_2H:=N9]4VK0">I49
M!%%65%;T.N[.?HAMA(YMTDU2U'^_20L-URFG]>Y^H;0T+T_3D_><)"=O7+S*
M):4*O2<QDZ>MI5+I<;LM@R5-B#S@*67ZEQ<N$J+TJ5BT92HH"?-&2=S&CM-I
M)R1BK?Y)?FTF^B<\4W'$Z$P@F24)$1]G-.9OIRVWM;EP%RV6REQH]T]2LJ!S
MJA[2F=!G[5(EC!+*9,09$O3EM#5PC\_\CFF0W_$CHF]RZSLRC_+,^:LYF82G
M+<<0T9@&RD@0?5C1(8UCHZ0Y_EF+MLK_- VWOV_4Q_G#ZX=Y)I(.>?P8A6IY
MVNJU4$A?2!:K._YV2=</=&CT A[+_!.]%??Z3@L%F50\63?6!$G$BB-Y7W?$
M5@/O<$<#O&Z <^[BCW+*$5&D?R+X&Q+F;JUFON2/FK?6<!$S;V6NA/XUTNU4
M?\A75)RTE98R%]K!NME9T0SO:.9B=,V96DITSD(:_BS0U@PE"-Z G&%0<42#
M ^2Y>P@[V$=R2025@*Q7/I^7RWJ[9'F0Z2!2:,**$#:A,-4WH8FBB:QZ\D+0
MKQ8TH^18IB2@IRT]#"05*]KJ?_O-[3C? 5R_Q/4A]?XY4Y'Z0'=T$4DEB.:^
M(0FMHJS1>;B[1??GPTMT>3L=36XNYFAX>ST;W#RAZ>1Z<G\^ F /2]C#)K!#
MW;V"Q+J'0_J.KNA'%2ZLY#B.Z^!.IX,!K$Z)U0'%RE=^_Y%6=AW<'#O[8X"B
M6U)T09F!1@ASC'%,%E48</L7$DL*</1*CEZ3E_2#QQE3VG?1.(JIJ Q\6.B&
M S1')<T1*#+,A,C[))*!#IDG2H1Q$*2]J_)5P6K[^R[>]UR RW6L#SI-^NE1
MYP=TQ?@;0W-*)&<T1!,ILQTF"6N"7>9N6;3;!&V^-&Q#GJ2$58ZQ&IFZB'*Q
M!<)-@,X3*A816Z +K:"6(!HL6(MF[=X%[;GTI'6<W=&4"V48YXJHK#+L:Q2?
MP#SD6F=W84LN;6E&1<1#,.SKI#:Y,D^6$)VU<K>1E^?F@(8::\%%]9N$=6XX
MVR=!H*LNH47"0A BM*[N-K3UM7>LNW&L+U>_5EAN_ 1169=W89O^3)4[VFXF
M6*SN;5K/=QN9OAZ0B2YWYHH'K]H^3$F%;C,E%6&A'A.5A(7P82YL2OI5O]MU
M._CHZ*2]JF*RSN_"9EWVU("Q3/=4,30K&6 A)3+(*["U? S;LRT4=*4EH[PT
MW$U5(U9G8=C:/6YD]V;DH)LL>:Y./34BNJ+:Q]AU/0C)&CYN9/@3%G"A^Z>H
MHHVC4AUCNJX0)M;"2BNK41[U($!K^[B1[0_"4,>X+(]YH>]68L%Z#RQ2:+2'
MW%Y[?  16OO'C2K[2D)<20CK75#=]TNB,]LEUQ]Y$0[&GTT%N%$JV! .S<FM
M0/>Z)JKDA-4ZA^@Q!UQFK^C2\-YQ DX8;4; L(5_!BTBL9(1%KJ\@GAL+L"P
M?7_BF7%MM#'Z,TIW#PY8L,[I;#[ <#Z8!"\"#;(P4EP?E:*:+!_#N^8F-7JU
M9F>S H;-? .U:YI;T_SW;R1)O\_10$H>1,:/9M-[:-G )@</]O,-V)0'>5=5
MKA3 $E<ZS1$TS9(T$WOH6I]\R(A =#9'>+"];^C&D4C0)*R$@Q4Z71_*#9[-
M#1[LX',:9,+$O8N?T7VDXLKW6"/"A2Y(S.RT6/C90XRC5%=2*Q*#0\#;6@>"
M'5WG^#"?!WPDSSRN1(0%AM-',+)L)O!@YRX[[/P], 9.=P9_C=#-8#X:_ $Q
M6<_W&GG^A"E=M^<+I69N0C;SJ$HX6!&>-GG6Y+V&9?]/TU^@3JO1J[,NS]J]
MU[#TWZS6V:HHV=5G_VW-Q[.&[\$&;8OM(#!I<3T#9B$1U68!RST<S _0Q6 P
M@^"LYWNP:9]E4E_),S93.MK07]?4E+E_5Y*!6K^Z'&O3@._\W^O'/I@5?I78
MI@:_T?2A>2E<H[=="D. -F'XC283S2OA&KVO5L*^S1G^EV85=95PC=J7*V%_
M:]?@2Y,+H!*N$0(K8=^F$Q\V_]F2ZY<Y)N_K"2P:41F(*-U52-7(]0[Q/NYU
M/;_7ZT)\-JGX<!+8&,^,"LD9H_'N;9::[$1648B>IFA*L\\+*@5;>VMOSJR7
MYCN0$N6N7&S3E5?+7<Y!L;=G;R^V2*^)66Z5**8ONJEST-6])HI=Q^)$\33?
MZ7OF2O$D_[JD)*3"W*!_?^%<;4[,'Y1[O_U_ 5!+ P04    " #:@YY:T!N8
M[? -   I<   &    'AL+W=O<FMS:&5E=',O<VAE970R+GAM;+6=87/;N!&&
M_PK'O>E=9YPS"1($E4L\XXCLQ1W726-?.]=OM 3;G$BDCJ3LN-,?7U!2! %8
MKLC.^D,<R1;W)5^  !Y@0;U[KNJOS:.4K?=MN2B;]R>/;;MZ>W;6S![E,F]^
MKE:R5'^YK^IEWJJW]<-9LZIE/M\<M%R<,=^/SY9Y49Z<O]O\[G-]_JY:MXNB
ME)]KKUDOEWG]\D$NJN?W)\')]U]\*1X>V^X79^?O5OF#O)'M;ZO/M7IWMH\R
M+Y:R;(JJ]&IY__[D(GB;)9L#-I_X9R&?FX/77G<I=U7UM7MS.7]_XG=G)!=R
MUG8A<O7?DYS*Q:*+I,[CCUW0D[UF=^#AZ^_1_[JY>'4Q=WDCI]7B7\6\?7Q_
MDIQX<WF?KQ?ME^KYH]Q=$._BS:I%L_GI/>\^ZY]XLW735LO=P>H,ED6Y_3__
MMC/BX #&>@Y@NP/8T /"W0'AT .BW0'1T /X[H#-I9]MKWUC7)JW^?F[NGKV
MZN[3*EKW8N/^YFCE5U%V%>6FK=5?"W5<>S[]='WSZ>HRO;C-4N_#Q=7%]33S
M;CYFV>V-]^<_!3'_Q2M*[_:Q6C=Y.6].O1^,]^_.6G427:BSV4[PPU:0]0BF
M<O:S%P:G'O-9Y/UVDWH__? 7(,QT3)CI]>_>3]O3A6*EPV.%R"EE8\+TG]*9
M*J)].;%].;%-\+"OG-9U+<O6RYM&MF\AV[?'1_#Q77OSMEGE,_G^1#4HC:R?
MY,EY=WK^+Y#YE,%2RF 943"C$,)](818]/-IWCQZJMI[L^Z%_&-=/.4+52K@
M;; -%6]"=<WUTSE/?/[N[.G09U1OK,^ 8L1#4S$C4C3\B_;^1:A_7V33UL6L
ME5L'(=>V ?C!-01!R"S74)6QKD&*$]LU(D7#-;YWC:.N7<QFU5I5,M4OSZ2J
M<7<+>>J5LH7LX^[%A$ELV8?*C;7/561)'%GV$2D:]L5[^V+4OL^U7.4OR^XV
MW=R[5?LH:]6U'K2GX/T;NQ<F LM)5'FLDX!@9!5=1B1H&"GV1@J\]:O*ME8#
M.\0S 50_N\E#1<9ZY@K&MF5$>H9ER=ZR!+7LLGQ2E:RJ"PG:E3AGSWW?L@L5
M&&N7*RB8W=01"1I^3?9^35"_;JLV7PRX-R?.=4P8FUC.H5)CG7,5 U_UKI9W
M1)*&=X&OA_(^.D:\KLHWIG?@0'$7A6BD2!HM)8V6444SR^, K8(C/8_B^;I]
M.?56B[PK$]7[=(/&5=<9]7;ANZ!&5>-VW<:51[L.2,:)5;>I)$TS-?\$Z,A^
MTY0V[;8;5P2:W]\7BR)OX89U%\MH(":1L$TDI1Q(,^%V;T2E:;JH 2; ">;7
MJIH_%XL%:%H(M''.D <7&&W:$,V,2M,T35-+@&/+)W47YVU1/G@+F3?2J[O)
MIS?5_9NU>K-M:/OO9@ O?,=34J !)%EH]_)4DJ:E&FD"G&E2>2]51S7WVOP;
MTL\'+EW$-@SB2J/- PC*=\Q[#9X)-- $.-$,P.C A8D@=#H14GR!)",;!*DD
M3><TP00XPMQ^NKVX\BYN;K+;&] VER>8+_S$-HZ482!1%C#?MNXU0";0)!,D
M@R8@5:=[IWK>5B$-/+JD!)8I:;24-%I&%<TL$(U* <Y*'_+RJW=7U>I U37!
MS:=++39>XB*C#08PB3MMP&M0$M.4Q-!1OYY.6^4OW5P:.)?N [>DL-M/7&CT
M++FK&4;.^)%*TS1/(PW#D68_!W30#( &ND3![4G5*:XUVC]7,N9V(THE:=IW
ML(B#0\RGS=SCKN)MIR/SV:Q>JYY<?EO)LNEQTT6+P+>O;8IKC[83T R8?2]3
M:9I^:IQA1Q9D=IW2JJHWR\[5O;>HRH<WK:R77F4-VX]561=%$J?&DL(/H!@(
MI\:^!OLPS3X,9Y_+<E8MY6:8CK67+G(XM9.4<0#!B-G.O0;B,(TX#$<<<R[S
M6.5SL2/RG=5"7'&TAZXFYQ.GPWD-UF&:=5@\>$[SV-"34?+,E#1:2AHMHXIF
M%HK&*(9CU-60-G8S)=*UR#.SD09+SD4@9[!%RER H,.J5(JFR1JX&+YVM&75
MJ\N+#Y=7E[>7&0BLS%W1B?P@LKTCI2A D\>1TV^]!ATQ34<,IZ-IM5P6K5[U
MG:F!JZJFLISUM<#'60F7'&WC4<&,2M!,=M&D%.+K23<?+[YD'S]=I=F7FQ^]
M[!^_7=[^#F:ZD"XHD49+2:-E5-', M'T%>+T]:F>%V5>OWC-8U[++M'LU/<W
M_[:_455]W3Y6=?$?!11=K2\K-6JKO:=\L9:_>.(TF4Q.DY!M_J;?%4VSWAU0
MK=NF52^Z%CUONM8[E3.YO%/4LD^VZS[7I;B!50%82;)7F*?X58XNX0&2&96D
M67":^T*<^R[F\Z+K^]2 <)47\S=%Z<WR5:$&B*")P$J2$':CCDN.=A'2M.?:
M,RI-T\:#]#L<]VYK-<A8=_6_K69?3[T@"4]Y&&YJ9""2T^C@1FA5D]^TIT=K
M\:FG/KZ2FWSEQ0M8'"ZFO4E\>S$1/_71Q0%JVOT#E:99')H-0YP-/W^9JI+(
MVW5;J3+9*8 .NK06VKD34UQLM(&0I%.=7X,00TV(X='$OO5RO<B[A9Q=5EJU
M5$J/71[^DQI,5PV<6>J"FPB<1I:4%2%)9TV12M*T4Z-B>&Q9K,W5K^:>S.NR
M;TH\=%>I%/0Z=9&4_2#-*+$7N:DT3?<TTX5'EL8VTQ6;UO.Q6LQEW?RX259I
M7U1;VM;%W;KM9G^\MO*R=5UYMW+VZ'U4G^R<]M1P>Y67+]Y5H4;=<@XZ#R0'
M<A$Y]9:4\T#1.'*\?PW4"S7JA3CJ75=EQR=UM5AT Z^B5&PMFYZT<I>^)MQ.
M*,#U1IOH2B;V8G)&)6E:J'DOQ'GO!JBXH'W "E4<3YS!%2GJ@:)1XG3GKX%[
MD<:]"%\8<R8<O(OKU!L*@1&P9 8LG>/G,#IW'UJG<Y?.J41-8S6V13BVZ>FR
M0B>Q@1YNXQ@[.+@]LS+%U49;"*S4.9H9E:;IH.:G".>G?W_,_G9Y<?VK=ZM^
M7EU<@^:1;H BC9:21LNHHIF%H2DL"@=E@O1O18LH66A*&BTEC99113.+XF _
M%4Y@?5N#O/_N-F^"I4,)6M-=-''8MX7<MQ,74E+5#%)E"3O8;&(ZJIDLPIEL
MR&XAW%U*[II&+G>%OD@2VUQ*T0P09:$X&#2;WFI BW! LS80X3:2KN5%+H'%
M<6RO^*2DHAD@*EAR,.HS;=2D%@TAM3%5DA*III&+5&$<L6!BFTFIFH&J/#R8
M]C#=U.P5X7F- S?-1*1IC:314M)H&54TLSPTR$4XR!W?-(/7=4IPFT8NN'$A
M0J?YI13- -&XZU'AFLXUWW&<[X9N8T#]Q37&^LL!?@L3NR4AU<P S9XFF6O"
MXSCA =L9<!<I$6[*781+DLBNI*2:&:#))P>30J:1&O0X#GJ'"?JX@Z2TQ]W5
MKRCR(\%L#TDY#E1E4=#GHB8T/HS0CB5,<5).(XV6DD;+J**9!:(YC0_DM%T.
M)5ZU2?F,NPMA@1^+A-M5FY3/0%7!@AZ&X ?/PL#Y;$ &-6XN*9YQ@)04*@6V
MMZ1X!HF&@O5U8AK/^!$\^S^3J7&_23F. RMI<6B[34IQ5-',0M&PQ\? WF#7
M28F/ XMH(O;MY\JDI*H9I)IPO[<)T<3'AQ/?T1Z2%/M(HZ6DT3*J:&:A:.SC
M./:1IQ3C>J-+#MS8Y@P/)\[ZC;V00G5:YJ.0- /&8]?XL&8$#S;6P]@%KR )
MDM"R*"55S4#5.#K8R61:J9DO#M!F9.C":$S*>J314M)H&54TLT T.\8X.SKY
M/WC=)@7(&-JA%_N1/95!JIJ!JEP</ ++M%(#9'PDT9(R&0@O!E($C=VT2<:#
MR-ZYFY*J9I!J-.%!SX@\UM@8X]C8EQ>$.TJ*C[$+<B)PAMRDFAF@&4=)S_QG
MK-$QQM$12A'"G21EQ1C -M[U1+:7I+ (JO+)I,_-@Z<JXK0X/%L(]YB4#V.7
M#\%Y/%+5#%3MG\>+-?S%1YZXV#UF%G6/E/-BE[A$*$)[-H-4- -$@Y!/#I:X
M3?,TYL6#G[V(>TB*>#&P(<_)@DM)-3-(,XK[:I]&LOA82J6B*R=O#?>2%+IB
M8/4M9!/G9B9=?0-$>_IQH:E+X-1U6;9Y^5!T(Z:AZVQXQ+%."@"".+-K):EF
M!FF*N&>]7FCL$D>2*;LIW_7WY<L!1I+BEW"7O2)N/XDC)=7,(,UXTG-["XU+
M L<E,"L5MY(4F00 +\S>XI22:F;'-$TK-2Z)(;A4.IDDN)NDY"-<!A$QLY_^
MGI**9I"H4-S;XZ?F'H%SC_5H*]Q&4MP1 'KXOCW13:J909K<[[N_->X(''>@
M1S7A3I+BC@ R%WD8"]M*4MH!1*,PXJS'2PT[ H>=[:ICFW^3PY9P\7"CK03X
M8F)O64E)-3-(,^@C&G'P"'F<:/:),@_5DZS+KL_Q'NHNSPNUDQ1S!/#L#^;;
MHTI2S0S0#**^Y$6A&4<<>4:(T_$,OME)J4< CP013GHMJ68&:"*6:NH1 S:2
M?=^=[R7LE NV><+"X;,4W,<MG/8\1:%O WKX?0,Z,S>@XX5&BE?")9V$<6>N
MA%0T.RIJ?L^"1JP$1ZSIKL!VIX#:B(<::V,"/+>1B]B>-2$5S8Z*FC9JNDJ.
M/+(>VM*/FTG*5[MHA_LZF/ G]JB!5#2#1'GD)!J<'7S+6O<E>G_/ZX>B;+R%
MO%?'^3]W@X]Z^[UTVS=MM=I\\=I=U;;5<O/R4>9S67<?4'^_KZKV^YONN]SV
MWPYX_C]02P,$%     @ VH.>6L-<AGV9 @  H@<  !@   !X;"]W;W)K<VAE
M971S+W-H965T,RYX;6RM55UOFS 4_2L6DZ9-ZDKX"DE'D-(D6SIU;=1DF[0W
M%VZ"5<#,-DF[7S_;$)0TI$NE\@"VN>?<<PSW.MA0]L 3 ($>LS3G R,1HK@P
M31XED&%^3@O(Y9LE91D6<LI6)B\8X%B#LM2T.YVNF6&2&V&@UV8L#&@I4I+#
MC"%>9AEF3Y>0TLW L(SMPAU9)4(MF&%0X!7,0?PH9DS.S(8E)AGDG- <,5@.
MC*%U,?)5O [X26##=\9(.;FG]$%-KN*!T5&"((5(* 8L'VL809HJ(BGC3\UI
M-"D5<'>\9?^BO4LO]YC#B*:_2"R2@=$S4 Q+7*;BCFZF4/OQ%%]$4Z[O:%/%
M>HZ!HI(+FM5@J2 C>?7$C_4^[  L]PC K@'VJ0"G!CC::*5,VQIC@<. T0UB
M*EJRJ8'>&XV6;DBNON)<,/F62)P(1[<W\]OKJ_%P,1FCR^'U\&8T0?/I9+*8
MHP\SS" 7"0@2X?0C^H1X(E=X8 J96>'-J,YR666QCV090W2.'.L,V1W;;8&/
M3H<[^W!3^FU,VXUI6_.YQTS3+)._D-S<Z.$,X5(DE)&_$+<9JY@\S:1*8AW*
M M%78*YW+9P0N"?6:<0ZKQ!+."_;A3H'^?U>O]]S[&<Z_Q^W)]-M9+JOD"G[
M!1<XCTF^:M/J'FKPK:[=[S_3VA9G6^XQK5ZCU7M1ZT+V.UZRIZW:X[^U=R#
MZCF>XSS3V1+F]]QC7[[;R.R^*//W=/+M:GCS%2WD759FF\ 7&=01<,$+','
MD#V> UN#$;Y_9W4[G]NJ\(W(]LSZC5G_S6K2/]CNGNWY]F%-GA!8B35W.J@Z
MO;YCMB(Y1RDL);1S[DL.5IT(U4300C?5>RIDB];#1!ZBP%2 ?+^D5&PGJD\W
MQW+X#U!+ P04    " #:@YY::-]<9%<,  !Z:   &    'AL+W=O<FMS:&5E
M=',O<VAE970T+GAM;+V=:V_;.!:&_XJ0'2Q:H*W%BVZ=-$!J4VH6;5(DF=M^
M4VTFT8XM>20Y;8']\4O9JF611XS5.=TO2>R(YR7]\OJ(M$X_%^6?U8.4M?-E
MM<RK-R</=;U^/9E4\P>Y2JM7Q5KFZC]W1;E*:_6RO)]4ZU*FBVVBU7)"7=>?
MK-(L/SD[W;[WL3P[+3;U,LOEQ]*I-JM56GY]*Y?%YS<GY.3;&]?9_4/=O#$Y
M.UVG]_)&UK^L/Y;JU60?99&M9%YE1>Z4\N[-R3EYG7A^DV![Q:^9_%P=_.TT
M1?E4%'\V+RX6;T[<)D=R*>=U$R)5OQ[E5"Z73225C[_:H"=[S2;AX=_?HL?;
MPJO"?$HK.2V6OV6+^N'-27CB+.1=NEG6U\7G=[(MD-?$FQ?+:OO3^=Q>ZYXX
M\TU5%ZLVL<K!*LMWO],O[0=QD( /):!M GIL M8F8,<FX&T"?FP"KTW@'9O
M;Q/XQR8(V@3!UJS=I[NU9I;6Z=EI67QVRN9J%:WY8^OO-K5R),N;JGA3E^J_
MF4I7GTVO+F^NWE_,SF_%S+FY5;\^B,O;&^<J=JX^BNOSVPMU@7-^.7.F5Q\^
M7HMWXO+FXE?A7%RJU\)Y]O[JYN:Y\\]_$-_[V<ERY_:AV%1IOJA>.#_U7I].
M:I7=1G0R;[/V=I<U.I U0IT/15X_5([(%W+1#S!1Y=P7EGXK[%MJC3B3\U<.
M(R\<ZE+N3"__<)[M<KXOP<2I'M)25NTO(-/3,1*_W,R<9S\]5Q_%TX%GQP=F
MWYEW,49B3-[CXP/3[\Q[,D;BR+SW*A';MQBV5>(#2K=ENLCR>T=5:M40\\V=
MZDTWI7H'JN'64,TP\[I:IW/YYD2-(Y4L'^7)6?.)N#]#-6\7S-\&:X:8Q[/(
MX]'IY/&P%F$J"E.14,)97S+&E$R 0C)&]XH]R_C>,FZU3.3WZATY9)(U\5B3
M=L&\@_Q[(>.:29B* E ,HD#S"%,Q 11]$L >>7N//*M'U_)1YAL)^6--.-8?
MS\@[\5BH5>D9IJ0 )(.(NYI#F)()(,FC@[ZB9Y&_M\C?)F-#<X6BJIWB3LU
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
M2^3/H"U,TA;FFXF=4E>:B[N)^IBZ4H8$'#.H6@15BZ%J'*J6H-3ZK4<B'W8
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
M#0&*N A7V]76-.50TX0P'1J'2\P5FC'79O[(9LVX[2P2,C,HUPH)R!1JRT9
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
M)PV)*BM*BE*.%8V6[F%$.41%XLC[J(K+ NLBU Z[)/*)_8>!74L74E;Y=AI
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
M]U575*MD4Y?%HG#MTP<=S(=O/5C(V,]Y[-G$V">SY/NZZJ[:Y.LJ=WD\P ,
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
M3V24CIY-_1Q6>"W:6%< NK<2'QMAA[&#^/N1JEW+J$OF/8_[?@ UMZX:-'*
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
MLZ#49/R69SABBN,U$TJU',>]6$DB0U,L%<^Y@.0VBGKJ]JW4TPQ_2 P^:!E
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
M/4+E#QU;12?EJ(?.!^.<Y2!TJ3I(AP\*-98HBPOCQ2;%KM[8<.(X+6?-A3H
M(\\_&[=(:JYJB 6)4^_./O\L3<Y./J.]/CW]C%4%8\T) '] "MXP$B+L[DAP
MM3 "&ZT>Q0ZGIGB'ACF$*.SMV&LO)XK+CTY=IM+#IX"+!H1:\HER6H;,X@'A
MNE;,(:1X E K9A?BH2FXL"L&4"DYX69@[##&N]R)B_2%ILUU912M_I&"Q(=^
M(2#4HX4&,3%V'\_J,:N5!Q-UITR1<TU(+F]#@Z63XZ/CSTSNX<YK+[>09;_1
M&BZ8HF2+3*2^@ H_6&K7V- EL]'X<3:QD&\5A4529\9V,5C^"PXG9:>RSU3B
M!BI<LZ6L,VJ<M<F*7#/I*-LUU.W2SD/X$",K>?L"N?XGQ8%TVD@46S;!-@RE
MC7JYU/YOW%D!V,HAI0'=\/ODUD#SD2FY80:@H'CU2IO]RTRE#-<@ 4/-B&+C
M;<:)3I(:#*?%7&4F<:;HV+DJEE3YO@$BIA943B7WV^YAERHOTE4HJXRU3/80
M.0'?"ZG\_(N+RO^.1_W'$V@DN43WLZ--JU#D5'3%!L-9^,5LC&GRMZ(3J-.$
M8Z]]P$OL2S&['>>K^OIYB#1%W$+50\UKATVG.K%"KKJQPAFFN'L0=WP!$18B
M.*X#W<Q_][X,)#*R^6@4#;@8C#NPML"OK)3!J[H(_B__G6V)\TIK"!)#GJK/
M:R,;?''JH)V-5)]!)S,+0";*S]0<$LJ@'@EIMCITLPS*5(3RNX/Z#+X,[ZM0
M3X8L;UY-%O]';8I3:V3A9&E2TG5R-R 7A19Y)=7)^%6"8]/4CXB<CKMF"CC?
M>C%-2*9B_0(H3V7(*M=>XR]EZTP#"BFZ(44O;;!&E8^<V':Y_X[B9Q6FD31L
MKH^D9.%DIDF&&C3H4[ARFZH5M8)5JPE(_!ME%)CD6')-0"3M%P* U%Z)JK-;
M\\'H$-M@J$24^LS1@1-X!RA#!Y^F-^B8QA;@TS@P'EM>?Q%U?R3C2/18F^P'
MH3<'9;U2+)&7^*F#8;JMBCP["B H#D>M:B=<?=JJ03=7K07>&L*53+@ I#%\
M8>M3+'V*/K;F.JI]0#X(<J_EODUT"":4<!UY#[U4.>?7;J2X"EN;!N/3<[3F
M\!/\M<1^HN62? =]Q19@"<A",GV(Z<'&7FNB$8@"!B$5MLIM)(7&-TO5/D">
M?6/NJ9;:P+^Q.[96, ?IS:[1YYQ.+&6P27,J3XMA8MB;T"L(S&RF5S'B0U6X
M#%<;3NPC8,[#3&J34M]T0ZXX*I\@WJH@C(68'Q/OW$;%Z[G!DB]=KV0:'7^7
M+Y)'L^/#D^#FI0%_I@&_-P-Z3R]5LYB8E!/GM(%OX'_ARR@$M<KO&@T#JHV2
MBH$2P1IF66.C_F2.3#!#[G"UC-I62:H_!  QL@$0LEE<$4T>AU)U)< T2D]7
M4V]1;?JNY?9L166:1)AA^'I0X7Z.I A]QZ6U=B&*-ME-J/,;>Y 2#C)OM>MX
M5["F0?3Q<?(=%A)*3I)]A(1ZFK,Q@OC+0>H)'/I;0ZPX@QSLDO_J:[)'<0%2
M0FX[]Q.99A:-)^LVKNT[ADF&54,Y8K64RFWADP>4K8D\^2FO$9,[)Y?85UN+
M#)($;'#'&3!5+2"A])1)/)[I6R,4@OD3W]!;#NBCJDW>  5HWZ\W8A6YN",Y
M?R(Z:R*CI]UI12*;@<WH3R>52PK'\/&SP3@;YW2G0X$MY=H'/O"Y-3/ :#R\
MD>J?/NB>/7U0M/#/ OZ#EYX]A7^2YLN]L[UG3Q?XQ\797M+BYZ3[<J^HT"EP
MV37P*[[6/?N?OW_]CY<7/WR;O(%_O[OX(1Z21GB^<X3DW;I\W&ZRA?MR;R.T
M=^\9$,^'QT]VP'?NX3O?"=]EOUY+E^PH<M8P+M&XQR#?/?;L*+G_\,E^AD7T
MR9NRC*-MW@REC_O%4X6*:2.,;9PSC[!P(;\_5>1P15%%0DY BH3%> X><^_]
MN5E, /<#5Z.&+&&_V*AC$&$5NQ2]"\-&\L!A#"IS-]J"+\JRX1(A8FL-RJ+#
MF-:*<^3V%P=PLB9(*/H@K6R#8XKTOK&ZH.(8>4(?V&YS(Z;V#9=EI^Q;S#06
M=T&D8@R=/?.:["=+(<%UTX:1?<W1!0I%6334=6W")]>@+IHP].TQI3PLF_D&
MK#E.6AEZ,30G2>R=F4AS7%U:RW.@UJ1RJXGR"VUMM64Q'$-^,-I1=%>WQ#O;
M([YG#\3_Y-:&[6_L;?@56=I2<C1DI<;M!13A5A1J</O4_?!/T/WPKJZ')S,$
M\_2AV"O&&QW^F[<W_+/V-@1Z]V$7ZN,T10P!9325%#SX920[#1'96P\Y]X.?
M(+LBHGAH'R=>1,UCKI&F]9ACYW% [8YUN5U,OE7/*1F7T58WEENESP=#5<'Q
M/=&Q1R/[D 6R&W#N7BO9<'/'=?GH#-CZ5[3O"SJ\L<0$+XSMZC=BPYV3.;\?
MP5+1LI *Q^-0*;Q"7(&8-QUE\OG7I:PR8$'AJ 4'B/M&&.&?HT/<E#U'-4CJ
MGY/8%BE<^=;YI=5<;)BWO])$%K\M+3#0^E!B;;EV=R&*M9Z^0=J0#E9T8LKA
M"!R46EBI+KT"+SC(-8OK:LAQC2W9+X[D2(YZ&Q0"@I%K[LT0-531! )N3D$&
MC+@>?[3"5XT[C#M:T(4*<C42%U\ET5M[=Q9R2:F.=F&\7$0G-G8J*_Y(@SI?
M;;-81D7CYVJ6"!7%M6KXI]X_OU/O'U3_3+/43_U_/O7_^=3_9[S_3]AWE2':
MJ5XOW'9BNE$KJ;-XW\OB+57"9K^X;YP7CL.TRYR+]1X=9OL2^3,VR-B[1+']
MO9YNQV(K$6@Q Q_Z*^<P9X.HRXO%L(%KO LCRU$W>K00SHJ_)X11/)C6*Y@X
MAF(85[VMYPS:R7!6-;&BTFE$@Z6=VA5FX/D><99+9R()/O%9\JRHA=+-8[4=
MII9#&8[4)6<L+"U@93W9A(BOGKEJG#DO);%]!0BS98:8C#?585\#1?V5MUIE
M(&262Y"=O6/V7FBH?U'15VP@"'F?H:**IMVAE<CE!WPV<06(((7)J4H8#F[5
MI_9,?^7V3/ONX-^@7\;K[Y_//D]//Y>^"_CQ.#T[G_G>"_C-%^G)R?E_2@,&
M.)GE@>FM\*FSPJ?."I\Z*R3_EYT53J41N5",DS^LLX*Y^F/- 20N9[(=P!;<
MN]L!:)C/AS<!V%\=_-8. ']LO7\"IZ^*BDC*1ZC^OW]U$"K5VQ+N+-/M*L[]
M!Q>R]X40[RX:_JFF_:>:]G_BFO;[!5"=B,N,A#]SC<BA?/.II:C;V5)4]T8B
MH.O8/<MQ\8/N@B%\>>A"V=GE\_W[=VYK^W]0Y\?17HU1Y("6!WO/9HS[OQR\
M;V>&K6H"?Y&V#/MO#^ZHF,\J0$6UU?G&,0GXU%CA4V.%3XT5/F)CA>_8>>C5
MAX(B<UUN58J09LK':M).PYMIR&[#P\3WOLMN4MH;*G':V="XOI7ZMQK8'N<0
MBAL*^3).V0?58)O-T!";OEEP3(=9"U?"89NH%V=*WX&AS*I :N/TFYCTO'?[
MB2J/"XV@*3(:\0_J4/%=/.EDEXGG?2%5?XCNCO>H.#GAS LVSZ4L2)U_AE2#
M0X88N^_=B^+\CH$&[2GN>OR5/XAUMD"9FQCO.<)\<A?,^R6R;KCNJX*UFR!S
M&M^,UWG8-87'J]44LH5DQ!3;HXAZ[ BCT5\0Q9$K4-SW0CHYT(FK52,$-&"I
M=YPQ6.50AT99[<:A:8<6"=QU??"[]>A@:C%8XZ?.'9\Z=_PU.G>,-.R(CW"G
M+R2AYN'RA_H_DO^0]N% =ZJ#Y-L@&G!]+Q$/I[ZW)4E)G]ZP[H+)E90OR]'^
M4FO!]#11T;)SBZN*S##6Q07+> $\(#M*?JB]\A@<(#9VH:%(59.O[X%@BD@'
M>K2U@*WXSC&I:YC&7T@-&E7Q.3[/Q/UA0E23<34@)E6W-E'?%2JN#V)<Z!D*
MVKD-%EY3\R+K.F***]'LU[ @L=*Q\BP6#&?&I C2D)AK>NC&'N)0%?>^4J<4
M-[L%IH@.\H54-K.-1I7Y^>0S)2V5Z60B*L*]5N*U(\LO.(-Y6+)AHK*[O,+%
M1'QY%>9T6F@B]M:^5^%B3X"F=$1D#S?9+=\4]!@--#K=';B(]<%H#QIC[<QK
MRCBZN/P);L@1)CL\/#R>I?K:/J<O/#J;1>$I(BZJ1R:(!6R$6DJQ$WY,PA34
MVBE5F$( H@Q&&03B0*&\CN!()[U@P57N;#2>3LL)(5)0(PT*QJ"]2T@0&6N$
M\[ZF*[$0[=+$I9_-E.Z=QLH!B50Q%W,J%:*AK4$Z7TL=2<9(J^KM;- 3G8B-
M/>?#B7\V]@W?RL-T C'X*,,UU!!"A*=T_"GAC.ET04.)7O5,:PRI+;@<A[F&
M+1'W0V3LG5QQ4K31-,/NWT!'5-!./<48!(5$^)V\1ZL="<**@E%ETS49*TVN
MZAONZH?Q.5*7S?;V,74@_MWZ]6P!73 5#M2)Z8#L"<?91+UMAJ[\;0@,4]?B
M#8/F-YD4:I"R:#+9,#*!$-7(K!+/M+\Y2"ZOC/$O>44%FRK_N4'3LR^?L%V'
M(*$*3Q@AQ::5..=N4*AUO*)6%SR<CV;I^><<22.U7J74UM8/!PG7U88U_.L@
M^8EE_!!;A^=#*<YQ_:#WSAO%A] G0>8U1!(JYB!1X;;$I3^>  ,>PB]]OC*%
M!3,.\."ME*0-4WEF*M $GS?E\L65!&L(OLKM.!F>)M<"V4.>/5EZ>@HX7\^.
M&(-*+:8&<HB@T<JU+X2GFJ")*/S1ZC^THX"D5*[ ED+0+62E2B*:"RV9(.T\
M^%:](8889_M&J8#J\Z E:'UDR<)09XEQGDTZ[,9<-N0E,VDHF,W#*K97FDV9
MQBDT"253?)BD#;K4O6\H#>>)DE>T4Y(>J]G-')+'44]>"&P-=L*]:0ZV"N5^
MK2G'HU9&XY8.)R?=DV2$=*)\ ^(PQ[;8JI_$KJC ;%/X9(H:U$F9'C^49+9-
M0P0YESHDQ[]F$,7D^VB[_J]IF[:[>&TZJ%R;_CX%<4UFT*=ZN+(J7ONGBK<?
M85,Y+QA#X)*HJC!<>F"<_[Z- O[GROU2@'"5O(%_L;C7U]5UT=25B'^OFKJ3
M,I=8]K^JRWIU^U%:"7R4B3]ZLX'][N!W*Y(9O6_E74I(%N&]I:3'/LI[9S<H
M>Z-!D5PPT1H/C=1RQ@"9%E+S\&B9+,WQO#*5&77:D!5,9JVMJ:40IY;@R*5[
M*4F^_<%_3NF[_>N#W[THZ_[-05Q N_U40?LO4$%[2<%@PS+:XOX:5,2>?98F
MIX\^8QP_/?^=2V)_\T%C( L.^?_1:DX> NBS&5?T/CGCZLS<;S%<W[]B6>X_
M2>UM'].,)3:"D/;QZF[_&4MN[[\[V*[O^8'E/;<*>V(\R59%S#]CV<Y10,5M
M\P>7[?P-%3OW;P\FRW5*(<X@6=G,ERNLVE'[JA7&FTL)4",Y3* D;.HVPNA/
M!2X_%;C\MREPF8Y*>?\W!2W53G,KJ2LL:3:],V;0*:.@%9'D#MBN88/R1:9<
M7)5UO;<2D%'3>!_V?T7EQ3]+IE_O'K/-J\+M1Y.'*WVH#)I-61TU5QV$8+J$
MA+VH#W*]O-8M-,=)Q130XW/LENJ3U*E85E@8X05>LW2$16/"#",B=V'>FB7R
M7$C,L\\-NHW[KFO-$PU+'I1W,<1HT';87)FH?".%=5$-L 4UL@.)>@V4JHGV
M=5"0$$XDRZCNG!L4YVQ L,%L/W[MA0 &>TO<A7P^OE :]FF=EQS>+K:"H&&-
M%NQ[3L45E9E^<W'YW)?J&_3.-#"U_O6>"@6VME)@ZP<0SJN#TLD!DQHO;$)L
M5AIK,TE7!S!G\Z-VA:.;MXV80<&&OA9!ND4G.(Q[P:$)[/;!@T%!@>H]X\AD
M3R@Y)!%D-V"8AN+B;Z;O=V2_1GM<=BMUV5 @BW(D1<*[*RORM4*G,0C3./"R
M2O[1@_2*T0FIWV)=%L8N4-S"R6DHR.VG?!F( )W)[,D+EA6_XU8($N%P.GL(
M#,(4[\8CB)^,^E\-AJ5N#GA.U =5+4;>Y[5%-$(Y0=4V?;B<B++2J<%TSM6T
ML9$',:W!E0/)1IQ<V+(5*4)PY3-MB!2C=H3FC/*-83L*7 EE\PVR %]V:E!J
M)61'*B?Y ").*0CQ#KP$CG:HPBIY>63U)!,A;[,/?(AW*R)K5/7.M$(T)"Z,
M7BP=%<Z,QN$YMH\QJG,AB>=Q48PMEV$<^16:-<]!UJTJ4_25TW"'_L X[LG+
MMRA0:ZC1$<G!@+_I.'HF@O8#;+9#<".='@CI@@-/*^WMZ'7Y&"RQR0U2N;6U
M!IQ5JS:&L$Y6*;S4<W+.W9C9*$&F)*([JA2D4K(F!G)9M,AB[C4VFBX8O1GO
M=L!JAQT<_A8(@0P23_Q'!CL$"I;DF ],4FHEE$PRI=)ZIP.U)VZ0<U-7_HQV
M@F!ZOB]5!5+IMR$TNQXAEU\<GLP\N90Z%6^H$(!0Q,_/C@\>)Y<4V;*\58@O
MXH("]L5A7WM^4WLH3%:U<%JVT&/W5H]SW7:^(Z!)4I V[!*EPU.<!NRP&IE\
MX1G>X)(C771CS?+U=,BH/VX,.T'G;$[,\",7!7@9^I*'KM[;YS0[.3Q^Y,_I
MN5J 7M3KN984\T%ZQ^<'GA>9M[E=-\<IH4UGHR8.(BEBZ++<B Q<AEMY>X26
MM-SB *-B_"!&8)!O:S(E8%>]:6L1%A:5._& 4_:3O-SX+AU( A\>/XQ;^)IU
MW!_J6CO/A'!#/$:FLK#%-@W#LG</TN1ZIH&C]QDN+/:Y4'8C;@\+'G5% UV2
MHU5LC/H4W'@-+#9(&#%=O]]"7*7NR)!FX512(=CF&7SDV_-Z(-I.RXZ:IJM2
M9DP@D4=,7+S9(=;LUN)(3DKA)*]1*WWM2$GPT;&/@%)^10G'F4].N^PK#-;]
M2H*)_*-&7)3MRB5>C'R1]%(^?"E8E,34U:"M=<D>2(T_H<-D1:CQ\)*7FXP5
MZX +]YB1K^^0'L[(Q#[\]GP7S_31'Y*<8&(\Y$BZZ-W!^3#=J&KK-2+<&7!:
MDY)%:M& Q<JA'A\>G\4)_G(&<N!B>:>P6[@FTLS[OLPW-AWXA%04;@:Z&->7
M5=STFY7N0&1*+QX6R"&NR+D,]B:B]D<6N\$84J;67DPVIHS>3$H[]0OU9ORD
MUDI(OBL$F;EL!D@V/TA^H"(?')#D)3 *M4")SZ.M-_79#0[[<W*,!N,;*IV6
M6?<<&Q.(C&F"LH9?HWET4.5=8XR""7+@J<]6J\:M3.3?R-AQ#+;,I.7ZJ""B
MS9@U0J XHD7FK"8W9BQ18!S5IC>W\%42G-1H\,$N(5H:%4[9J+O257"RX .(
M],4=T1]D9 XAK>^WY,G<"#Z$-:SO"AO 7_M3>I#LXRD=4)[XLM#83J,56F38
M"0V92!HC(Q6-1 0@+=@*?\)[O@+"588$LZ(1$72L5\X#VE3@"MFSIR (K=P+
M5Y84?%AU7^Z=[)EOD6Q_N7=Q\OABMO< W@R//WNZR5;N^ZQ9H5>^=$MX]?CH
M\_,]SGO0#UV]P2&Q8BQ(7?0G%FAP#3X OR_KNM,/. %6%"'PGOTO4$L#!!0
M   ( -J#GEHR1:3\.P4  )\-   9    >&PO=V]R:W-H965T<R]S:&5E=#$Q
M+GAM;+57^V_;-A#^5P[>6CB &NO]2!,#B9,^L'8-DG;#?J1EVN8JBQI)Q>E_
MOX^4K=AK;6S=!MN4>(_O'KP[2^=KJ3[K)>>&'E=5K2\&2V.:L]%(ETN^8OI4
M-KP&9R[5BAELU6*D&\79S"FMJE'H^^EHQ40]&)\[VJT:G\O65*+FMXITNUHQ
M]>6*5W)],0@&6\*=6"R-)8S&YPU;\'MN/C6W"KM1CS(3*UYK(6M2?'XQN S.
MKF(K[P1^$7RM=^[)1C*5\K/=O)U=#'SK$*]X:2P"P^6!3WA562"X\<<&<]";
MM(J[]UOT5RYVQ#)EFD]D]:N8F>7%(!_0C,]96YD[N7[#-_$D%J^4E78KK3O9
MT!]0V6HC5QME>+ 2=7=ECYL\["CDAQ3"C4+H_.X,.2^OF6'C<R77I*PTT.R-
M"]5IPSE1VT.Y-PI< 3TSON<+I-B0J+L#1J;.1P; ECTJ-R!7'4AX "0(Z;VL
MS5+333WCLWV $3SJW0JW;EV%1Q&O>7E*4>!1Z(?Q$;RH#S-R>-&_"[,#B;\-
M8OOC3#>LY!<#-(#FZH$/QL]_"%+_Y1$7X][%^!CZWW7Q.,C/TG"*SN@;8#04
M)_1QR>FUDFV#AFJD,II:G)@BLY:D.QU]1A\5FXEZ0:R>H=;J=H[>:14HGB/=
MU N8Y99P2A\:KH /:5&7<L4ML$T.@,A(PRH0'GC=<DT5UYID+\\?,5DTUQ[N
MRJIU%J59PIL-QP.DX0 SSNP&W[!'KD]=)&(&,V(NV+3BQ+3FL#G]L@V$F(+T
M4FI.K>96GS@KEUOV\Q_R,,A>]A[)&JAOK<&MOE&LULQ-#^W :FE(BT4-DR6K
M.Z^6[('3E'. 5P(-R@Q,&0EYA7%#S% )=5F)V8:#E,#0;YPA3MLMA%KGJRG"
MWM:[72*[A/3I_L>-G[[O']W==5D^?'94>$E<4!!Z01QA$T7A[DE2XN51C#4K
M,JQID%&0>%$>49!Y1>Q3$.-2?'W>(QI64NN3(Y;#+*<HRV@8QBF=[%D-LXB&
M<92#G!2(J695)4N7JE(JE"AN^TJA89 FD!P&N548AI&/2Y2G%KG ;1#$_WUF
MKVU!E\*5R)'>@''[#?.]^")"3I$[)).BB":L$;8G7$0S 4U;_PN%!!Y!CO#9
M/ZP0G\1]LD-1'@OILNN5PQ93+TUSRKTP+/;LH@A\6PN1EQ>(U?<R/Z<0)17Z
M] Y]*"IA!#^&#-D$J?!2/]E']O*D ->/$H*1P)9B"E-#@;'UFLN%8LT2;5<!
MDU5?M$#CSK>SQ79]]V>)-+CZL0,/(DS37**BUIAJ_UO+O7##Z/9N@K1%14X9
MTI'8?D+9OY&([2?I4IK%"?HNSPHKD<7TP0X[C9A#Q%E$J<U!<:#MD ;DX1V
M7E28*[/MN!L&1[)3?27^EY1\1^D\!910V@<>)*CP-,05$P:58]T:BH<3>L]^
ME_89L&DJ88.]YH:)RGDGT  /8M;"Z2<^*TO9UFZ^X)^+5M+-<%93\LSJF.W_
M5S^]FU:52V:'@YW0WW'>]QO;=$DX@F<$.I8 2\^YHM!RXA!+%.UR)I1CF^&7
M[I*OD9QG_:\GWZ!47NR37O6D89^M;24?RM83_Q]G:]LOWYFKR;;'+C$"X'/@
M8RGPZQE7;HONQ9+O,B:.88/M2=<N:7ND&Y>*/=*KKTFOL<D<L2>]V61QA_1V
M0X*1;SV>C78>FB&^<*\&FEQ"N^?GGMJ_?5QV#]U/XMVKRWNF,,CL \X<JOYI
ME@Q(=:\#W<;(QCV"3Z6!;^YVB3<HKJP ^'.)Y[;-QAKHW\G&?P)02P,$%
M  @ VH.>6AU-*A)X!   H P  !D   !X;"]W;W)K<VAE971S+W-H965T,3(N
M>&ULQ5=M;^(X$/XKH^QIU95"B9UW%I"@^WK:]JIV]U:Z;R8Q$#6)6=N4Y=_?
MV E9. ''AYY.K8+MS#Q^YI5AN!'R22TYU_"S*FLU<I9:KP;]OLJ6O&+J6JQX
MC6_F0E9,XU8N^FHE.<NM4E7VJ>=%_8H5M3,>VK-[.1Z*M2Z+FM]+4.NJ8G([
MY:78C!SB[ X>BL52FX/^>+AB"_[(];?5O<1=OT/)BXK7JA U2#X?.1,RF(9&
MW@K\6?"-VEN#L60FQ)/9?,Y'CF<(\9)GVB P_'CF-[PL#1#2^-%B.MV51G%_
MO4/_8&U'6V9,\1M1?B]RO1PYB0,YG[-UJ1_$YA-O[;$$,U$J^X1-(TM#![*U
MTJ)JE9%!5=3-)_O9^F%/(?%.*-!6@5K>S466Y3NFV7@HQ0:DD48TL["F6FTD
M5]0F*(]:XML"]?1XDF5B76N%#LYX\<QF)8>:ZV%?([@1Z6<MT+0!HB> "(5;
M4>NE@O=USO-#@#ZRZJC1';4I/8OXCF?7X!,7J$>#,WA^9ZIO\8++375/V7H6
MR13*0*U8QD<.5H+B\ID[XSNA.00#.'7-Z1>9P!Q7FN<@YJ"7'.:BQ&(IZ@4P
M#>@&7LVX-*X86%^8AP_?'G][_2JA)'[K>=X_=C<8"8D)OW>5 N+Z20343:(
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
M%C:VWSN!X5:7D&BRNA?Z:I/-IF&TJVV[G35=YA7>].IK9C)O3>"2J%'W^#
MT_2_9N)T4?><A7;4P>IA3K\,-!Y ^TNMW<O$!VA_0M._4$L#!!0    ( -J#
MGEHXJ<*4K 0  ( ,   9    >&PO=V]R:W-H965T<R]S:&5E=#$W+GAM;+57
M;6_;-A#^*P=W*-I"L/5B2TJ:&(B3INW09$&2;MB^,=+9XB*1*DG9R7[]CI2B
M.*VC#4,&6!3?[N%S1]XC^F CU:TN$ W<5:70AZ/"F'I_,M%9@1738UFCH)&E
M5!4SU%2KB:X5LMP95>4D]/UX4C$N1O,#UW>AY@>R,247>*% -U7%U/T"2[DY
M' 6CAXY+OBJ,[9C,#VJVPBLT7^L+1:U)CY+S"H7F4H#"Y>'H*-A?)':^F_ K
MQXW>JH/UY$;*6]OXG!^.?$L(2\R,16#T6N,QEJ4%(AK?.LQ1OZ0UW*X_H)\Z
MW\F7&Z;Q6):_\=P4AZ-T!#DN65.:2[GYA)T_,XN7R5*[$C;MW"@:0=9H(ZO.
MF!A47+1O=M?%8<L@]9\Q"#N#T/%N%W(L3YAA\P,E-Z#L;$*S%>>JLR9R7-A-
MN3**1CG9F?F%HOU5YA[JD@D#3.2 WQI>4]P-"#0'$T.KV+F3K$-<M(CA,XA!
M"&=2F$+#!Y%C_A1@0O1ZCN$#QT4XB'B"V1BBP(/0#Z<#>%'O<^3PHA?TN46<
M[D:TF;.O:Y;AX8A20Z-:XVC^^E40^^\'^$Y[OM,A])ZOMXOP+K+#<.?2(*3[
M, CKV4  11ZK&U1]]&T1P=>KGUZ_2L,@>>_[_G>M7Y9+GB%0&"JN4;^#.(G<
M\P4I>0I9YL"K6LDUVF4T#=G?::,$-XU"#Y;\SE:TXR-;M,?MB8* GHB.F)$*
MUECPK*2Y01*ZYQJUX6*U91"F$-&8%\X"5R9$1.M].,JRIFI*9C"G+":Z&6=.
M)]X$GK\7PEM72?>H$LSV((A3^!V9 K2'^KG 4!$.1N=IZV1[W:Q@:H403&D]
MB")X!Z>TW >F#="Z0I,$"L-*X"*3%<)2R0H8Q;D[RUS  OF?Y+P'%Y?'0'H-
M&XI. =Q +BE&0AIP\3<%@N&FQ/'C$EP3PMI&;\5<!-=,<=EHV+![.]1A&0GR
MQI#6/X+ 34.XK,6W7XDNJ QT3<[1_KGS!31#+IU93N.VSK5NF,BPZ]<(F11:
MECQW $LN:)23R]I0ASLN8[@F 'LTK= 3R;)Y,'\,!=MU<,E!5M.4.TY2CN6]
MW8HD]NPVO+%[MV\[4M]VO!T/).VL3]K98);]\>G#SY^/SC_"-95?CLYWY>D@
MPG\4E;CG%[^X",;_ ]^DYYN\K @.P^V-A_7OAQ,$+L4A@LNSQ58*/VTM&E[F
M-GLL5KE;\((@]!(2F(?WOY:^J1>2PDV]( R_E[^I-_,C*J=)"A>],Q7+"G);
M<2N0OI?.0ON*@SVXEE9)@BCTIM2R;Y]T]1^$T4*R2BK#_^J4,IEZ<1I8J8Q3
M8A!3K47>-7).23M+O"1*(8ZH;S:DIWVT;1D.QOQI:Y>DQEZ0S&#F[<53JL]2
M'XYV*(3G1.1'::D'CTE=8KZR:J=!8]8H3AEEI==B'<NJ9N*^8Z?I]BANH91,
MM!ML"JYRJ)E-PJZWDHVP<2>9?2I6Y&22)-MJ13WT?0KCYP5KLG4KK) "8>^^
MFC26UF@OB'UO?[T^:F^5C]/;N_D9Q9$3P1*79.J/$U(NU=YWVX:1M;MCWDA#
M-U97+>@O BH[@<:7DBX=7<,NT/_IF/\-4$L#!!0    ( -J#GEII,_,+_0(
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
MD>\VSNXFNB9M>6L7L3.FRPK?7/9R .\W#MM"?R,!QK5_]1]02P,$%     @
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
M,%665HP_%K334;L$BN=*V;7A"K3_$J/?4$L#!!0    ( -J#GEJ>RODE70(
M %D%   9    >&PO=V]R:W-H965T<R]S:&5E=#(U+GAM;(V4VV[;, R&7X7P
M@%UM\:'I 5UB($F[M<5:%.T.P.X4FXZ%VI(GRDV[IQ\E.U[6-<%N+)$B/_V4
M3$W6VCQ0B6CAJ:X438/2VN8T#"DKL18TT@TJ7BFTJ85ETZQ":@R*W"?559A$
MT5%8"ZF"=.)]MR:=Z-964N&M 6KK6ICG.59Z/0WB8..XDZO2.D>83AJQPGNT
M7YM;PU8X4')9HR*I%1@LIL$L/IV/7;P/^"9Q35MS<)4LM7YPQF4^#2(G""O,
MK",('AYQ@57E0"SC9\\,ABU=XO9\0__H:^=:EH)PH:OO,K?E-#@)(,="M)6]
MT^L+[.LY=+Q,5^2_L.YBX^, LI:LKOMD5E!+U8WBJ3^'K823:$="TB<D7G>W
MD5=Y)JQ()T:OP;AHIKF)+]5GLSBIW*7<6\.KDO-LNA"-M*+B\R4TCS@)+4/=
M4ICU@'D'2'8 X@2NM;(EP;G*,?\;$+*:05*RD31/]A+/,!O!0?P.DB@9[^$=
M#"4>>-YX!^_'Q?G5Y>SF$WSA[^?9S6LU[B6XQCBE1F0X#9K^H(+T[9OX*/JP
M1]]XT#?>J^\_KF _(#X<P0O(/[9!KUQ9@JQ?ROC:C%RVKCL("J-KH%(8+'65
MHR&0"O I0R+0!=@2H1$R?\_>#4#4NE46A,HW+OE+^%[CA!4_",#37%*CB:/9
M1^V29"Z%D4A@M8>^W))E/DK=$CRC,#1Z[7S#K=^]1K/R3<UU.37=GS]XAW=C
MUK7+G_#NT;D69B6Y^@H+3HU&QX<!F*Z1.\/JQC?/4EMN13\M^>U#XP)XO=#:
M;@RWP?":IK\!4$L#!!0    ( -J#GEH__;T&'P,  $X'   9    >&PO=V]R
M:W-H965T<R]S:&5E=#(V+GAM;+55;6_;-A#^*P<5*#) C23JU:EMP$[;-</2
M!LE>L'VCI;,E5!1=DK*;?[\C):OID!C8AWVA2-[=<\_QQ(?SHU1?=(UHX)MH
M.[WP:F/V5T&@RQH%UY=RCQU9ME();FBI=H'>*^25"Q)MP,(P"P1O.F\Y=WMW
M:CF7O6F;#N\4Z%X(KA[7V,KCPHN\T\9]LZN-W0B6\SW?X0.:W_=WBE;!A%(U
M CO=R X4;A?>*KI:)];?.?S1X%$_F8.M9"/E%[NXJ19>: EABZ6Q")P^![S&
MMK5 1./KB.E-*6W@T_D)_8.KG6K9<(W7LOVSJ4R]\ H/*MSROC7W\O@1QWI2
MBU?*5KL1CH-O''I0]MI(,083 ]%TPY=_&\_A24#Q4@ ; YCC/21R+-]QPY=S
M)8^@K#>AV8DKU443N::S37DPBJP-Q9GE9U.C@J8KI4#@7072;;12:]3SP% *
MZQB4(]QZ@&,OP$4,;F5G:@WONPJK'P$"XC819">":W86\1V6EQ!'/K"0)6?P
MXJG@V.$E+^#]_?']+S>K3S_#;S3^NOKT7(UG$>PUN=)[7N+"HWN@41W06[Y^
M%67AVS/\DHE?<I;??V[(6;CGR4;9)9S-\Z/U+^0*T/83J!LH-F0:.P*)&V,W
M,KB_7;]^5; H?QN&X=G5C=CS1M'M-K CZ0"ZH"7].(IN*7"B8#1<Y(S!3\#\
M*"W@#=QT!]3&18R\+@H_#1/G4F0Q%"R!#[PQ<.!MCQ.LKJ4R8% )BIL@6&(Q
MW\"U%*1OFCN)&'&C60RYG\\RLJ^$[#LB<^0D'A5L'F'/'Y%.*,NM>59087A
MI7D+<@N\)97C78E >@F5[#=FV[>D/>4 <Y'YC*5$.0K](HDH/H:'?J.;ZO&4
M?:ND@+O[:]A)PNT<VRCQ\SB$F1\6A1WMD1.]F/EYDD$4^7DQ&WLV-O!_[IG-
M\N+A:G>RT2Q]+N+?7;:NL9]FX3C+TQ2>NT;!$XT3J'9.R36X<QWD;MJ='HO5
MH)'?W8>7YI:K7=-I:'%+H>%EGGJ@!O4>%D;NG6)NI"']==.:'CQ4UH'L6RG-
M:6$33$_H\A]02P,$%     @ VH.>6@(EF,R'!0  /A(  !D   !X;"]W;W)K
M<VAE971S+W-H965T,C<N>&ULW5AM;]LV$/XK!W<M6L"Q]>*WN$F )'T=FJQH
MVA7;-UJB+*(2J9%4G.S7[XZ493MVW'9I]V$P8(O6W7//'>^%TM%"Z2\FY]S"
M35E(<]S)K:VF_;Y)<EXRTU,5EW@G4[ID%I=ZWC>5YBQU2F71CX)@U"^9D)V3
M(_??>WURI&I;",G?:S!U63)]>\8+M3CNA)WE'Q_$/+?T1__DJ&)S?L7MI^J]
MQE6_14E%R:412H+FV7'G-)R>C4G>"?PN^,*L70-Y,E/J"RW>IL>=@ CQ@B>6
M$!C^7/-S7A0$A#3^:C [K4E27+]>HK]ROJ,O,V;XN2H^B]3FQYU)!U*>L;JP
M']3B#6_\&1)>H@KCOF'A94,43FIC5=DH(X-22/_+;IHXK"E,@GL4HD8A<KR]
M(<?R!;/LY$BK!6B21C2Z<*XZ;20G)&W*E=5X5Z">/7G'T250LT+,&87)'/4M
MPM+-?M) G'F(Z!Z(,((+)6UNX*5,>;H)T$<^+:EH2>HLVHOX@B<]B,,N1$$T
MV(,7MT[&#B]^B),>8K ;@FIC:BJ6\.,.)K_A^IIW3IX\"D?!\ST$!RW!P3[T
M;R.X'^)260YA-(4M+/B8<WBM55U!S@Q@/6N\(>=0D*2!2@NL1U'< M8XJ"P3
M"0?G:V^E^N31) K'S\U2*6?7'(N2RKZ% LMUB08R,/P:C110^KRP"L))L^C!
M&8JF@!7I BDM7+.BYJ26U;;6G-)<E'6)\-(B2,5NL0M8!VR1C[>%G@B_9JFJ
M7(6GS/(NU(8(,0D\R[BK>1 2F7%C 1UWAH:/N[#(19*#,%C#Q!O#F:YT"Y6@
MY1F37]",3-!1SV6F-&XM"1&4CT^BRDK))4//CM]@UR26VC'-5('=STSA#\ZT
M 4YU ICEO)QQW68Z?<7PZ>J7)MA!$-Q9_;:Y=V@:G0HG8QB/X"I7VAZ0*^LW
M)Q!% 7Q41'Y=YW (T2$JU555+)U+,%E4(2B,*23,Y) A:_3?]W[?A@MW%W>T
M200,X ]T\)RL5DRD+A=9J6H**^Y 41.BD&['2S1=^SU9A;P0;"8*805'&JM
MM7X@2:W*[?0/QS%$DR&X>72@LH/:99?AM)\SRUQBH&%^D^1,SKEC5FP5V5.I
M)-EZ-KV[2P8.\'-_I&>L8))*S@WA[XKVPU/(;.64WA&', @ABF,XKS45)528
M:D20@J_DW&?=G<AN1&<28YP#>/<MPEV0W.UKTEC#:-3:;2P<PF  AQ%$X0 ^
MNXF+X6'4;.:[V]&VO_&R*[476T"I, EEGN\76PA#> S#WH!^+E;4=B7B5OUO
M86UN#E4/%0\)W-W;(8S']#O"2&X4=-L?#P?8_ U:$6556Y>U3=][&L&S1@>#
M1TT+2PNW\&^?9TVW,K! <:04C@9=HL-D2@1QR+DE)3Z5W^V^&N\Z+4K#+FZ(
MJ7P++FY[>\;DL!V3P[TS[L\W+W]]>WKY&C[B][O3RUU3<B_"OQSCHY;?Z.'G
MC-%/(#AN"8X??L[8"[&;8-S[3XX=WWWJB./VU/$3)O6'B[.UVMU<[9K44SA=
MKSJDL+/7#D(<%V^7I8N"VVVE'8@U\M-^I!,<!D#B48HJ$!]\"G^8P;Z6TI'*
M6&)TS5?E'H[0DF\+=_NQ/R4,QWLGU\\[(^P+[8\Z([P2TLW=KYX0!H, P_ _
M.A]\1^*:77YCC[<^0Z+N,#I$]J=)4I>U9[,Q6IY2.C_;'3X_Z*-N/)F@P(ZS
MQ=VD'(YB%+Q4\B#YNG#8'0ZB>[)[O9:B;A@,$?;;CA-;R=&VF%T07SE(Q+T1
MGB$.8%=G[Z\]TY=<S]V;"P,.SC_>M_^V+T=._3N!E;A_LW+!]%Q(ZJ$9J@:]
M,<Y([=]6^(55E7M#,%/6JM)=YIQA9R$!O)\I?+AL%F2@?65T\@]02P,$%
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
M-]-,N/0ED2;!MO'U/K<!WP)QN,3'%SD6P'YM\=+K)WS ]G-N]@]02P,$%
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
MC+!('="!-P#-I9:K2^@F]$.V]X"2?N'AS*9&M?LTE.F:L.;.$(#6483Z7#*
M$!7S&L<7<IDXVXGBMWK,C36;\\&+J^EY8P22N5J_8V5E\>VR7Q/Q4:(VLBD^
M4S1&VUWLM5:V^B=AJZ$MZ5)SC@E[+J#D/XDJ/JWH_/="KEQ>/](##\<I*HE<
M4"^&K*<E5!VBR#\J,#1B@&XKM;+JOYHF('H&YECH>L_=>VK;G#]Z&S;_!#3*
MNI)R%).$K*IHG=LAL!SWCU')D4W&J3/;A,)[[);K HO\"B<_4!4_\O!G#?TU
M :>XE^P\)DE)+6Q+"P;F5)K)@V>JZVT4?#Y,SO,ETE7H4L<#.\BS_RXX.1*/
MW_#\(XE]%E(VUGPA8V_2M^;I9'W#PI_BW0WM?D"VZQ+3:ZK.E] FYG9EYH@3
M"]F[MZ>M[7C?58MK-T6NMZE\-2GL>^$H8B.O/_!!-+89RHYAC\2W2/:. 9W0
MFP1$J\;>*)R $@V#W:SZ"\?NLFT8L6#H^4,G.OYJ<OV(6F^3YV]-G+\: 4]Q
M9Q8,O#$8[GCH#?TABJ#7GXS_# (=>D$$,H>H30)<]'T$XN=;H0^?/YD;<"/B
M@GO5\9;CN-'$T4;'&J<BHXT5\VQB9L#[_8F/*29]FL@?3]Q.6@4$^:C%K<B+
M\GRPW<U#J/] M&'K)/O@]+#]#PX;3B9LX U >:.*"6^4D)^D0W1=XQ=NGS98
M55SNOG.8E*JR-L7*H&YT!K#<K;3OC<I6(?+"B++J9\!.4XOC@V-O_T79 +_!
M_>ZNH94-A^U\^'3?\*D^H0'D/O"=U&U >;ZEBIE=%*D[1W*'-Y'GHW,:>&$P
MWM20)?W_5^XK2TW\:TCQ1:-Q"?1)[1Y4[4?U[Z,E+(Q& :-SSW&K:5M WG5N
M="I0UC4ZSVI48, @C-"Q[RA%E>*Q-QZ,8>@$O?W_>7>RBV#W6B\[9$(OW2L=
M5 GA__*]A^9N\];(2?FRQ$:\?.7D+:=_DPU+Q0)#_>X(78HN7^,H+ZQ:N5<G
M9LI:E;F?B>!SH4D SQ<*.W1U01,T[](<_Q=02P,$%     @ VH.>6I370/YU
M @  ^P4  !D   !X;"]W;W)K<VAE971S+W-H965T,S,N>&ULK53;;MLP#/T5
MP@/V%-2W-&VSQ$#3;M@>6A3M+L^*3<="=?$DN>G^?I3L>"G0>ABP%YNB> X/
M39.KO3:/MD%T\"R%LNNH<:Y=QK$M&Y3,GN@6%=W4VDCFZ&AVL6T-LBJ I(BS
M)%G$DG$5%:O@NS/%2G=.<(5W!FPG)3._-BCT?AVET<%QSW>-\XZX6+5LAP_H
MOK5WAD[QR%)QB<IRK<!@O8XNT^5F[N-#P'>.>WMD@Z]DJ_6C/WRIUE'B!:'
MTGD&1J\GO$(A/!')^#EP1F-*#SRV#^R?0NU4RY99O-+B!Z]<LX[.(ZBP9IUP
M]WK_&8=Z3CU?J84-3]CWL7D20=E9I^4 )@62J_[-GH?O< 0X?PN0#8 LZ.X3
M!977S+%B9?0>C(\F-F^$4@.:Q''EF_+@#-URPKGBEOK.5:DE0HL&M*FXHN:
M;9C!5>PHA0^,RX%NT]-E;]"E&=QHY1H+'U6%U4N"F+2- K.#P$TVR7B-Y0GD
MZ0RR))M/\.5CP7G@R_]7P3W=_'4Z/S-+V[(2UQ$-A47SA%'Q_EVZ2#Y,B)V/
M8N=3[/\N=I+N=;&WVB&DY["$R6SPM4$HF2@[P<(\Z1H<N6@D> E,55!QT3FL
M0$W2<!NFJ *B\/A:"UH,7.V@HO]W"=1OE%O"'7KN'[E_9'#;A1O*'+@L_ A#
M1V3L"0WM$%!CQ,NTEO*8D*_M3*LM.2CFK]I[R6>SLW0QN[C(O94M9BE]+;+R
M;);F&;S6YOAH("6:75@[%DK=*=?/YN@=-]ME/]!_PONU>,/,CBL+ FN")B=G
MIQ&8?M7T!Z?;,-Y;[6A9!+.A[8S&!]!]K:G!P\$G&/=]\1M02P,$%     @
MVH.>6HJ=D3,0#P  NRH  !D   !X;"]W;W)K<VAE971S+W-H965T,S0N>&UL
MO5IM<]LV$OXK&/>N9\_(MB3;B1LGF4F<-->[:Y-IFG;N(R1"$FJ28 #2LOKK
M[]E=@"^R9/MZ,S>=U!0)+/;UV1?RY=KYF[ RIE9W15Z&5P>KNJY>G)Z&^<H4
M.IRXRI1XLG"^T#5^^N5IJ+S1&6\J\M/I>/SLM-"V/'C]DN]]\J]?NJ;.;6D^
M>16:HM!^\];D;OWJ8'*0;OQLEZN:;IR^?EGII?ELZB_5)X]?IRV5S!:F#-:5
MRIO%JX,WDQ=OSVD]+_C5FG7H72N29.;<#?WX(7MU,":&3&[F-5'0^'-KKDV>
M$R&P\372/&B/I(W]ZT3]>Y8=LLQT,-<N_\UF]>K5P>6!RLQ"-WG]LUO_W41Y
M+HC>W.6!_Z_6LG9R?J#F3:A=$3>#@\*6\E??13WT-ER.]VR8Q@U3YEL.8B[?
MZ5J_?NG=6GE:#6ITP:+R;C!G2S+*Y]KCJ<6^^O7GVLUOE*M(1>'E:0V2].!T
M'K>_E>W3/=LG4_6C*^M54._+S&1# J?@I65HFAAZ.WV0XCLS/U%GDY&:CJ?G
M#] [:P4\8WIG?U9 V7Z^>SO%Q(M0Z;EY=0"G#\;?FH/7WWXS>3:^>H"Y\Y:Y
M\X>H/\[<P]M_<K51D^_4"S4@!-7AIMSZ6(GSEYGZH9R;DF) ?<IUB9_J3>5M
MSJM'JEX9]=9IGRFW4.^L1]0X'Y2N*N]N3<;/=28GT!+Z_:1S#FGEM]]<3J?C
M*[K!EY.KHQ/URRHN66L<E <':)@%\[7!]GS3'=W M;S2P(#@\J;/P+4K*EUN
M_A946&EO5B['RM"C3!1L9H("?/&.I=?@K5P2A:92M5-GX_%H/!ZKPXMXH1<U
MCINYLHEDP5SV.T(16%0?J8\^LR7P2WV69WWY^);ZERULG<0<*5ORR02@=&HR
M$H[^N%C8.1@>]14.#?[3;-3[HLK=QN" ]<JIRGC>3PZ(+733SE=JCMCS=M;
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
MDC@<L0#FIQHWEN:%#;1_/)S^ U!+ P04    " #:@YY:[*5F[E0$   \#
M&0   'AL+W=O<FMS:&5E=',O<VAE970S-BYX;6RU5VUOVS80_BL'=2A:P+!>
M'-NI:QM(TJ1IMP2!TVS OM'2R2)"D2I)V<E^_8Z4K2E;[&'-\L4ACW</'][Q
M'C'3C=+WID"T\% *:69!86TU"4.3%E@RTU<52EK)E2Z9I:E>A:;2R#(?5(HP
MB:)16#(N@_G4VV[T?*IJ*[C$&PVF+DNF'T]1J,TLB(.=8<%7A76&<#ZMV IO
MT=Y5-YIF88N2\1*EX4J"QGP6G,23T['S]PZ_<MR8SAC<299*W;O)EVP61(X0
M"DRM0V#T9XUG*(0#(AK?MYA!NZ4+[(YWZ!?^['26)3-XIL1O/+/%+#@.(,.<
MU<(NU.82M^<9.KQ4">-_8=/XQN, TMI856Z#B4')9?.7/6SST DXCO8$)-N
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
MQ(2=Y8* (%D/3(V8 _]8@C%/D"@G!+5@#X X'$M;U05:DR#C>5YFG#U L1"
M:.V)4])XR1I7(^T40]\**R?44"?X:DU_+*OE46V7SBP1GJ!GEG(8U2)^+_,9
MSV=J#9&JFK>AQ1L;_A*P;X6B+ K5!+=35 #E%,\Z;9[6II!K6N0=[":OSE&,
M&"XASQ/X-]2Q0#N"-X@F@:&<_,YE!)?6W&9*UE!$JE7]$?N4E RHHUQ!*W3)
MZHM>9'"DH5_X-8@;% YEZ[7+D0R[O]Q<[U7.!7XPH-:IP. (6B^JE8GT20-P
M3:U!7>+;=$"J'2 C<SBUJEN8@ *SC-Z>C.0B <X0V&]*'H,@A)/#L=C] +I4
M8K1_-#@^IN7#0SP.C_8VDG-4+K,$N=/([)Z6IURM4E7TQYVC%[6LX\[H!4D:
M'&,PR8&42^"Y-/J?L!(Y)&-:"$E>Q=+;VC@N0+-N4"O%\"D#^KU!9WC2[#H\
M!'6,V8+12>=D-**=[UJ,9_2472@K,6O"6(F"(K[H5\ DL\QY!AT(H@Y7 A;%
MKEBM5AW@$=(TR@[6=ZL7G85N?S ^&1R-N]5&!Y7X ]H0S;*%'I<5XF&KM58F
M3UT!E.F]X#SBX!\PH?^[S$+$DDKLU5Q;*;P.]P=3PMM:]J!S>'+<DC^I$4\B
M\:UCM 7()<-W@P,#J -Q99PC+)[M50H]RUMI]U]O7S^Q][!S,A[]-WM3Y.!_
M'(T)8D+T^K[FIBI37%T]V(/K(R>B^+[7XBXJM*=KZ-G%J3$;]C>-!345CPH9
MLP3U!0=(SY7T>2T73;$"[7+[^4S[<)KHI%&G5<[43X&8#&'D_J/69BAZXOV&
M9'>-"V$/8P@2ND]TJ:4'(F:@5#0QP22(ZSTO;X0?T2*A1WIKP6D,S)M.*)/>
M4Z7IYK>%,YK/<=%Q]^N;9I[B'_8I/( %C4X-)S[4@D'--60F2QPX'-Y4>Y1N
M7' *(2KM'[WDRE0V)-693M!XNS42JP 6915;6'!"Q=2I65HI9E:2:U2J7%U,
M2A\2C&],J"N?0 4]#VB8-J*>0D),9J0NT$+IG'K'Y9ZXJ9NBK'6NO7,5J:6
MPW02@'E (3XM4%/KB7XX71/<@X7J$QCE0N9"# WD1VIEN:>;Z#RP<@IG&*O2
M8'-T0T?@0D/+U ZUC\9N0BR(Y=H7XF/IHDPYQ<TC-1U&U^>]EC8.0Q.%+:DQ
MF<!(UD^2)IST,+XE*W?<4"$#39DK/E!]Q.DT$I1OSJ4=.M('1R$,+06I:/(E
M'VRY&:+#&K:A<;1Q\%28EJ9MD:**(9<BHFS59X?8VALDJ'9Z>&SJ0<M6%N\5
M.B^8JF<RUC1;QW%:@HUJI*'\KBR7J1FO9M<24R"1+4B6=Y5 FGW7-MJZ%:N2
M&I@$2&F7B:H[JIR!A]MW:HF;RC)JQHGD,J5R9O6FCT00B%&(&;" 08V82Z+#
M!5W[U!]/RH \"E#QNFG$4(M3.EK#",;7U,V00]-N1/9!(1*Y4X'CC4Y1H\5-
M>_-.960,:DX4,JOP5./@D?KM31W@Y$N^JGIMVA9(DO.18@J%80<F$:&J5&'M
M9I>3T*?Z1HO<[CM+"SA-SDN*TU5)NA6!A*T'PR5 []4G=U.;B%$+4)(:W.X
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
MG[^!&_#/;=' ,:RS"JX+/IQT-?ST/@^33K)JF?RV75[S6-U-!D>Y6L$-H*G
MY.H&OYRM\71;G&+6MGG'+Y9%=E6410='G-+SRZ)=E'6[;6AK8%I($/CAX9>2
MC#^#J]/5[U\P#C(VN2:_S:NMK"O_ *RHA1^6VP;W,KQ$9)HW1;T\3"[RI@-F
MY"DX;(],ZH>FWFYT1Y,LN8&KFS=PF:^;G&:N6X@[" <)[S1T,O"/HDFRS08N
M AWR80*G#I135(MRN\QE3HL:;I+2@*R!EY U%<RH359-O4[RZAI(*&^$,+H&
M6!3,\1:F A/.^0QNLW)K]'1=U\N[HBQ3&DW?\<=AOW/G<IC\&&B&3W&;E>5]
MDO/@N+]EB>,7,,H8,2'O6R;(2&^SHLRN2EPUBP5BKW)"39%7B_QE<E/?P<*;
M%/DN? VVH05&V<+WM^42* NHLN%MZ&@'[;.'$Y?YQ"[SR>15_"9KBU9H5L@/
MYCATI2?'09'XHMUDB_ROC^!FMWESFS^B>_[1E]J3!V\$S YD*_,*H\P+'I5V
M$P^CW5ZUQ;+(&CK&2\>ABZK+&YE$ D=>M=F"A\)WK[(29@%G>)/=YLE5GE=)
M7A8@/W".A\G$%I_:%I].;O&EF]G0QC[\[23#2P@$"%O%?(2NP-U-L;AQU_4F
M:YFZZ_(E_8!_V@"5-<@'X4[6L"5)W< &KV$ ^O,Z^ZUND(_*]J[S]15>9?GQ
MJLZ:)?ZP!#ZPZ.JF#2,W*,YQY$76P@V+AKJMN\#MUB!ZD0I&Q\0YP3C7N"IB
M(8Y&\*R$"KRHE;&*ZA:N!;"D+0A-X#M$4EMDKO #\BJZT< OA1NV-["5-W6Y
MS/FKR.!@QO*;J8MU9J=^-GENKVA&)JE M@"/&1.7TT/](U<>G0 72>IMPS0-
MX]/0E2R?UKAME>/+FM9Y=U/3/GM5!3;I//QXV<'VPFFT<*V6=&^(4SW^R[\]
MF\^/7IY?7M"_9B^?)#_5H$S,C]-$_N;7>9!\Q]_\D;^)9_9W(K9?X>\@'%L9
M)BE6R5U.Y%S53!R;IB#UZBJO<IA (:I6EOSZZCL\H65-C](MS92\2YR\[@5)
M&+\5P-A0PC1+%)7(SY$\188NLJ8AEL0R%)_-EK^!%@G/LH"$34#.#_0H8NI?
M.6W]IJE)DM;((9B02"!4P&*(WD / *T@6RY)L 'ITF2+JRTSG76V9!&W+&Z+
M95XM11QEFZ*#AT&3< _#IW/0Q8$1_2.7Q?#9LJJ"&P1,K0#>5C2T9J0/%,(L
MCX&KPEQQ*Y?Y DP1DK\F+//X]N#[A\DK_CN*8KS,H*-U!6U$?5?!W@A1&3G#
M,<+Z89-@_5N\>+AZOJSPXV*[WI896A-CVX;?HE?R#XL\QY,:.AUY,*;H,.O4
M*QK##]^1,+V"+V];4(Z()&22(S-;;1O:2)P=,!H> $GP*@\4L02&4^8P_3M4
MX-:@B2(!P7; H'BZ-HH3=ML-?@X?(J57=Y*.F+^"@@]H:>^B:A!<\2 PN46V
MIMU> 3FAZK%GF='K>#UG7[YL@_H%'\S*]H&'*5M%RC31!6Z7VRNGCO(=XZ_O
M/;NL#<<VQ9N_--[\Y21#_:FN#H8XR"!OGA[J>Q0>*HW9BFAB73Y-X#+33LR.
MCK[@:Y3BS>(-#'?0\P]6$GD7"E(ZZT4FI(4CH-1RUUQ%/[/ [!HDWK4S+0;&
M!DX"*][4U9+T?OX2S1\^AY/EZWYU[_2*PM2S)9E;P$JJL9U4/K-7XSM,1D\#
M/TC*9$7&3HMBG8U&NFPP^9QY@V[4P"=%O4O([L>/Y9UNAZR%E9@J_#[KF '3
M[9%;:JK"ZB.7[%3;6(WE0UC#^F[0<W-KI_0T>8RG].0P>4.76(Q'OEJB  9B
MF)Q-N*:RC@)U/KG#3$8WQ<:]@V33+(FA,>D4Y,DI6B8L9U /&D3A?(L*I-B6
MUIW*1M/LVG:+ A8N1+VA?4AQ9LL<)@ J=Q[,1IAY0PQM48+-%E02H(*\8+[L
MS&G3X%+0D&![[I3-+$ 1!4Z3_1]D8>1H0[F1@$*3G#P[2I-'R;<@;^'I;0%;
M 2^]=J.2S<4:S2/>@*!?VY27?&N(I]FRDIN\I,LS=CP)VJ8J25A!:8V,^=*N
M0*3'8MJ-#VP>: 65"5I>.<45GQE7?#9M:>1LR3M;=8@?3@\2=HD=#L"Y=X<-
M%C(N2Q3)0%RJ)!(99(N;'>+3/\ IH"N.R)#Y'.Q&12:T.CNV+7,Q]S;JT.OL
M/?X5M**BM>N(SH&V%?68)HN<0ZR<%D3@PHZ"EFC2DC]'_$)6VWIZP<MZ#2;1
MOV":>$T<%X 9P\6\JT%&P(?QWND +Y)W34:7!J<&4]FNT#^  I1]&M\%G\C4
MZ3^WTW\^>7!OQ?GB?#)#IS\]R#MGF/-%%!-1!F_%SOA$V^/LZ"Q-=*)T.R_,
M&43^OPMR Z,%1]L/5XL,"^!)F]+.;F<RA4KN1+T$[8WH8:KXZSO$K#:%> G)
MF8#>&1@9*')=(+&AYXDX$CI!"O0LH&FL$Q.#3?1:^FR3K]#SWIKP +U1'*/P
M9C#N=7+H.Z+':V0@I'R4S-9 AP9UX#HG$@?5"=3]G=GPS@0NN4)9 &;/1H0+
M*F,L6N""%3FY!\AX\EOY DXMWR2S%\FK)4Y@=:^39Y<:'0;]1M;-S\][S_MK
M5E^5Q;7=BG@X>OGX1?*MEQ/>E8,S@S'HN9,7R;E(R)''1*9_U-=/7P#A]:GA
M#D1W=#0M#-&NR%,S,OQA\O.VL0$*%"0-&GA,SE>@U"'Q-9T(_>KZ )?LG)YX
MM!$UH6KN_:/"0%)D7'<Y2!G4GG'(!XW4C3$='??0W]T.;,K.F"J[)\,'Q+?<
M+&D/B"8&[_TO&_*#AQO_B]WX^='LY.#H>?+XTQC&NQKNZL/9QI.4E.U6>=>+
MY,T(C>A!+X,3.GG\770*?-V>*-FHKC]&=><C?Z$9*7>A+0V4B82L+"@CSP'<
MSX[NO+OR2N]ZUBP^"N8W6YB9\PTI\5?YW0Z?5)ZJ']^Y5WU#)2<1K;,:61[.
MQ9F(61O=KI0<>!)D&=\@.X[#9. 0</=^8Y9YOQ&W3@OW%=AG=X<.WQ;][^A[
MR>Z)K=*9GB;W8 6;YAM\FGA-AFZFN*90@2A')ZO>6#E/?X*LP9!7",, NW)$
M+#.U@6 5!7/3@E0/HFRV"F7X'5Y&>@YM)@@=X.BICJFG=)A<H@W26Q38_1U)
MT!'B39,U^M;0 5)7,*WE-A"=DLL"-Q4/)0P&>G3PX,H9@5J_@K?N%V5^J'>6
M)5-,)'@(_OK@$P.7,D7=#]8*ZZT<YV]JL)!;/.L[8B3(O\N\TR&$JFEFV1CE
M'B:O?(S,I#)I&.Z#]K%%WG3,KN@LR1(2^]K8<,H,R3D/V2O)%N3=#3E5<B"&
M-FO V&%=I!U02?V<D0B$R$($K2XU3!83F>DQD=:"[-W1IEZHU&U D'T3=S5P
M2W'$*AW:Z8;['YX=$"3X#;#HT"02+Q&I]7G6LK3273],?J&(0/1L:M_P$<BB
MC>T2X'O7$LXEZG#.&KL?J3KZG!GHWC/:MP'4_WS=H"<&3$TR"\W,TU?PEYBD
M ;8#LBE96(ZL$NW>\I[9TL@4G8@H*$P);X!]R_2V<QOL65N]3FM=E/!R79'K
MR+[%\V)BYB&53@Z3'_(*.6EYCU;_;4T4A5<31T1GZ09&7VW+55&N\^#7Y=41
M$QN[:]ZR"+Z'J<OLCFN,%W<LHH@1]8^6@X,P[3969$=HD24@A9IDF77,>I&;
M8>Y/W[ST3$Q5F+=O?FY-A\$?T,)D1QA[3,TK;F'_NUPX4!RP$/Z_VF+T120$
MNG(=9:X+X2XDQT50DCD,;^ %S58@Z)AL&K$,6C7:O\D6[\OZ6B9[F,C/L6\-
M952C\R,:YLM'5,^\Q:*W]^Q)-P]:&'*=W:O['3G10KQ8*UU<" Y*W)CU'%N2
MN2YA3_R85QAN@),HT2V[)HTR7UH<Y0ZE=%:BUR8B]1T["K/ EEOT -R@U9O1
M(8"UA'YU(<4K^:H=IGJI=LXSBG [>P\.H\1CI8.D>\A&H! 4W]YMI>)L&2OC
M=E. \+\%(8(17DL,HLV"?QSSMM$7]&UD^19%I:$D_C0T4(IS8*N59HC>,CRW
M^QS/[GI;O4A^N?QW$51'1T>FC ?&/[:&@<_-D]/Y<?(3J*OAXC(;<,$&5.22
MY^G1R4GX6)"KR?QTOCL)IVZ(;</#/#Y-OWS^9?+$:&A@4L?)28I3^ZR5Z2 /
M6=MI>C:?#:[M>&!_)Y;V[/AD>FDGR3$\])RL6*5GC2T*U<#ITLQ3/-R,%+S=
MM0'=PG,TUL1S)VE\6;(0QX2G88#9LV-\G2^CCW'6;GX8/^+P<A$KI\ 29.(]
M"<TBRF14_H&=Q FZ:D$; CZP#;:W_A&Y5M=LU2)BMH,1!]!CX&OH56=]J</T
MDFO) ^HD/8UOC$T9W</,Q_ [G"%A!PAJ'\6-X3MK<K5EE#[A/>WN.ZP>K%'D
MZX+P8O)<*)B"X3J^L,9*3"%,@;,!:TW8LP0_,K,L5?-?YB5832E'JC?"Q*XQ
M4%@#,R=/[2U&$%7QJ3+DUBF2, T!XP,EIG("'RBXC&S;R^2V@T6AZ^I59:JQ
M?#EW'+XA 8O[I=N('H,2A[CGL)SP^</DG#DT[2]_I,W#-GKB$0-)E6ZDH$RU
M,)-$=>,$4>^P<#6PKVO*DN& *#-Q"IPT%,#'*+LNMO>Z)GXEV194UZ;X5_!2
MZ13Y[M XE&R!0A_4YL/D5Y@O33/V*AI#6#O_"8IJT..O;^2DA=93#, 4:SX_
M("^\B+=JD8%2C<XX43(BK6;(31[8'7D70T:+T-:.YZT%P><F2!E+E(DH+G8@
M!S(\,=I$25QI>#=>FV::F#?"MM5?7W[3,8BVET9V+3OH' NL_/=GKOJ3K%(X
M+84P_<0LWKTS";H#([KP=X6$?M7T0N,,$P;-7$.]ID"SAB)H\7GR3><G.-?.
M;?_NCG.(!4W\K*K$U1WFE>*EL4Q8/)P-.Q\U,(7\H] 420GZ#YI4R)(.DPL_
MUQ!/WU;,2-CV1YT'':6B<\/ S*+P2;4-Z$$FW2@4(Q=!_R;ZDR;2L@]=PI_V
M23L4^F ;+#TQ?//\/3OY01G,E;;B U%U,O:Z'BPRBD\I#P4%NVZ&SH'2A?0@
M@@>.G.'*B!?#6R?14A(B[493XD;W5':2%.<"S]<2BFBNM#'P)G"!1;'A?>XE
M.K%9T<K]["R7B,,(:D;A1::0<V837_'<D\?M%@@4[PIH2QNX<DOZ8[PECL)H
M06$22$A/X%#1KV#.^9X]R!+#>R](X%;Y=<UWAH@*MAO]>=NK\;A&BG_^3<RN
M]3;6E,5&=^^C+DP1P+N*3L\RD7GVK>ECM\.<6QRWUVIE&U.2C QVBS3%=8$[
ML<Y:M-R"!?KNIFAEI7A_<8"@8U :85"@W(ZJ.Z#G1V;7+9"2B,2EJ#[""[L:
MT]FB +:?B<]A&UFM6-"[CF9R<8Q[@V-/(4;;@CY,1I0IXYE/:@+*6MP< "UH
MQD,MO)E4-'==XIM&)\C,1")Y(@]VIOT8TQ0^B!7* FC7ARZ"1+2?L@"6RIDD
MRVR=76- (;/$*C"2;X/PB87M*KNMFU0R:MTZG S?,UW]#N:"Y>HUEJQTRER0
M T>&E;)P!DVWI1NY0L=8?EO4VY:(S Y$-O_P 9$5BLB21G-05 <<8AF-B3])
MOJ^;(0LG:]MZ480;0GPY#O\X-AW\QG@3AQ*K@9QRS&18Y$2QEOPLF9K$;?*J
M%5'](VIE$C,(7\5_98[+LQ[1BA8&ZPX),19BU%0"]LZQ0Q87@"9V,/\Y_;D7
MB -U%V9!/)G3-!MV<+#F>4_W0A--64\9B&_X'=%M5M.>LN:C/#]."5UOR)>Y
MX)2:>])3*OT!&29[-2=\=&F<Q-MZUR;5<@R7<MRC/8*[BX2.SLAZZ(I,)HII
MO- GZLCR[$Q&6-"8SS8D'TM6$H5FNV*#',@.[_SB$B.6=/W6>>>TEX=,7!/F
M8EFL=2^2;Z#/(%42 ;>>@I4D2%,Q7X4F,9(;A[VY1'MB%[ B&9,8#S!RU3)R
M>H2,,?) Y!CT)@^5*&1&EB21;FFAHKIC=H,;;FBLS]X[GV,F:1!\<Y?J#0T.
MNVAG]\Y_S\Q[FNC ]:UT"T(H@B\GTDW/V:>C3MUA=L]%]_C0>92FZZ;@HP4E
M3IE9U6;K*)H9;BWED6A2)Z9=AI0^"Y[BKWOW')W$ W^T&T]+DX'Y&FZVS09V
M:+*:8W84JC^/]N1'M;"+N+^DBP-;J3=2)C:2./Q9 X98P%^R]>;EMYH31W]D
M'4"J_(@M*ETPQ<L[,A+3HGCN48?Y0.5CP(]^N?SWGXHRE?_31.2?WB_8)IPO
M/^"<(U>>.([G$<L5MT=C:;9$TK*FRYP52K*2ER#GL.:!E3 M7;1"D;V,^S,R
M;*<(PY4%SR;/\7R)_CTF?PDXK&O1G'4U@^3Q^<.&G!<Z\#>Z:?KW?70BKX7Q
M)DGE9(:N5J*6N3AMF6#XAS])9AY(9KZG-HP&[;(/(Z0Q_7IP9_@<R\ )!RN^
M.(*OW]6P>(<6H0;%3:C! Z.%RXW+6<8QQ>F)K^ >HUE/Y91H\H7J(RIBY3]H
MT@W%)4WPA8Q=4I)@M"O-#AFKNU8?F^E9KO2MRLBNP7$:J] MLSOO&-%P)+N
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
M#%4+Q]-5"[]P#%W=#L/AX>DAWM&UXVHXE]X=9?7M1V;B%'(\'NHH@"=$P>;
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
MML,_D&28C*6J76'-8H,G)Z\RSEF <1J+S979G5<&X]3I0O'2O*"%+2JY\YG
M0C6#FW%+=5ODO\,*_PA<FS)S0N#0I.6-V\>QC0\I)N0AD>9\Y+9$R56RW$!_
M#\W96G:E4N?5.@6K986*Q5YO[3J6Y)T-E_CT:,EK(0BCZ+.5:,V@"Z/_(J=
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
M8\[D 2^QH)4I%SE3-!0S4Y8"65([Y9GI6%9@YBPMC&&_GKL6PSZO5)86>"U
M5GG.Q/,8,[X8&+:QGKA)9W.E)\QAOV0SO$5U7UX+&IDM2I+F6,B4%R!P.C!&
M]M$XU/:UP4.*"[G5!QW)A/-'/;A(!H:E"6&&L=((C#Y/>()9IH&(QM\5IM%N
MJ1VW^VOT;W7L%,N$23SAV>\T4?.!$1F0X)15F;KABW-<Q>-KO)AGLFYAT=AZ
MO@%Q)17/5\[$($^+YLN6JW/8<HBL-QR<E8-3\VXVJEF>,L6&?<$7(+0UH>E.
M'6KM3>320E_*K1*TFI*?&OY2<Q10LF<VR5 "*Q(ZJ%A4F  NZ>8E37Z^JQ>_
M]$U%.VH_,UZACQMTYPUTVX%+7JBYA+,BP>0E@$E46[[.FN_8Z40\Q?@ 7+L'
MCN5X'7AN&[];X[GOCW]7V VHMQM4)]*1+%F, X,R1:)X0F.XOV<'UG$'9:^E
M['6AOY=R)^ANRD"GC?F$=EN?N&Y<N+_]M+\7.79X;%G6J]%I^I0F2)Q:@F$
M8410)9>IDI3),5(B)C 5/%])'(4$GWXW6"B645;5MAO3K^#"2,?(,@GT$@$]
M2H*IM)AM5!I9+D2N!\WQ*+;<,+"#@(A[8/<LWZ+6ID Z+L)O+\+OO(@_YV<_
M+D97W^&.VI^CJUVGWHGP3J$$+;_@([0=? #EL*4<?H2V.T'_4]M0BYN$=G,Y
MWM+SR]'H]=MHDZ:B0_UQ0M)>I<I*P</H#H*>'X74NMXN[>O %.8E%U0)F^F2
MUKU><.B3DW48@>/TW- &Q^V%CK53KN;6LT\I-*N+FX285X5J*D [V];/45,V
M-N9-\;UD8I86$C*<DJMU$))N15/0FH'B95U$)EQ1OM;=.?T'0*$-:'W*N5H/
M] ;MOXKA/U!+ P04    " #:@YY:U8ZT*+<$  ".$   &0   'AL+W=O<FMS
M:&5E=',O<VAE970U-2YX;6S%6&UOVT8,_BN$NA4)X,1ZM6S7-I"D[9HAR8(D
M7;%].\NT?:BDT^Y.<;I?/][)5IQ849IVW1# TDGD0_(A>=1EM!+RLUHB:KC+
MTER-G:76Q;#;5<D2,Z8.18$YO9D+F3%-2[GHJD(BFUFE+.WZKMOK9HSGSF1D
MGUW*R4B4.N4Y7DI0998Q^>484[$:.YZS>7#%%TMM'G0GHX(M\!KUQ^)2TJI;
MH\QXAKGB(@>)\[%SY V//=<H6(G?.:[4UCV84*9"?#:+T]G8<8U'F&*B#02C
MRRV>8)H:)/+CKS6H4]LTBMOW&_3W-G@*9LH4GHCT$Y_IY=CI.S##.2M3?256
M'W =4&3P$I$J^PNK2C9V'4A*I46V5B8/,IY75W:W)F)+H?^4@K]6\*W?E2'K
MY5NFV60DQ0JDD28T<V-#M=KD',]-5JZUI+><]/3D#"DD$-.4+YBA2<'>#9NF
MJ/9'74WX1JJ;K+&.*RS_"2S/AW.1ZZ6"=_D,9P\!NN18[9V_\>[8;T5\B\DA
M!%X'?-</6_"".MK XH6MT>(=U;3"I@!;U4V'#%7!$AP[U (*Y2TZ$_@#F52
M)F0@AS&;HJR=-C\!?+S^Z?6KON_%;US7?;3ZK4!)U.<+2*UWB5 :O'X,<0^N
MET+J XTRVW[9!]]WX49HEC[0&43@#WK0PE-8\Q2V\G1=%D6*U'S&1$)5(5(^
M8YH"G+*4Y0E"M67PO-H7JA9-K806E5.JB=]6LT_P^_V<JAV2I6G6 S$_*&G!
ME$*MP',]\(, 3DHI*7(HB'L3F)A#*O)%E0;Q"&B[<_H!>+$+9U\CW(&<^"/H
M9&V-6"PEUYR<'4 8PL 'WPOAD]U6B%9V2U@+\AS-7GN/:0WMQ!M 5G5B?;,#
M-.,J$259)DW<18C@9X@.0[JTU%-4UU/TC?64,+6$.<V&E]=2J\D?TZLGQMN"
M\1F0K\ RPY\BSY.T-(@\![U$R,CE4MIP;?'8/*6<37EJ$SS<8KN.7\%<BIV2
MH:J, _#[$5PU5*R8:JJ%RC#>)4N64UZ-9[NUN9>+W-C:'^ZF^H#^6I+<JY/<
M:TWR^7T%-T7=E,)6P"=2N./^PQ29#)L$&X''&8X@CLVU1ZP^V#\+]L5DBUHO
MA#-4E"&>%:6VS%*#(>VN>S[LKW6H-5OHBFNZXE:Z_OSP[M?3HXM?X(9^SXXN
MFOAI16CFY_4KK^>^:?&O7_O7_[Y9V:K^[?UW=7Z\E<Z'JZ99.82CS.S4?[/-
M;MVXN8<>5?GI)ILDN%.@]WU<DG^R&JH&#F\Q+PDIGP%]3J;&O+EG,_H>XTH;
MCVYKILA4CRQ5E?)X %1S.HK;&VY09VCP_TSI5K,OF](OR*9JVN,ZP'1%F]^)
M_ $1=Y0D95964;#MS.^9'.^31".,&;=^)^CW2:!APC_.5-0+2/!"Y ?)\\)>
M)PK])U*^76!^QW,C@OVZH;XS"H)ZF#= /#/.@\,>#?36LO/<^S.#^]^/\W:;
M/V8_^;?F^7N>VWY[=IJ'H=M<H#]ZEG>WCH@9RH4]""NP)5.=%NNG]6'[J#IB
MWHM7)_5S)A><W$AQ3JKN84P?8K(Z_%8++0I[X)P*3<=7>[M$1ENJ$:#W<R'T
M9F$,U/^"F/P#4$L#!!0    ( -J#GEJ&/_-11P(  !0%   9    >&PO=V]R
M:W-H965T<R]S:&5E=#4V+GAM;(U4;6^;,!#^*Q:3IE9"!0QM7I8@->VF55JU
MJMW+9P<NP2K8S&>:[M_O; C+I#3:%[BS[WG\W/G.BYTVSU@!6/;:U J7065M
M.X\B+"IH!%[H%A3M;+1IA"77;"-L#8C2@YHZXG%\%35"JB!?^+4'DR]T9VNI
MX,$P[)I&F-\KJ/5N&23!?N%1;BOK%J)\T8HM/(']WCX8\J*1I90-*)1:,0.;
M97"=S%>9B_<!/R3L\,!F+I.UUL_.N2N70>P$00V%=0R"?B]P W7MB$C&KX$S
M&(]TP$-[S_[)YTZYK 7"C:Y_RM)6RV :L!(VHJOMH]Y]AB&?2\=7Z!K]E^WZ
M6)X%K.C0ZF8 DX)&JOXO7H<Z' "F\1L /@"XU]T?Y%7>"BORA=$[9EPTL3G#
MI^K1)$XJ=RE/UM"N))S-OYI2*KH-AI4PP,Z^B74->+Z(+)&[D*@8B%8]$7^#
M*.'L7BM;(?NH2BC_)8A(U2B-[Z6M^$G&6R@N6)J$C,<\.\&7CJFFGB_]KU2/
M9=CCL^-X-QYS;$4!RX#Z'\&\0)"_?Y=<Q1].J,M&==DI]OS)B4)&<X-6*%*Z
M/:;P),=QA;Y\[I.RX0R)V$'))N%T-@NG*3^PO@#BO"\0LHXNTC!+LXZ=*YO5
MQ3,[2Z9I>)FF[)S,R33,XIC,23A)KD(^FSF+)V%&7,>*$AUT:@-FZ^<16:$[
M9?NF'5?'D;_N._UO>/]>W NSE0I9#1N"QA>3RX"9?@9[Q^K6]_U:6YHB;U;T
M;(%Q ;2_T=KN'7? ^!#F?P!02P,$%     @ VH.>6A)]'2IQ @  ?@4  !D
M  !X;"]W;W)K<VAE971S+W-H965T-3<N>&ULI93;;MLP#(9?A7"'(AW:VI;3
MI(?$0-/#MHMB0;-NV*5B,[90'3Q):=JWGR0G7@JDN=F-)$KDIY\2R-%*Z6=3
M(UIX%5R:<51;VUS&L2EJ%-2<J@:E.UDH+:AUIJYBTVBD90@2/"9),H@%93+*
M1V%OJO.16EK.)$XUF*405+]-D*O5.$JCS<8CJVKK-^)\U- *9VB?FJEV5MQ1
M2B90&J8D:%R,H^OT<M+W_L'A)\.5V5J#SV2NU+,WOI7C*/&"D&-A/8&ZZ05O
MD',/<C+^K)E1=Z4/W%YOZ/<A=Y?+G!J\4?P7*VT]CLXC*'%!E]P^JM577.=S
MYGF%XB:,L&I]"8F@6!JKQ#K8*1!,MC-]7;_#5L!Y\D$ 60>0H+N]**B\I9;F
M(ZU6H+VWH_E%2#5$.W%,^D^96>U.F8NS^7=;HP8F"R40>C_HG*,Y&L76H;U#
M7*PQDQ9#/L"D!!Z4M+6!.UEB^1X0.TV=,+(1-B%[B;=8G$*6'@-)2'\/+^L2
MS0(O^]]$6TQ_-\;7R*5I:('CR!6!0?V"47YXD Z2JSTB^YW(_C[Z.Y''(-'N
M$K@7L5L@_$:J ?W7@'M8%'-WS>9Q_9#Y@<#3[-/AP3E)AU=)DNRU[EZ+FLH*
MH7*%#S'TN#+F*&B&$^@-!G $O8O,C8\H+>6;E\^&T!_X\8MZ02U=>5O7$.:&
ME0P-A O2*[@3#5=OX7"V;!JEW>S;$<)G1S^!P85']$CB^&D&NUX^WJH)@;H*
ME6^@4$MIV_+H=KOF<MW6U#_WMC,]4%TQ:8#CPH4FI\.S"'1;[:UA51,J;*ZL
MJ]>PK%V#1.T=W/E"*;LQ_ 5=R\W_ E!+ P04    " #:@YY:. ^^!F0%  !Q
M$0  &0   'AL+W=O<FMS:&5E=',O<VAE970U."YX;6R]6&UOVS80_BL'=RAL
M0*WU;BE-#"1IMV9KTR!-.VS?:.EL:Y5$C:2<]-_O2,F*O"I"L[7]0HO2W?&Y
M%]Y#^OB6BT]RBZC@KLA+>3+9*E4=S><RV6+!Y'->84E?UEP43-%4;.:R$LA2
MHU3D<]>VPWG!LG*R/#;OKL3RF-<JSTJ\$B#KHF#B\QGF_/9DXDSV+ZZSS5;I
M%_/E<<4V^![5A^I*T&S>64FS DN9\1($KD\FI\[1F6,4C,3'#&]E[QFT*RO.
M/^G)17HRL34BS#%1V@2CGQV>8YYK2X3C[];HI%M3*_:?]]9_-LZ3,RLF\9SG
MOV>IVIY,H@FDN&9UKJ[Y[6ML'0JTO83GTHQPV\CZ_@226BI>M,J$H,C*YI?=
MM8'H*43V PINJ^ :W,U"!N5+IMCR6/!;$%J:K.D'XZK1)G!9J;/R7@GZFI&>
M6EZ4"2\0%+M#"=,;MLI1SH[GBDQK@7G2FCEKS+@/F'%<>,M+M97PJDPQ/30P
M)TP=,'</[,P=M?@2D^?@.1:XMNN/V/,Z1SUCS_L*1X?\:[3]86V]-XYDQ1(\
MF5#Q2Q0[G"R?/G%"^\4(-K_#YH]97Y[SHN(EEDH"7T/6(84IWM'VDSB#.20"
MTTP-01\U/@P=_D F '6N@"*-Q0I%%VT]>'IPX</[GYX^B5QG\<*V[='9>2T$
M>;"OI!8XS. U+S?PFQXJP=<9^:@]8V4*:HMP=7T.KRYN8.IY)#OU QJ?P7VR
M8&_H4. EKI'62P^B)._#U%NUO]+4BXWZE)R<P0U7+-=;>-S4D-*7B8'IPNT
M&M&1P@BZP@A&"^,:$UXF&;W>0*:PD+ 6O.A5R% YC)K\4>709G"%1!S8 TRU
M$3@Q.%88!Q"$'NC:KU4;_EIJ3PE6A:9; ZE5K,Q0MJ9!*J9JQ<5G(R^8TL7F
MT((S6$3@> Z<;UFYT4O"CN4U:WI_3NS#RH2$0Y<RI1,:1'#)RV?D<DUK4=_;
MEQH9]'R32C.ZCBZ\B[%-"4P!KM<MYCVP1U5$V%5$^(A6<5"[3$I4@[UMU.0#
M%?% &8SE_(9 Y%SJ"'H4M(#<?X-2'L''H41,W< QX0EU-B[I #+@C4Z78WLP
M$KE%%[G%:.3^?/WJUXO3RU_@AL8WIY=#@1JU\!])(.KP1?^+H*+O@"WNL,7?
MDZ!&C3^^(X&I13 ]"5RX?GO6*\*Q68^C.EZ9P[0!/NNXR+/<10 +R_-MVL.'
MFW] [0OQ W(:4)BZ5NSHCA59"S>F;A,ZPVST2-TA;&$ 3FC9H1&-1EN08]^?
M&>UO3TOC-G]@%3Q$3>#X5D0$$H56:(?@!)871]^"GUS+":B-4>9BAR:>3<EX
MMT,Q>T8GHEUF+CB$I0^%V*L2&;W[3 &@7FDH)(A-PS3]\@9I1PJZ1T&:$?-0
M6>N>ZEAV;-,2L:<7LJ/8].2&FO3.%;C#LD8HN:)[V.HO_5IQLZ+W+]&.#+5L
MCR0U4"U?U:+B^GL8Q^!;/C7[H.6 >R,Z3IFI:J/?^JG3RT2R-4>SE"#EO"KT
MODRXI XS]0FY\=2S%@T3!Y8;Z)WUC@YR0I\@;&(7.+B[=,7?U?XP*?=VQ.PK
M]D3O'N5\>V(>M_F5S-QMA+&B/]T3K\E RNN56M<Y78H37FO,@673@<BW7">Z
M[U\;3E5:FM1L!*,QU'5%U'Y!59\)\Z$E?,WM#6,[UF+AT!C84>\LMB9Y<R#3
M)_FFI^Y0JLX$*?AN0*?L@3;8&HZLR(\(:$SG\:&4S7NWX +%QMSU)1@'FPMQ
M][;[/^&TN47?BS=_1KQE8I.5$G)<DZK]?$%G:M'<[YN)XI6Y4Z^XHANZ>=PB
M2U%H ?J^YESM)WJ![E^6Y3]02P,$%     @ VH.>6A&4]90E P  + <  !D
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
MH2Q5,F_F].E [0)H?JF4W3IN@?9CE/P#4$L#!!0    ( -J#GEHFG);26@(
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
M(WR"(MRJ"_=& #6U@*H0Z$WO)BL)>GA>]EK_:K"?^^!R<0Q9&AI9&OKNV=6
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
M8("(K/$^X4_T\#NI!;D%WXHFK/P+#A76=0VPVC-.TSI89)#&6?4?O]>%Z 1
M;R0 U0%(#G!& NPZP/YL@%,'.&5E*BEE'4+,\6*>TP/("[1@*P[*8I;10GZ<
M%>/^S'/Q:RSB^.*9;,0H<A!GU1PJQN(B)!S'"?L*+L'+<P@NOGP%7P0"_-C2
M/<-9Q.8F%_<N&,Q5?9^[ZCYHY#X0@0>:\2T#]UE$HCZ!*9)N,D<?F=\A+6-(
M5E? AM\ LI"C2&CY^7!;$1Y^/AQIU-C-.-@EG_WY<5 5N2)QU"3%&G'-=GA%
M;@RQ"#"2OQ%C\>LOT+-^4Q5H2K)P(K)>\9RF>(Z.?7'+&.'*25G%>65<L02^
M+9#E6\'<?.L60H%"$%E]5*C-X4R%;J/0U2K\,\:O<1+SF"AE5L%N1X!C04=2
M.02YGB.+U*9QIDBO$>EI13Z1-Y+MB4J@-\@=NG9@2PH5*'\VD.@-1ALZ,V?6
MH'JY^TWNOC;WOW8D%T]MMA%/\(JF!)C@(J&,?56I\0=YVH$G:1EB+E$GR4K*
M$ 0[P]X3$C1" JV0D(B17<6C*U PO*4\T1005TI\"+%M==ZS)N^9-N\EWL4<
M)X"\"TL4Q7POYN<WL,G%&*ADS(8/@Z3B*"(<(GRU!FBUW=C2JOB1XZB81*+)
M@@><[=?"%^US<479<;5<IW:#2=G"J=CZ=>RX&CA%.ZU9IJK@E&SA5&S]"J*V
M@NC,GEH'=N>]YWER3U6@ H3D!4R?Q+DB6],%M;;D6%NMH[L:$'3EA4*!LCU+
M7BSTF9RKM'5(4&^1-+VUCNSF/W/E5K-4H"""CBW+5)#9-AI9%UO[ _7^YZ3V
M"H=.!_F#^3D$V;XOJQF"1!?V1M2T/@?JC<ZQ'@L51@;*^1_'A H,"D:2;XT.
MU#N=$QLM5)@=6<I12*B C,VIUNA O=.YSS;B"AGMKMKHDWO#E&SA5&S]RK56
M"\XFZ:Y:QW9R!:=D"Z=BZW^Z:'T>TON\\>Y:!_8-MB6_Q"Q5,#N8R2N /HUS
M9;8V#&E-RK'^6D?W1 2NW'D4*&39<G_59W*NTM8N(;U=TO17-'1";F#++TTJ
ME#^3&Y(*Y<&1UP[4^B"D]T$GM5>D<$6^O*8K0)>.'<ARABAW9HVH:;T.TGN=
M8^T5#3W*(/TAQ)%S'T+<D<Q;FX/T-N?$WHH41D<6<A02*B!C0EJ'@_0.YR7#
M24)7F),(+&F^HV)Z$7!?R&(C:X&6\-1F,2E;.!5;OYBMXT(3?ENJN;J?MRZA
M)[^S*%'!X/%4H) M/Y]F9_<A)?FFW,5A8$7W&:\^YS=7JYVB.W@=EALJTO5;
M>'U;[IN8+4VU_?2 <^'5&$C(6E!:5[Z8K'FUHU.=<+HK]SA>*><T+0^W!$<D
M+P#B]S6E_..DN$&SK[;X'U!+ P04    " #:@YY:7Z!O/& #   &#@  &0
M 'AL+W=O<FMS:&5E=',O<VAE970V."YX;6RU5VMOFS 4_2L6JZ966@L8PJ-+
M(K5A6Z>I6M7']MF%FX *=F8[2?OO9P.E":&HC=(O@,T]Q_=<']#U<,7X@T@!
M)'HL<BI&1BKE_-0T19Q"0<0)FP-5;Z:,%T2J(9^98LZ!)"6HR$UL69Y9D(P:
MXV$Y=\7'0[:0>4;ABB.Q* K"G\XA9ZN181O/$]?9+)5ZPAP/YV0&-R#OYE=<
MC<R&)<D*H")C%'&8CHPS^S2RL0:4$7\R6(FU9Z2EW#/VH <_DY%AZ8P@AUAJ
M"J)N2YA GFLFE<>_FM1HUM3 ]>=G]N^E>"7FG@B8L/QOELAT9 0&2F!*%KF\
M9JL+J 4--%_,<E%>T:J*'?@&BA="LJ(&JPR*C%9W\E@78@U@>Z\ < W ;8#[
M"L"I <Y; 6X-<,O*5%+*.D1$DO&0LQ7B.EJQZ8>RF"5:R<^HWO<;R=7;3.'D
M^ 9F:A<ERFCE(;T7AQ%(DN4"V4?H&-W=1.CPX @=J!ATF[*%(#010U.JU36'
M&=<KG5<KX5=6LC&Z9%2F GVC"22;!*9*N\D=/^=^CGL9(XA/D&-_0=C";D="
MD[?#G0YX]'8X[E'C-#OAE'SN*WS7L 2Z@*["5D"O!.H/>3FV!TZ@<EZNJ^V(
M\D/7VHR*.J+<T V;J(W<W29WMS?W'\!FG,S3+"8Y(I3D3R(3B$U1SNCL.%=?
M=H*($" [?5-Q#S;DA2UQ'3%>T)+6FZ/^@9Z*.8EA9*@_I "^!&/\^9/M65][
M=F_05&#06X';%-#5]:1+7B_P[6E5==@G6;0GLHV">4W!O%WM[FWMM>>$K<V>
M; ?Y-AZT'+$=- C\H-OK?I.X_X%>]SN\[K:D=<1XN*6L-\<=MRYH*A#T5N!"
M"46_U*5+8"_TO6[?)UFT)[*-DH5-R<)=W1YNN]UW6T:>; >%@=_Z1T;;0;[M
MN]UNMZV7!L'Z0+_7Y!N?8$M;1XC74M:?XHY[9Z_U2'9O"7[+%'BWO%[@>^V^
M5[9H7VR;1<,O1<.[6KY&KC<A&+<[E4E'5.AL.6,[R Y"OV5Z<ZU!+H#/RH.&
M0#%;4%GUF\UL=9@YUX<9W6"WYM4AYZQL[<T7FNJ$=$GX+*,"Y3!5E-:)K_S,
MJT-'-9!L7K;A]TRJIKY\3-5!#;@.4.^GC,GG@5Z@.?J-_P-02P,$%     @
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
M$PF1,.XZ_>K1L&WVVPT_&,S5PI@8)B,A'LSD/.PZ%1,0< BT0:#XFL$ .#=
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
M180[(^MCIIYH4=E./1<:^[X=YG@R@S0+\/Y""+V=F.;?GO7)'U!+ P04
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
M1@M,Y07B_)(0_M*0*X;-*K?_$U!+ P04    " #:@YY:O"ZC;;D#  #O$
M&0   'AL+W=O<FMS:&5E=',O<VAE970W-RYX;6RMF&N/FS@4AO^*14>KJ=09
M+@%R:1(I%W;;JAV-.FU7VV\.'!)4L+.VDW2E_OC:AJ%A0IBPY4N"@?.^/H\=
MVR?C V7?^ 9 H.]92OC$V BQ'9DF#S>087Y+MT#DDYBR# O99&N3;QG@2 =E
MJ>E8EF]F."'&=*SOW;/IF.Y$FA"X9XCOL@RS_^:0TL/$L(W'&Q^3]4:H&^9T
MO,5K> #Q>7O/9,LL5:(D \(32A"#>&+,[%%@ZP#]QI<$#OSH&JE45I1^4XVW
MT<2P5(\@A5 H"2R_]K" -%5*LA__%J)&Z:D"CZ\?U?_4R<MD5IC#@J9_)Y'8
M3(R!@2*(\2X5'^GA#10)>4HOI"G7G^B0O^OW#13NN*!9$2Q[D"4D_\;?"Q!'
M 8YS)L I IQ+ WI%0._2 +<(<"\-\(H G;J9YZ[!+;' TS&C!\34VU)-76CZ
M.EKR2HB:* ^"R:>)C!/361C2'1%<#GH(R1ZO4D!$SL_K)0B<I!S9+]$?+VS?
M>XT2@CYMZ(YC$O%7Z*K2'IM"=D9)FF%A/,^-G3/&MH,^4"(V' 4D@J@J8,HL
MRE2<QU3F3J/B$L);U+-?(<=R7/3Y88FNKU[6=&S11F9Q]P^ZS@'4:2TOU^HU
M="EH(W.^2Q5LO7(&]+2X>T9\CE-,0D!8H!6L$T(2LD8T1EM@"8W0#W15-[BY
MIJ\UU6*TGUIC<W],N=%5K7\COL4A3 RYP'%@>S"F*BGK=1WF4SMG4/4+.O*K
M,'1+AFXCP_? ^0@=6"+@AL:QPA?1W4K$NU0NA<4O[ S)7-EK(-GHW9;DJ=W-
M"<J.#"LHO1*E=^ET!!(]/Q&]9R=BHU];?,_:!1W95>#Y)3R_$=[7-\&[M[.[
MO] G^?E^=E<'K%&A)8Y%EV+++L6"CL0JP] OAZ'_&TMJW: TZK4=E%RL?[Q8
M#GW7K<[399>6P:FE:UGVL+2L8!R4& >-&&=1-$);1O>)/I;*4S'"J3S9*K:U
M)XY&N;84!R<+I=^SGD+LTC$X=;2M7M^OAS@L(0XOV)H8[(%QG.I96"%ZLD_5
M@6VT: MV^-R&M^S2+CBUN_'[_7JHMO7KV&S]]HY?>RANE&V+LE!K8MFI85!C
M>"-KTKY[AN=1&6+_KVV_EF&C5&N&]LG:U?.&GO.48Y>F08UI=8W.,9I'A5T&
M;*TK:H[T],H+H_)N7K7/5=6N"L,G]V4U/],UK/E+)O\KX -F<H?B*(582EJW
M?3FV+*^N\X:@6UT^KJB0Q:B^W ".@*D7Y/.84O'84 ;E?QS3GU!+ P04
M" #:@YY:HF?UI* %  !!+   &0   'AL+W=O<FMS:&5E=',O<VAE970W."YX
M;6RUFFUOVD@4A?_*B*U6K=3$GO$+."5(J3W;=M5FHZ;=JOMM@"%8-3:U!VBD
M_?$[-@YF[&&"I;M?$@S,<^QS#R;'\7B7Y3^*)><"_5HE:7$]6 JQOK*L8K;D
M*U9<9FN>RE<66;YB0F[F#U:QSCF;5XM6B45LV[=6+$X'DW'UW%T^&6<;D<0I
MO\M1L5FM6/[XEB?9[GJ !T]/?(X?EJ)\PIJ,U^R!WW/Q=7V7RRWK0)G'*YX6
M<9:BG"^N!S?XBI*@7%"]X^^8[XJCQZ@\E&F6_2@W/LRO!W:Y1SSA,U$BF/RU
MY2%/DI(D]^-G#1T<-,N%QX^?Z']4!R\/9LH*'F;)MW@NEM>#T0#-^8)M$O$Y
MV[WG]0%Y)6^6)47U$^WV[_6' S3;%");U8OE'JSB=/^;_:J-.%I R(D%I%Y
MSEW@U N<<Q>X]0+WW 5>O: Z=&M_[)5Q$1-L,LZS'<K+=TM:^:!ROUHM_8K3
M,BCW(I>OQG*=F-S,9MDF%84<^HS'6S9-.$IE/E]&7+ X*1!YA7[_#?O>&Q2G
MZ,LRVQ0LG1>OT0ME>VP)N3,ETIK5PF_WPN2$<,1GE\C!KQ&QB8N^WD?HY8M7
M&DS8!Q/>?D<O][NK8T7GLQS#+M$^F-.[9,E1'>9%#O,B%=P] ?_(B^(*L41^
MP%DZXTB>*M \VTS%8I/(3]U^F+II[+%^A2W/'MO)A>,%'AE;VV.WC>KE6>NJ
M6+,9OQ[(TU+!\RT?3,J#L]_H[-9HDL!W7563 FDJ?CH'/QVCGYK\Z]S;0[RC
M(\'.R&]Y9U3JZUU7D8S\MG- BHIS[L$YU^A<N,ESG@J=6\:%/8T((6$1)(P"
MP13WO8/['D1NO4Z*7-+^R!N%^AK<%<1XZ+5B"Z2H&.<?C/.-QF%T@1P;1>RQ
M0'>L$"C::)TS4OIF&!(60<(H$$P9Q? PBB%$AH>=2#G!L)5AHU!?@[N"ONVT
M(@PDJ/@V.O@V,OKFE!GVS\BP$=,WPY"P"!)&@6#*+(+#+ *(# ?=;W/2^C(/
MC4)]#>X*>NZHE6$@0<4W;#?%PS8ZYY<I#LY(L9G3-\:@M B41J%HZD2.JB"&
MR')-4;[C1ZWS8VB6ZFUS5])Q<2O.4)*J>TTQP^9F]B[G3/!<=F*6(MG*Z,\-
M2Y#(4("KC&NMA*Q;(2@M J51*)HZG*;E89":AS4]S[?;T0;M>3K)]I\W%$I2
M=:]I>MA<]8QG9]"R!TJ+0&D4BJ8.H2E\&*3QX6X#"]K7#4*S5&^;O<YU'NR/
M@G:&_X_6AYO:A\V][Y_W],\/-[?OT!?Y\^/-K=8[T-('2HM :12*I@ZC*7ZX
M=_-#_];7F;6#@>QW84T;*E?S/-MK7<^+0%6I3I6,B--<'%'-;-H@-M?!=K*E
MD]]BL8Q3A-$C9[G64-!J"$J+0&D4BJ8.IZF'N'<_-"<=L@6&N%L#L6T3SVTG
M'5*5ZE2)/."1/NFDJ8S$7!DU2<=EPF61)%74"_2)KZ9<&WDSNZ^SH+0(E$:A
M:.J4FAI)>M=(8^3-N-Z#T51%FP2MB]X1J"C5B6(W"$X$_NB??>9.J0D\V>?\
M CG/)QZT78+2(E :A:*I8VK:)>G=+LV)AVR0(=$T2'MHXW;B(46I1E0FWCX1
M^*9I$G/3U 3>>0J\^WS@0;LH*"T"I5$HFCJFIHN2WEW4''C(OAF2;L5U/.RU
M\PZI236:_LGS>U-*2;]2*DUTG^+N/1]WT+H*2HM :12*IHZIJ:L$MJZ:<;T'
MTRV.;J>K@DI2C>3HZ!*_:F-35$GOHOK7EN=H$6\Y^EZ&76LF:%4%I46@- I%
M4\?35%4"\J_,FG)\M8]XPZ!]E=PLUMMHT((*1=L;;1W=?5G>7/N)Y0]Q6J"$
M+R3>OAS*+XU\?[_J?D-DZ^J&S&DF1+:J'BXYF_.\?(-\?9%EXFFCO,?S<-?P
MY#]02P,$%     @ VH.>6A408B_! P  K!(  !D   !X;"]W;W)K<VAE971S
M+W-H965T-SDN>&ULK9AKCYLX%(;_BL56U52JAFL@G2:1I@F[G=7N[*C3[JK]
MYL!)0@N8M9UD*NV/7QL8AELLD/B28."\[_%S'(?#XDSH#W8 X.@IB5.VU Z<
M9S>ZSH(#))A=DPQ2<65':(*Y&-*]SC(*.,R#DEBW#,/5$QREVFJ1GWN@JP4Y
M\CA*X8$B=DP23']^@)B<EYJI/9_X%.T/7)[05XL,[^$1^)?L@8J17JF$40(I
MBTB**.R6VJUYXYN6#,CO^#N",ZL=(SF5+2$_Y. N7&J&S AB"+B4P.+K!&N(
M8ZDD\OBW%-4J3QE8/WY6_S6?O)C,%C-8D_B?*.2'I3;74 @[?(SY)W+^".6$
M9E(O(#'+/]&YN-<3-P='QDE2!HL,DB@MOO%3":(68%D7 JPRP!H:8)<!]M
MIPQPA@;,RH!\ZGHQ]QS<!G.\6E!R1E3>+=3D04X_CQ:\HE0NE$=.Q=5(Q/'5
M X4,_Q25YPSA-$2$'X *8TK%*809 W'A:@,<1S%[@U[_8KJS]RA*T><#.3(1
MP=ZB5XWQ0N<B+ZFN!V4.'XH<K LY;""X1K;Y%EF&Y: OCQMT]>I-C\QZC,SZ
M_BNZ*M+MT]H,U[(5*?EC9"ZGI(NJ5:6SJM)9N;AS43PC+!+ER7 4]E$OPMT\
M7&X8IY4W7^BG.E&E@]RD;EB& UAJ8A=B0$^@K>0$C/=]2+M^CM'T\R?R:_"R
M*UZVDE=MJ??1*H)G=5JM[-=*_;&TNGYNJSK^1'X-6DY%RU'2^BO?""@$$)WP
M-H9>9DYG#J;97F)*F['0>@QMIT5M(L,&M5E%;::D=I<&) '$\9-$1TY );L^
M=+/.3*P6.*736'!=N_9/<R*[!C:WPN8.6&P#J+F=:=@M:DJCL=2Z=NW%-I%=
M@YI74?.&;F@7_[O[('J=?=KRS!9&I?-8C#V&CML".9%A ^2\ CE7@OSVT?_]
M[O;^-_19?/YQ>]\'3:DP$LAZ2K'-E&+^1&*-,KRKRO!N\'K^KWS4["N%4F5L
M*0HQK[XV3<=M[<6;*2W]KJ7INM:+90.>:;P\R1O#GP>1Z"'1-@K#*-VCC)+O
MHC$K=@D.24:H: K1(-AJT[&T2[7&4Y9KMOZ*-I-Z^CV>KC7S+N"N-4[F@/^L
M5J>D)*G4&TW2[#X*>:;;)CFEI]_C.7<OK=N7-L94]S&#6E EV"F[F'6I5O]Y
MVH8WG[?)3FGJ]YA:MN>8+;9ZK=&7[W'^Q'0?I0S%L!-QQK4G2D.+5R/%@),L
M[_VWA'.2Y(<'P"%0>8.XOB.$/P_DZX3J!=7J?U!+ P04    " #:@YY:+J$2
M#.X"   <#@  &0   'AL+W=O<FMS:&5E=',O<VAE970X,"YX;6RMEUUOFS 4
MAO^*Q:JIDZI"@)"H39#:P-9.6U7U8]-VYY"3Q*K!F>TDG;0?/QLH"@I%(/D&
M,/@\K_T>Y\2>[!E_$6L B5Y3FHFIM99R<V';(EE#BL4YVT"FOBP93[%43;ZR
MQ88#7N1!*;5=QPGL%)/,"B?YNWL>3MA64I+!/4=BFZ:8_[T&RO93:V"]O7@@
MJ[74+^QPLL$K> 3YO+GGJF57E 5)(1.$98C#<FI=#2[BL>Z?=_A!8"\.GI&>
MR9RQ%]VX74PM1P\(*"12$["Z[6 &E&J0&L:?DFE5DCKP\/F-_CF?NYK+' N8
M,?J3+.1Z:HTMM( EWE+YP/8W4,YGJ'D)HR*_HGW1=^19*-D*R=(R6(T@)5EQ
MQZ^E#P<!KOM.@%L&N%T#O#+ ZQK@EP%^UX!A&9!/W2[FGAL788G#"6=[Q'5O
M1=,/N?MYM/*+9'J=/$JNOA(5)\,9RR17V4)8") "X6R!*,%S0HDD(-!I!!(3
M*CZACQ\&P? 2D0P]K=E6J([B#)W4VA-;JB%IL)V4\M>%O/N.? 3).?(&9\AU
M7!\]/T;H].13 V;6!S.[^X5.B^$VL:+N+*]E2'$?S/M#LE7"JJRY5=;<'.YW
MS-H_=-+D?0$)<H@N&+MPX TG]N[0V%8A7:4NQ 8G,+54&1+ =V"%>A[.99.S
MQX)!4->+#>G5;/,JV[Q6VW[?Q%]OK^Z^H"=U_79UU^19*Z&G'S.3L,@D+#8$
MJZ7!K]+@]UR]Q2^C*1VMI+[I*&"CVO(,?+^^0B.3DO&QY,@=CYU*LF;@L#)P
MV&K@<Z;J,X6%^J/>0;:%)N-:"7V-,PF+3,)B0[!:&H(J#8&)*AQTJ,*M0GT-
M/A8\JL*&]&JVC2K;1KU6K_*M2V%NA?9=T"9AD4E8; A6R\RXRLS86&%N)?5-
MQ[A3838I&1]+-A5F^V!GK<]-WS%?D4P@"DL5YYR/5/WAQ5FD:$BVR3?;<R;5
MUCU_7*OC&W#=07U?,B;?&GK_7AT(P_]02P,$%     @ VH.>6F^&'Y:- @
MB @  !D   !X;"]W;W)K<VAE971S+W-H965T.#$N>&ULK59M:]LP$/XKPBNC
M@U(Y?DFWUC&T<;9V;*7T96/[IMB76%26/$E).MB/GR2[)J%)2"!?;)UTSW-W
MS\F2DX60SZH$T.BE8EP-O%+K^AQCE9=0$74J:N!F92)D1;0QY12K6@(I'*AB
M./#]/JX(Y5Z:N+D[F29BIAGE<">1FE45D7^O@(G%P.MYKQ/W=%IJ.X'3I"93
M> #]5-])8^&.I: 5<$4%1Q(F ^^R=SZ*K+]S^$%AH9;&R%8R%N+9&C?%P/-M
M0L @UY:!F-<<AL"8)3)I_&DYO2ZD!2Z/7]D_N]I-+6.B8"C83UKH<N!]]% !
M$S)C^EXLKJ&M)[9\N6#*/=&B\3V+/93/E!95"S895)0W;_+2ZK $"((-@* %
M!+L"PA80[@J(6D"T*R!N :YTW-3NA,N()FDBQ0))ZVW8[,"I[]!&+\KM/GG0
MTJQ2@]/I4' M3;<040JT0H07B%$RIHQJ"@H=9Z )90KU/J#W[WK]^ )1CAY+
M,5/&59V@HQ4[P=HD9:EQWB9PU200;$@@@_P4A;T3%/A!A)X>,G1\]&$-S7 ?
MFN'M+W3<I+N.*]N=*]R2TF@?FLTI8=.RKF]!U[? D4<;R2<@)13F6YT#GP'Z
MAX[6B=^P]!V+/3/F:?PI3/!\6=FMD>Q!=:YJDL/ ,R>1 CD'+[6%^!?KI'T;
ML!_[JP%'!PJX(ES8"1=N%>[W]>CKS>7M%_1HGM\N;]>)MI5A3T&&AR3+#DDV
M.A#92ANBK@W1OONW^3C6]6,KU;[]:,C.EC9H&(?]L]4MFATRY.AMR"B,XJ +
MV2B(ETYQ>T=_)W)*N4(,)@;GG]I;33;W7F-H4;N#?2RTN2;<L#2_"B"M@UF?
M"*%?#7M7=#\?Z7]02P,$%     @ VH.>6H7_P@(F P  TPT  !D   !X;"]W
M;W)K<VAE971S+W-H965T.#(N>&ULK9=K;]HP%(;_BI55$Y7:!IQK*41J@:V=
M-E3ULFG[9H(!:TG,; .=M!\_.PE9$D)&I'PA<>+SOL?/L0[Q8$?93[["6("W
M,(CX4%L)L>[K.O=7.$3\BJYQ)-\L* N1D$.VU/F:832/@\) A]VNK8>(1)HW
MB)\],F] -R(@$7YD@&_"$+'?=SB@NZ'6T_8/GLAR)=0#W1NLT1(_8_&Z?F1R
MI&<J<Q+BB!,: 8870^VVUY^X:GX\X2O!.YZ[!VHE,TI_JL'#?*AU54(XP+Y0
M"DA>MGB$@T )R31^I9I:9JD"\_=[]0_QVN5:9HCC$0V^D;E8#357 W.\0)M
M/-'=/4[78RD]GP8\_@6[9*YC:<#?<$'#-%AF$)(HN:*WE$,N ,(C 3 -@*<&
M&&F <6J F0:8IP98:4"\=#U9>PQNC 3R!HSN %.SI9JZB>G'T9(7B=0^>19,
MOB4R3G@C&@DFJP40YUAP@*(Y" B:D8 (@CGHC+% ).  GH/W[WJV=0-(!%Y6
M=,/E5'X!S@KC@2YD4DI:]],$[I($X)$$QMB_ D;O L N-,'K\QATSLXK9$9-
M9$;3[Z"3I%NE-3Y=RZA):=)$YGA*NBQ95C>8U0W&XN:)=?L#SJK8)R)V+*):
MQM;K&=9 W^;!UAJI/M7G:^3CH28;$<=LBS5/K:-[4T7VT-"VBWZ3EOP*V(P,
MFW$:MMP>[ZO&@AG#<]GXMCC:X&,T$VTKM[A+Z]HHX:Q-H"G."D?;ZI: MN18
M &IF0,U:H%/Y5^;OH79R5,^!_I^]:1YLE4O3<DLT:]V;TJQPM%RS1+,EQP)-
M*Z-IU=+\<3_Y]' [_0A>Y._GVVD5MEJ%AD1&;8J-VQ2;M"16*(.=E<%NV%R3
MQEU5CEJEIN5(Q)Q"][3-T@X=MVDY.;1TH.O^:S$%@$X&T&FGS1[G6FO0E*MS
MV$8-R["=$M@V/2<5GJ9A6K":K)N1=5OHM\>QUJHWQ>H>[!VC!YTRU38M)X>6
M\-J$;@FJGOL@5L>=+X@M2<1!@!<RKGNE#@@L.4(D T'7\3?RC KYQ1W?KN2I
M"S,U0;Y?4"KV _79G9WCO+]02P,$%     @ VH.>6@+@4LR( P  "P\  !D
M  !X;"]W;W)K<VAE971S+W-H965T.#,N>&ULK5=ACYLX$/TK%G<Z;:7K0@PD
ML$TB;9/TME6[6NUV6]U]<V"26 6;VB9II?[XVL!RR<*B(/$%L/&\YWDS&GNF
M!RZ^R1V 0C_2A,F9M5,JN[)M&>T@)?*29\#TGPT7*5%Z*+:VS 20N#!*$QL[
MSMA."676?%K,W8GYE.<JH0SN!))YFA+Q\RTD_#"S1M;3Q#W=[I29L.?3C&SA
M =1C=B?TR*Y18IH"DY0S)& SLZY'5ZO0K"\6?*%PD$??R'BRYOR;&;R/9Y9C
M-@0)1,H@$/W:PP*2Q #I;7RO,*V:TA@>?S^AORM\U[ZLB80%3[[26.UF5F"A
M&#8D3]0]/]Q Y8]O\"*>R.*)#N5:/[10E$O%T\I8[R"EK'R3'Y4.1P88OV"
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
MBKJ6GZ)WZ'8Q0R>O3W-B; F.B)1]NDE(ESR3+D[0M<U8:_195% ])2"V]D%
MLA,P25YDG$%YAM+X+4JB)#M2T/3OX>D+Y:1#/U//E_Y;/X]U+!!FQPG=%%_H
MEI8PQG9,-:@-X.+-JW@4?3JF]C^1/=&>#=JSE]@?M>\$/]@YWX#HP)ZE7 OV
MZ_"3APX$VI&G=6MG4\1I&D513C;[VOX,RSXF^V&A:K(W#0VHM5\2&I6R$R;\
MKP9OV$,3NX?\O![X[7ZZ]&-)'FG"<KNF:LV$1AQ6EC(Z>W^.D0H+(QA&MG[F
MEM+8"?;7VNY84"[ OJ^D-#O#)1BV=O$;4$L#!!0    ( -J#GEH-ZC,R,0,
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
MJ5#O4>\=/V[U']!I3,R72@]EV2'H-O:80)%@C20T3@V^(67YW\?@KT^W]Q_
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
ML,-,7P<@3()>7W"N=H'9H+E@HO]02P,$%     @ VH.>6J,:4T(Y @  !08
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
M>"B'.5DQ?2TV9]#D$UF^3##EOFA3QPZPA[*5TJ)LP$9!27D]DMNF#CN H/\
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
MQ+S)=CBTAA95TU\70F.W;I8YSE.0Q@'/,R'TUC 7=!,Z_@502P,$%     @
MVH.>6JUFW%WV @  _0D  !H   !X;"]W;W)K<VAE971S+W-H965T,3 S+GAM
M;*V676_:,!2&_XJ55=LJK8WC?'> M(*F]6)35=KMVH0#L9K$U#;0_OO9(<T@
M&(;4WA [.>_Q\]KXV+TU%X\R!U#HN2PJV7=RI197KBNS'$HJ+_D"*OUEQD5)
ME>Z*N2L7 NBT%I6%2S".W)*RRAGTZG>W8M#C2U6P"FX%DLNRI.+E&@J^[CN>
M\_KBCLUS95ZX@]Z"SF$,ZF%Q*W3/;;-,60F59+Q" F9]YYMW-?1J01WQF\%:
M;K61L3+A_-%T;J9]!QLB*"!3)@75CQ4,H2A,)LWQU"1UVC&-<+O]FOU[;5Z;
MF5 )0U[\85.5]YW$05.8T66A[OCZ!S2&0I,OXX6L?]%Z$QOY#LJ64O&R$6N"
MDE6;)WUN)F)+X 4'!*01D%,%?B/P:Z,;LMK6B"HZZ F^1L)$ZVRF4<]-K=9N
M6&66<:R$_LJT3@UNJA5(I==%2<3TK,YFK&!4@42?1Z H*R3RSM$%>AB/T.>S
M<W1FHNYSOI2TFLJ>JS2#R>1FS7C7F_'(@?%&D%TBW_N""":!13X\7>[OREWM
MO+5/6ONDSA<<R#=<"J&](RHE**N=C3ZJ]69/K 8I(6G/76U#[P=Y. S"-FJ'
MS6_9_*-L]US1X@C91AUN#4IPC),.FB6*> 3;T8(6+3@!3?]1)OK?HAA8^8*]
MD2\"[ 4=/DM4& 4'^,*6+SR!3^940,Z+*0CY"<'3DJD7&VBXA^"%<>!W0&U1
M4>#90:,6-#H*>ETL 8T?K5A'E::\7\D%S:#OZ/HM0:S &7S\X$7XJVU;O5.R
M'9-Q:S)^XR:+]^8VQ$$2=U; $N5%B6]?@:2%2X["_>+51?9?P&1_\7$8=<N
M+2K%J1TP;0'3-Y6!=&_0R+!UT"Q1)$R)'<W#_TX/_/9"T.38V>,D)+A;"JQQ
MD1\'!RBWSCCO'<M!DVR[FOMA$I(NK24L(E[2@76WSF9S,?I)Q9Q5$A4PTSI\
M&6N[8G/7V'047]3']80K??C7S5S?ST"8 /U]QKEZ[9@;0'OC&_P%4$L#!!0
M   ( -J#GEI$B@/3\ (  / )   :    >&PO=V]R:W-H965T<R]S:&5E=#$P
M-"YX;6RM5EUOFS 4_2L6JZ966DOX#.D2I*9L6A^Z5<VZ/;MP$U -9K:3M/]^
MMB$L <JZKB\!FWN.S[DWMN]T2]D#3P$$>LQ)P6=&*D1Y;IH\3B''_(R64,@O
M2\IR+.20K4Q>,L")!N7$M$<CW\QQ5ACA5,_=L'!*UX)D!=PPQ-=YCMG3' C=
MS@S+V$W<9JM4J DSG)9X!0L0=^4-DR.S84FR' J>T0(Q6,Z,"^L\"E2\#OB1
MP9;OO2/EY)[2!S6X2F;&2 D" K%0#%@^-G )A"@B*>-7S6DT2RK@_ON._;/V
M+KW<8PZ7E/S,$I'.C,! "2SQFHA;NOT"M1]/\<64</V+ME6L[Q@H7G-!\QHL
M%>1943WQ8YV'/8#E/P.P:X#=!KC/ )P:X+P4X-8 5V>FLJ+S$&&!PRFC6\14
MM&13+SJ9&BWM9X4J^T(P^363.!%>%1O@0M91<)3),BR7&<FP (Z.(Q X(QS9
M)^@4W2TB='QT@HY4U/>4KCDN$CXUA=2@F,RX7F]>K6<_LYYEHVM:B)2C3T4"
MR2&!*<4W#NR=@[D]R!A!?(8<ZP.R1[;;(^CRY7"G!QZ]'&X/N'&:>CB:SWV&
M[UL)#(NL6,D\QS0'9*)C0CD_Z4MU1>5K*K6_-Z$3^%-SL^^^&W-JNY/#H*@;
M9%EN$W-@Q&V,N(-&OLHCJ[+0I[S">GL+!J[74MZ-L7QOU%+N=I1[SJ1?N=<H
M]P:5S\D:T.+AJ4_W(%(=T>>\Q#',#'D&<V ;,,+W[RQ_]+'OC_F69-$;D1UD
MS&\RYO^UUAP3Z#T/_$X9W<#QV\7N1CF!Y[2K/2CCE2;'C<GQV^W,<?>_.[';
M6[,;Y#CCEN-!3:]T'#2.@__8PD%GY\E6(VA9[ 9-)N-64#2HXE\]FGMW80YL
MI7L*CF*Z+D1UJ32S5=LREVV+OMY;\[*=N="WN/F'INJ%KC%;905'!):2<G0V
MEB5D57]1#00M]8U[3X6\O_5K*ELR8"I ?E]2*G8#M4#3Y(6_ 5!+ P04
M" #:@YY:Z!9S*I<"  "L!P  &@   'AL+W=O<FMS:&5E=',O<VAE970Q,#4N
M>&ULM55K;]HP%/TK5C9-K=22!Q"V#B(56+5*ZX2*NGUVDQMBU;$SVT#[[W?M
MA PJ'I6V\0'\N.?XG&MS[W MU9,N  QY+KG0(Z\PIKKR?9T64%+=D14(W,FE
M*JG!J5KXNE) ,P<JN1\%0>R7E DO&;JUF4J&<FDX$S!31"_+DJJ7,7"Y'GFA
MMUFX9XO"V 4_&59T 7,P#]5,X<QO63)6@M!,"J(@'WG7X=5D8.-=P \&:[TU
M)M;)HY1/=G*;C;S "@(.J;$,%']6, '.+1'*^-5P>NV1%K@]WK#?.._HY9%J
MF$C^DV6F&'D?/9)!3I?<W,OU5VC\]"U?*KEVWV1=Q_9CCZ1+;639@%%!R43]
M2Y^;/&P!PD. J %$KP&] X!N ^@ZH[4R9VM*#4V&2JZ)LM'(9@<N-PZ-;IBP
MMS@W"G<9XDQR*U:@#5Z+T81A5O.<<48-:'(V!4,9U^0[58K:9)^32_(PGY*S
M]^=#W^#AEL)/FX/&]4'1@8/"B-Q)80I-OH@,LET"'U6WTJ.-]'%TE'$*:8=T
MPPL2!5%OCZ#)V^'=(W*Z;2:[CJ]W,),&%.:2%,"S??FIX6%]$_;?M4J"3O@)
MI:^V59\,VU'7:]7UCJK[)L7B$@66>,N;&[\@U)!4:AQPT'C_9469LCO[Y-?\
M\9:L?K\7X.>5_M-Q.P;ZK8'^40-CO@0R?WK9)^THTM;!*UW1%$8>%CH-:@5>
M\N%=& >?][V:?T2V8S)N3<9_]X;BM[VADV$[Z@:MNL%_?D.#-[ZATW&U 7^K
M\)6@%JX?:-2S%*8N).UJW7+&V')<:7ZUCJWHVE5@_P]-W<?NJ%HPH=%=CI1!
M9X#O0]6]H9X86;GR^B@-%FLW++"=@K(!N)]+:383>T#;H)/?4$L#!!0    (
M -J#GEIZ9P<B" (  .$$   :    >&PO=V]R:W-H965T<R]S:&5E=#$P-BYX
M;6RME%UOTS 4AO^*91#:I%'GH^N@I)%8*\8N0-6JP;6;G#;6'#O8I\WX]]A.
M&G52"[O@)O&QS_/FO(Z/LU:;)UL!('FNI;(S6B$V4\9L44'-[4@WH-S*1IN:
MHPO-EMG& "\#5$N61-&$U5PHFF=A;FGR3.]0"@5+0^RNKKGY?0M2MS,:T\/$
M@]A6Z"=8GC5\"RO QV9I7,0&E5+4H*S0BAC8S.CG>#I/?7Y(^"&@M4=CXIVL
MM7[RP7TYHY$O""04Z!6X>^UA#E)Z(5?&KUZ3#I_TX/'XH/XE>'=>UMS"7,N?
MHL1J1C]04L*&[R0^Z/8K]'ZNO5ZAI0U/TG:YZ4=*BIU%7?>PJZ 6JGOSYWX?
MCH!X? 9(>B!Y+9#V0-@YUE46;"TX\CPSNB7&9SLU/PA[$VCG1BC_%U=HW*IP
M'.9W6I>MD))<+ "YD)9\Y\9PO[>7Y#UY7"W(Q=O+C*'[EB=8T>O>=KK)&=T%
M%".2QE<DB9+Q"7S^>CQ]B3/G<+"9##:3H)>>T;M7R-56K"40;BV@O2(*\)2M
M3F=\6L?WU-0VO( 9=4UCP>R!YN_>Q)/HTRF3_TGLA>5TL)S^37WXLZ=,=N0D
MD+[/]WD<W<11%&5L?US_O_.ZTMC1 ?3-_XV;K5"62-@X,AK=7%-BNH;J M1-
M.)-KC>Z$AV'E[B P/L&M;[3&0^"/^7"KY7\ 4$L#!!0    ( -J#GEI@Y<"3
MU0,  +P2   :    >&PO=V]R:W-H965T<R]S:&5E=#$P-RYX;6RMF&MOHS@4
MAO^*Q8Y&'6E4[I!TDDB9A)V+=KM5VYG5SC<WG"1H #.VD[32_OBU@5(@Q U:
MOB08.._K\]@^8"8'0G^R+0!'CTF<LJFVY3R[TG6VVD*"V27)(!57UH0FF(LF
MW>@LHX##/"B)=<LP/#W!4:K-)OFY&SJ;D!V/HQ1N*&*[),'TZ2/$Y##53.WY
MQ&VTV7)Y0I]-,KR!.^#?LALJ6GJE$D8)I"PB*:*PGFIS\RHP+1F0W_$]@@.K
M'2.9R@,A/V7C2SC5#-DCB&'%I006?WM80!Q+)=&/7Z6H5GG*P/KQL_KO>?(B
MF0?,8$'BOZ.0;Z?:2$,AK/$NYK?D\!G*A%RIMR(QRW_1H;C7]S6TVC%.DC)8
M]"")TN(?/Y8@:@&6=2+ *@.L<P/L,L ^-\ I YQS ]PR($]=+W+/P2TQQ[,)
M)0=$Y=U"31[D]/-HP2M*Y42YXU1<C40<G_W%MT!1AI_P0PP,X3048[>B.P@1
M/(K9R,3)BR5P',7L'7K[F^FY'U"4HOLMV3%Q-WN/WC3:$YV+;DEQ?55VX6/1
M!>M$%Y:PND2V^1Y9AN6@;W=+=/'F78?,HH_,XOH?=%%TMTMK>;Z6K>A2T$?F
M=)=T,6C5R%G5R%FYN'-*/-I'(8CQ>AZ\+O*%A)=+R)JQG_G>1-_7J2I=9)VZ
M8AE>P503A8@!W8,VDTD8'[JP=OB-FG[!0'X-9G;%S%8S@XRPB(L*MP)1GT*T
MIB0IEQG03H*%H%O+R&T!5%KV!?BJ73"078.?4_%SE/QN(>4X%H6XB;&+FW.4
MB-'BIK3JR^W8SFYQ&\BNP<VMN+E*;G-94G',D'BR(_&0IYA'Z::JL%W\W*.$
M1D8KI872M"_!#D/;:3$<R+#!T*L8>DJ&Q9.*XT=EP?..LC"]=L53^O3%=FQH
M&6UL QDVL/D5-O\,;,H'?!='_ZB0FX;;7L%*Y[X@.QQ-JTUR(,<&R5%%<J0D
M^>-S\/7+_/H3NA>_?\RON[ I%7H260PIMAQ2+!A(K#$,XVH8QO]W0J-_RS?5
MKB%2JO<=HD+,KZ]^R_;-YJQ=#FD9=%C:OO6R-!M03>-E'V"\_H@ZEZ%:JR_$
M4JU1M$UC-&Y1'-0TZ#2U?.<$Q]I^RE1/SQW/=AQ]G]^K"2I5>A,TCY+QW)'?
M!CBD9]#E:3NC$_Q>=C7F*]N:XMV2O;RCRQ7.(<D(Q?2I.)WQ5^;GD)N:1:E6
M7W*.-W;;=(?T##H\/6/<IJO7-O[RN\Z?F&ZBE*$8UB+,N/3%Z-#B4TG1X"3+
MOP4\$"ZV//GA%G (5-X@KJ\)X<\-^7FA^F U^P]02P,$%     @ VH.>6A!]
MU-P] @  = 8  !H   !X;"]W;W)K<VAE971S+W-H965T,3 X+GAM;*U5;6_3
M,!#^*Y:1$$BL>6L'E"127V ;@E)M94A\<Y-K8\V)@^TVW;_'=M*H16DWI'U)
M?/8]S]US)Y_#BHL'F0$HM,M9(2.<*54.'4<F&>1$]G@)A3Y9<9$3I4VQ=F0I
M@*06E#/'=]U+)R>TP'%H]^8B#OE&,5K 7""YR7,B'L? >!5A#^\W;NDZ4V;#
MB<.2K.$.U,]R+K3EM"PIS:&0E!=(P"K"(V\X&1A_ZW!/H9(':V24+#E_,,9-
M&F'7) 0,$F48B/YM80*,&2*=QI^&$[<A#?!PO6?_8K5K+4LB8<+9+YJJ+,(?
M,$IA139,W?+J&AH]-L&$,VF_J*I]!Q\Q2C92\;P!ZPQR6M1_LFOJ< #P^B<
M?@/PGPL(&D!@A=:965E3HD@<"EXA8;PUFUG8VEBT5D,+T\4[)?0IU3@5_U 9
M"*3(#B0JR2-9,D!OIJ (91+-B!#$E/DMND"_KS]_O1G-KM!"?[^-9J&C='S#
MXB1-K'$=RS\1:PI)#P7>.^2[?K\#/GD^/#B&.UIU*]UOI?N6KW^";\R5KJ[L
MTG$6:"[64)8D@0CKFR-!; ''KU]YE^ZG+E4O1':D,6@U!F<UWA.V@?1BE*:0
MH@79(=U/Z%)<TWBNY3%7?QN[/5>7>7LHY2FOHQS[;8[]LSDN>-G9A+.H_VW"
M"Y$="1RT @<OTX1!5WF]?YOPE%>=HW,P$\P\_D[$FA82,5AIF-M[KVE$/>-J
M0_'2CHFEO19VF>EG 81QT.<KSM7>,).G?6CBOU!+ P04    " #:@YY:N2GT
M." $  #N$   &@   'AL+W=O<FMS:&5E=',O<VAE970Q,#DN>&ULK9AMC]HX
M$,>_RBA7G;92NTE,GM@"TFY8KGMJMZO=]DYW[TQB2-0DYFP'NM_^G =2XH04
M)-Y ['C^,_YY&'F8["C[SB-"!/Q(DXQ/M4B(S8VN\R B*>;7=$,R^69%68J%
M'+*USC>,X+ T2A,=&8:CISC.M-FDG'MBLPG-11)GY(D!S],4L]<[DM#=5#.U
M_<1SO(Y$,:'/)AN\)B]$?-L\,3G2&Y4P3DG&8YH!(ZNI=FO>+$RC,"A7_!63
M'3]XAF(K2TJ_%X.'<*H9140D(8$H)+#\VA*?)$FA)./XKQ;5&I^%X>'S7GU1
M;EYN9HDY\6GR=QR*:*IY&H1DA?-$/-/=1U)OR"[T IKP\A-V]5I#@R#G@J:U
ML8P@C;/J&_^H01P8('3$ -4&Z%2#46TP.M7 J@VL4PWLVL ^U<"I#9R2?06K
M)#W' L\FC.Z %:NE6O%0'E=I+0''69%9+X+)M[&T$[,O(B(,XBR@*0&<A4#+
MB81R3CA<S8G <<+?PGOX]^/]GP^WCW_ 5_GYZ?81?O_-=.P/TA:^1C3GTIB_
M@S>M\407,L;"DQ[4\=Q5\: C\9@(/M-,1!SNLY"$;0%=;J[9(=KO\ X-*LY)
M< TC\QT@ UG@/_X#5U7D;WNB\T_7&OU*:WZ.UK>7.5R]Z9.Y/UT&_2JDQ3E:
MO2&UCF#4)-FHU+6.Z#ZD&QPS68\$K&6Q UE1 GG(3)85P#+11&^B5)INJ5D4
MR.WLO8O01-\>GE=W$3)MK[UH/AA=4;MO^ 8'9*K)XLP)VQ)M5C T/O0=1]>C
MT7:WN)"[%FJK06T-H\ZVA(L2=?6C[B-;2=B'9#W;L!2TW57(<T8*VL%HSD7;
M]>@A):K%A1RVX-H-7'L0[@+' K8XR4F3QSRB3( @+)6\]^C[F-M=FI:2I_Z@
M]S-ASBLQYWB>WE_2W6+(70NVT\!V!F'[-)77)X[+"\CQ7'8Z7,VQDJ1^=XWK
MCATEDP>C.3>3NQ[5(G$A=RVT;H/6'41[F](\$QQV6-[J0EB^P@:_$M);A=W.
M3AQ70>=WURB[G0_&<R[<KKNQI^*]D,,67J_!ZPWB?29;PCA.@*X )_+NCK.
M@.P"(*3Y4JSR1%ZH@_((^HA[W>KL(&0KS+NK3,.S3(7[8*#G<N^Z''O*3VUQ
M(8<M[N.&^WB0^TN^Y''XNK_-KAA-X>G9AS65YY$=*\SC+DC+'2GYY'=7C0U/
MO6<,AG<N[3Z/AG+]65S(8PNW:?SL'8Q!X(?-0^]5W^C<E49JW?7[%B'74LOS
M<"CGPNUQ:IJN-U;P7LIIQ5<_:--2PM9E0\VAK 15/]/,5DW[7=&T%VV>,B^;
M^=NRA=5_RE3_!'S&;!UG'!*RDI+&M2OSAU7-=340=%,V@TLJ9&M9/D8$AX05
M"^3[%:5B/R@<-']QS/X'4$L#!!0    ( -J#GEIL >=[CP(  /L&   :
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
MM,'G$;0+P/.54G:W<!>,#V[Y&U!+ P04    " #:@YY:IK-P+SL"  "-!0
M&@   'AL+W=O<FMS:&5E=',O<VAE970Q,3,N>&ULE53+;MLP$/P50N@A 5KK
MZ;@(9 &)A:(]I#'LICT4/=#2VB),B2I)6\G?=TG)@E(KA>N#Q25G=G>&C[@1
M<J\* $V>2UZIN5-H7=^ZKLH***F:B!HJ7-D*65*-H=RYJI9 <TLJN1MXWHU;
M4E8Y26SGEC*)Q4%S5L%2$G4H2RI?[H&+9N[XSFEBQ7:%-A-N$M=T!VO03_52
M8N3V67)60J68J(B$[=RY\V_3T. MX#N#1@W&Q"C9"+$WP9=\[GBF(>"0:9.!
MXN<("^#<),(V?G<YG;ZD(0['I^R?K';4LJ$*%H+_8+DNYLY'A^2PI0>N5Z+Y
M#)V>J<F7":[L/VE:[ S!V4%I479D[*!D5?NESYT/ X(?O4$(.D)P*2'L".&E
MA*@C1-:95HKU(:6:)K$4#9$&C=G,P)IIV2B?56;;UUKB*D.>3K[A65$'^4*P
M4K8G5REHRK@B7ZF4U&S)-?E UG9M!?5!9@6:3):<5N3G Y0;D+\0\+1.R=6[
MZ]C5V)))[&9=^?NV?/!&^12R"0G]]R3P@FB$OKB<'H[0TW_3[VJ)=&^,[J*/
MO9E!;V9@\T5OY'N4.:NH,;.@$L;<:/E3RS<W\IA,_1!+'X>:ST&^-_.\UZCT
M'!5ZYM?#7DD(>PGA?T@@IQW/":N(+H"8]P;/G]R#'M/7)K\9-#7S_NY\<0[R
MHS-4>HX*PA%][N#LFX?J@<H=JQ3AL$6B-YFA0[*]_&V@16VOPT9HO%QV6.![
M"=( <'TKA#X%YH;U+W#R!U!+ P04    " #:@YY::$@9>5\#  "(#P  &@
M 'AL+W=O<FMS:&5E=',O<VAE970Q,30N>&ULM5=M;]HP$/XK5C9-G;21%]X[
M0"JDU?:A%0)U_>PF%[":V)GME/;?STY"&B!DT&9\(+9SSW-WCZV+;[1A_$FL
M 21ZB4(JQL9:ROC2-(6WA@B+%HN!JC<!XQ&6:LI7IH@Y8#\%1:'I6%;/C#"A
MQF24KLWY9,02&1(*<XY$$D68OTXA9)NQ81O;A059K:5>,">C&*]@"?(^GG,U
M,PL6GT1 !6$4<0C&QI5]Z=J.!J06OPEL1&F,="J/C#WIR2]_;%@Z(@C!DYH"
MJ\<SS" ,-9.*XT].:A0^-; \WK+?I,FK9!ZQ@!D+'X@OUV-C8" ? IR$<L$V
M/R%/J*OY/!:*]!]M,MMNVT!>(B2+<K"*("(T>^*77(@2P.X= 3@YP-D'=(X
MVCF@?2J@DP,ZJ3)9*JD.+I9X,N)L@[BV5FQZD(J9HE7ZA.I]7TJNWA*%DY/Y
M8H:$Q#*1C+^JC13 GT&@"Q<D)J% =YASK+?F*_J.[I<NNOC\=61*Y5GC32_W
M,LV\.$>\V ZZ952N!;JF/OB[!*8*N8C;V<8]=6H97?!:J&U_0X[E="H"FIT.
M;U? W=/A3DTV[6(7VBE?YPC?LMB!1;8#Z":A?I7.M3RZ2%R*&'LP-N)\+XW)
MET]VS_I1I5&39&Y#9#OZ=0K].B?JEW-729=1]%(*70Z?)X[=M=1O9#Z75:FP
M2\WV[-PJN[9=MMO)I5ODTJW-Y990$B61.@DK(B1P\)&'8R)QB&+@'E"IZG%5
M?AFM;94"LEI.=R^[6N?G[GE#9#LZ]0J=>K4ZG:U/KTJ??7EJ?9XK3T-D._+T
M"WGZM?+<J3L#H1Z+X+"^H^!(=>E7263O253K]UR)&B+;D6A02#0XL6JH41"@
M!P@#S(_7WEJV<VMODV1N0V0[*@X+%8<?K[W#@UHY/"R\F5&W9&0[AV6W-IIW
MYFI;;]<EJS;;:ZI*3LR) '3]$N/L_GOLP-1SG7MB&F5SFV+;U;%T[;0_?FIR
MCO*QZ5B#PX-SHIU;']-[<W;><G;^SY<]Y_W7I[W>_=D'I"&V3"RSU*)$P%=I
MJR>0QQ(JLUM_L9JUDU/=3NH69V]=M9E7:7-EOM%D/>HMYBM"!0HA4)16JZ\J
M"<_:OFPB69PV0H],JK8J':Y5JPQ<&ZCW 6-R.]$.BN9[\A=02P,$%     @
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
M#5/V +V_08B<"LR@W+B9_0]02P,$%     @ VH.>6H'WSUWE!0  7"4  !H
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
M^=D":2N8[W,A]+Y@3^?-[]OX?U!+ P04    " #:@YY:'==?O]P#  "V$0
M&@   'AL+W=O<FMS:&5E=',O<VAE970Q,3DN>&ULK5AM;YLZ&/TK%O=J:J6[
M@'EKVB61VK!IT]VF:MWNU?WH@@/6P,ZUG:3[][.!D!"H0U6^)+R<<_ Y/)@'
MSW:,_Q09QA(\%3D5<RN3<GUCVR+.<('$A*TQ56=6C!=(JEV>VF+-,4I*4I';
MKN.$=H$(M1:S\M@]7\S81N:$XGL.Q*8H$/]UAW.VFUO0VA_X1M),Z@/V8K9&
M*7[ \L?ZGJL]NU%)2(&I((P"CE=SZQ;>1##4A!+Q#\$[<;0-M)5'QG[JG4_)
MW'+TB'".8ZDED/K;XB7.<ZVDQO%_+6HUU]3$X^V]^H?2O#+SB 1>LOQ?DLAL
M;DTMD. 5VN3R&]M]Q+6A0.O%+!?E+]A56#^T0+P1DA4U68V@(+3Z1T]U$$<$
M^!S!K0GN*<%_AN#5!&\HP:\)?IE,9:7,(4(2+6:<[0#7:*6F-\HP2[:R3ZB^
M[P^2J[-$\>3B$XU9@8%$3UB BPA+1'(!OB+.D;XAE^ M^/$0@8L_+V>V5-?3
M+#NNM>\J;?<9;>B"+XS*3(#W-,%)6\!6 VU&Z^Y'>^<:%2,<3X '_P*NX_H]
M UH.IWL]]&@XW36X\9KLO5+//YL]4&GCOH K >B4"OH9WBZ<"9S9VV/3QJOH
MB>-&K%&,YY::&03F6VPMWOP!0^==7P0CB;4"\9M ?&,@7]4\1\I0^K*HN.%1
M%%>>[SC.21I=&)RZTPXNZN*\\/H8UK(0-!8"HX7;-.4X57<3;&A"A.3D<2-Q
M C#BE-!4]!D+.B,)':=K;!@L.@MK^0H;7Z'1UT=&4_"W^NDS8*2^L "78XI%
M(XFU(KMJ(KMZ[>-="4#8?KS#X.3.]\*<J7N"B\[*M7Q,&Q_35SR5TTZYN4'8
M+=YAL.@LK.7@NG%P;73PD"&:9HB ]QO.P'<<9^ S*8@\?2=5CHQ:+ZWF,<6B
MD<1:&4+GT"DXKZWG6N'D?75:I\MAL.@LK&WDJ.6!1B/_D2<U%8-[U7.JSF1+
M.*.JDY4H+TN#LIREO\"23<!GF4QZ;1KU7UHBHZI%8ZFULW4/V;JO+A)W6)$,
M@D5G86TCA]X,FILS\ZQ7DUM=ANL%W7FO#^AY/:_M/F#@/-^0P$-3!<U=U6'2
M^\Y1HBO_8C\A7IKF0;/LBZM\3+5H++5VI(<F#YJ[O"%5'@RK\D&PZ"RL;>30
MU4%S6W>FRL-.3;Z%USU%WH,+8$^-]^DY7K?&[:,/V@+SM%P8$"!F&RJKK\7F
M:+7X<*<7'_0'\<GQ6WAS6WZ*VP>9:D7C"^(IH0+D>*4DG<F52IA7BP35CF3K
M\K/YD4GU$5YN9A@EF&N .K]B3.YW] 6:I9K%;U!+ P04    " #:@YY:KA2C
M>X$"  #9!@  &@   'AL+W=O<FMS:&5E=',O<VAE970Q,C N>&ULK55=;YLP
M%/TK%I.F3=H*&)I^+$%JRJ;MH5/5:NNS S?!JK&9;9+VW^_:$)9$I*JFOH!]
M?<_QO<?X,-TH_6@J $N>:B'-+*BL;2[#T!05U,R<J 8DKBR5KIG%J5Z%IM'
M2@^J14BC:!+6C,L@F_K8K<ZFJK6"2[C5Q+1US?3S'(3:S((XV ;N^*JR+A!F
MTX:MX![LK^96XRP<6$I>@S1<2:)A.0NNXLL\=?D^X3>'C=D9$]?)0JE'-_E1
MSH+(%00""NL8&+[6< U"."(LXT_/&0Q;.N#N>,O^S?>.O2R8@6LE'GAIJUEP
M'I 2EJP5]DYMOD/?SZGC*Y0P_DDV?6X4D*(U5M4]&"NHN>S>[*G780<03XX
M: ^@AX#T""#I <EK 6D/\%*'72M>AYQ9EDVUVA#MLI'-#;R8'HWM<^F._=YJ
M7.6(L]E/_+*X+%0-I %-E"ZYQ.,GIF(:R(<<+./"?"2?NXB9AA9W==BPZ'>8
M=SO0(SO$E-PH:2M#OLH2RGV"$,L=:J;;FN?T1<8<BA.2Q)\(C6@Z4M#UZ^')
M"#Q_/9R^T$TRG$#B^9+_.8$QN3NZ=)S.V<2E:5@!LP!]P(!>0Y"]?Q=/HB]C
M4KTE6?Y&9'LRIH.,Z4OLV8._X5 2M@:-AD5D6R^<GLL#20U!LR2V0KE;W2B#
M <Q![^ %8;(D)1>MXY'[YW+T.+JR3GU9SF37V=E9/+FXP$]KO:OT6!Z=Q/'Y
M?EX^EI?0.*%#7J=/N'/I:] K;YZ&%*J5MKM+0[3SYSGZL_>Q@SCZ]I6WJ_ ?
M36?Z-TRON#1$P!(IHY,SK$IW1MI-K&J\M2R41:/RPPK_/:!= JXOE;+;B=M@
M^)ME?P%02P,$%     @ VH.>6D[VVX^: P  ^0X  !H   !X;"]W;W)K<VAE
M971S+W-H965T,3(Q+GAM;*U776_:,!3]*U8V39O4DL0DE'6 5)I]/4RK5FU]
M-LD%O"9V9AMH__WL) T!\M6M+Q#;YQ[['#LWOI,=%_=R#:#00Q(S.;762J67
MMBW#-21$#G@*3(\LN4B(TDVQLF4J@$194!+;V'%&=D(HLV:3K.]&S"9\HV+*
MX$8@N4D2(A[G$//=U'*MIXX?=+56IL.>35*R@EM0/],;H5MVR1+1!)BDG"$!
MRZEUY5X&KF<",L0O"CM9>49&RH+S>]/X&DTMQZP(8@B5H2#Z;PO7$,>&2:_C
M3T%JE7.:P.KS$_NG3+P6LR 2KGE\1R.UGEIC"T6P))M8_>"[+U (\@U?R&.9
M_:)=CO6'%@HW4O&D"-8K2"C+_\E#840EP!TU!. B !\'> T!PR)@V#? *P(R
MJ^U<2N9#0!29303?(6'0FLT\9&9FT5H^96;?;Y70HU3'J=FMXN$]XJG9!(G>
M!J (C>4[=([RD>_%R#EZC6PDUT2 G-A*SVSB[;"899[/@AMF<3'ZQIE:2_21
M11 =$MAZR>6Z\=.ZY[B5,8!P@(;N&<(.]FH6=-T_?%@3'O0/QRUJAN4N##,^
MKX'O^T9)15A$V>H,+6!%&=./B"_1(Q!1YW?.YV=\YMW>SK SPKXSL;=5%_K!
M@E/8V'></>I E%>*\EI%?1:$J>/-SE??&FA2W:5,20A32^<R"6(+UNS-*W?D
M?*C;Z9<D"[Q3)YQ&)_S2";_5B6O"0IW9ZKUH#7VN%R])%O@G7IQ[;O7P')@Q
M*LT8M9HQYVPCBTR"2/1;YSC]'5%UUK02/=>:ER0+1J?'1!O3X,Q%Z<Q%_RP
M+&I[_R_ZO?_]8$$G[$#/N-0S;M7S\0%$2"59Q-"I9]Q/SREL7".G"W6@YGVI
MYOU_Y.C:CV)..*ZLPQWX^$A2'U!0"QK5"W*=_;??:95TE]V*($)D"T+?\A#D
M.P8H%334F]:2P@OJJLG'F]4-"0J(BZL;/Q@W"*M<:MQ^"1=1AE(0E-=K<+LU
M=$*" G*@X=P=.%Z#"KQ7@?\E4];?OW"WE$Y(4$ .I3B#"]P@97^_<9]QP:FD
M@GHMP]-5U+PX_6!!)^Q0TOYVX[9?;YJR6[TDKT\JJ$55SE$AJ .5Z[$K-4$"
M8I755A*%?,-4?LTN>_/Z;6[J-U-3'/7KNNXJJV;L/4U>%'XC0F=!B6)8:DI]
M3/31$GF=E3<43[/*8\&5KF.RQ[6N34$8@!Y?<JZ>&F:"LMJ=_0502P,$%
M  @ VH.>6KE?5;_^ P  3A0  !H   !X;"]W;W)K<VAE971S+W-H965T,3(R
M+GAM;*V877.;.!2&_XJ&=G;:F=9\&=O)VIZ)#=GM15M/,^U>*R ;-B!12=C9
M?[\28()M60DSNK'YT/L@O4<Z'#0_$/K$4H0X>"YRS!96RGEY:]LL3E$!V8B4
M"(L[6T(+R,4IW=FLI @FM:C(;<]Q)G8!,VPMY_6U#5W.2<7S#*,-!:PJ"DC_
M6Z&<'!:6:QTO_,AV*9<7[.6\A#OT@/C/<D/%F=U1DJQ F&4$ XJV"^O.O8U<
M7PKJ%K\R=&"]8R"'\DC(DSSYDBPL1_8(Y2CF$@'%WQZM49Y+DNC'[Q9J=<^4
MPO[QD7Y?#UX,YA$RM";Y/UG"TX4ULT""MK#*^0]R^!NU PHD+R8YJW_!H6D;
M>!:(*\9)T8I%#XH,-__PN36B)Q <M<!K!=ZY8')%X+<"_UPPOB(8MX+Q6P5!
M*ZB';C=CKXT+(8?+.24'0&5K09,'M?NU6OB583E1'C@5=S.AX\L'3N(G0$H9
M-08^A(C#+&?@&Z04RA!^!)_!SX<0?'C_<6YS\4 IL^,6OFK@WA6X"[X2S%,&
M(IR@1*%?OZ+W- !;C+0;KG<<[LK3$N]*.@*^\PEXCGNCZI!>'J)8R%TI]\8*
M>?AVN:^01V^7>QHS_"[V?LT;7^&M22'R#8/UBD7/\ABI@JRER$QVRTH8HX4E
M4A5#=(^LY1_OW(GSI\K@!C:I83*+[464'<>9V_N^CY>MQM.+5I&B5=!O=>+*
MN'-EK'5%S@S0+(OO99/,< *^X!AAN2# )H=8Y9*6.M0ED[#0)"PR!#L)3="%
M)M!/6"BBD.?*5++22H?Z;Q(6FH1%#2SHSWG7"Z[,^4EG[$1K[#W,J'BKT"=1
MF>QA7B% :))A43D ED+1*U B*A> J!U4WC=TU^FOZM.UNM9V8*BC)F&1(=B)
M\=/.^*G6^!7!%3MZ#)-_Q0M?5&%<Y?'T(O RUYWGQ+7V>4-]-@F+#,%.?)YU
M/L^T/F\J&J>BGCR?URJCM:2AB<0D+#0)BV87\VGF7'UYWG0^W[R>2-H,TM:4
M.PHQ5Z=L+6NHTR9AH4E8U,!F_>0X\M4^N\Y+W>X8*=[TF*$FM[37RC=%,U7]
MIFIVO8!S>]\TKM:;OZY/N5;9G_:^*HWJGS!T.AFE1:9HI^YZ+^YZ^ES:E0*
M; &NBD=$Y=%YR4 JSKBHG3.\4T;"NRP:G)$3G ="VYG!@3!)BTS13@/Q\OGF
MZK_?HF<1B4R\U$J:Q6]*N'K@X&1@DA8:I44MK9]TO='L++'8O7V3 M%=O6'%
M0$PJS)L]A>YJLRFVEIMB<M_E[/J=>WM7;Q'9+YAFI^TKI+M,!"5'6X%T1E.1
M>6BS>=6<<%+6NS./A'-2U(<I@@FBLH&XOR6$'T_D [HMQ.7_4$L#!!0    (
M -J#GEI#AX*LSP0  #8;   :    >&PO=V]R:W-H965T<R]S:&5E=#$R,RYX
M;6SMF=MNXS80AE^%<+=%%EA$!Y^2K&W B2SO%MT@V&1;M'>T-+:)2*)"TG$,
M].$[E!3%<A35 HB@%[VQ=>!\,^0_'-/D:,O%O5P#*/(41XD<=]9*I1>6)8,U
MQ%2>\A02?+/D(J8*;\7*DJD &F9&<62YMCVP8LJ2SF24/;L1DQ'?J(@E<".(
MW,0Q%;M+B/AVW'$ZSP^^L]5:Z0?69)32%=R"^I'>"+RS2DK(8D@DXPD1L!QW
MIL[%W,D,LA:_,]C*O6NBN[+@_%[?? W''5M'!!$$2B,H?CW"%421)F$<#P6T
M4_K4AOO7SW0_ZSQV9D$E7/'H#Q:J];ASUB$A+.DF4M_Y]@L4'>IK7L CF7V2
M;=YV..B08",5CPMCC"!F2?Y-GXJ!V#,XL]\P< L#]UB#;F'0/3!PW3<,>H5!
M[UB#?F'0/]9@4!@,CC48%@;#3*Q\=#-I/*KH9"3XE@C=&FGZ(M,WLT9%6*)3
M\58)?,O03DUNBJQ*(YJ0$P\499$DUU0(JG/D(_GE)V?0_TQ80N[6?"-I$LJ1
MI="SMK>"PLME[L5]PXOCDF\\46M)9DD(815@8<AEW.YSW)=N(]&#X)1TG4_$
MM=T>^7'KD9,/'VL"NVJ#N;K^DYSD':YC><>SN@TAS=I@_B4D_WB6VQ#2O WF
M[9 J2G;+#.QF\-Z;<!D(EJJ\MD5404@4)^E>8M8E7#.41A&!.(WX#D"2+0@@
MD"BFHBI\ 0DLF9($'C8TTF_4&I@@?)N0 !-6L,5&!R8QC(TD??MGW<:Q\9LO
M<4Z$[)&%VG*Y24(LJP'?) I+(\8<H-\2@5X7.^)30694JD]8*S&"D"4K@D'D
M+G= A=14">*1!8!U0*U+D]/RBFRIQ'%ZV#"1]R6F]T!D"@%;LN @:JH(35/!
MGQ@6;8AV&'H6.;K4!1S;2XQ5,)#/3U\&#=%8$K"/6:PX>GDG8YK@3U2L[P,>
MIS39U<VZ_]7Y#ZOC-:JC%S\7,J4!C#NXNM$=ALY$SW?[<UTU,PGS3<+FAF"5
MJM8KJUJO,<6OJOD)(D!-4!JMY)ZV.X*KR3+ALX4FU%6[W)EC9][T\O)Q8I\Z
M@Y'UN#_KCFKE-0;>5GV3,-\D;&X(5E&_7ZK?;U1_NEH)6.&D/ICQ![]K6 )P
MS@I06"VR.5M4O"(1)/F;?*C+AMSY8$]FYQS+GGV0#HTQMAQ.K\ZG^\KGS*1/
M_[7/KOW:Y]R0SXK2@U+I0:/2?WV9_?IU>CTG=_CYV_2Z3JY&0LLQN3()\TS"
M9B9AODG8W!"LDB##,D&&[U0*\B5W78(U1M VP7+8<'_2#75Q.9AUGDFGL]=.
MW>%@\,JI;]+IO,;IH%I'*XJ?E8J?M2H)*-TE5_A'OO:/<R.KK78F89Y)V,PD
MS#<)FQN"55+EO$R5\_=<)38Z:YM+)F'>>>W*U#U8/!S5RC<9V-P0K**^8[]L
MOMEM2\4=3^LWV!I);<4U2O.,TF9&:;Y1VMP4K9HO>YNUSGO6BV9OK7/*),TK
M:(?%H'=0,HYKYAN-;6Z*EF>!M;=['X-890<S>GMJDZA\0[Q\FA_^7.K#'[W[
M?_!\ZEQ,LZ,0ZP63GRA]HV+%,&,B6"+2/AWB7R:1']+D-XJGV1G!(ENH9)=K
MH"$(W0#?+SE7SS?:07E4-OD'4$L#!!0    ( -J#GEIEAR41*P,  % -   :
M    >&PO=V]R:W-H965T<R]S:&5E=#$R-"YX;6RME^^/TC 8Q_^59AIS)N;V
MBS%$6 (,O5./$,[3J/%%V1[8<MN*;8$SN3_>=AN3N=T".EYL;=?GT^?Y/FUI
M!WM"[UD P-%#'"5LJ 2<;_JJRKP 8LPNR082\65%:(RYJ-*URC84L)\:Q9%J
M:%I7C7&8*,X@;9M39T"V/ H3F%/$MG&,Z:\Q1&0_5'3ET+ (UP&7#:HSV. U
MW *_V\RIJ*D%Q0]C2%A($D1A-51&>G_:D_W3#I]#V+.C,I*1+ FYEY5K?ZAH
MTB&(P..2@,5K!Q.((@D2;OS,F4HQI#0\+A_H;]/812Q+S&!"HB^ASX.ATE.0
M#RN\C?B"[*\@C\>2/(]$+'VB?=;7-!7D;1DG<6XL/(C#)'OCAUR'(P/#>,+
MR V,4PW,W, \U:"3&W1.-;!R@S1T-8L]%<[%'#L#2O:(RMZ")@NI^JFUT"M,
MY#RYY51\#84==Q8ANT<KD2Y"&;IP@>,P8FB&*<4R@R\'*A>CR+ZJEQ/'&=%X
M@J@;Z(8D/&!HFOC@EP&J<*_PT3CX.#8:B2YXE\C47R%#,SKH[M9%%\_K')N<
MCC$;,.XYF,GL*[IX\4SO6F_J6--V6"79S"*U9@KO/ '_=C5]?SV:O4.?Q//C
M:(8>T7PQJ4MH(T?N5'VVP1X,%;$5,: [4!SIIO:F+@EMPMPV8=.68*5D=(ID
M=!J3,2&)!PF7JTILCV2%/ I^R!&5Z^\195FORTTC]MS<M ES,YB=PN3?T<ZQ
M-/D;J+MCU5L:LZ2Z5:AN-:J^ ,9IZ''PD8=94*=O!N@>1=&U;:L:QZ1QI'.U
M:Q,VM2J)T(V>5LY%2;YN(5^W4;XKDJS1!_G B2\W#_3]!N(ET!]U2C:RSIVI
M;<+<-F'3EF"EA-A%0NQ_WD7J4I+1K..9H1G5J6U7UH!=70!NHVOGJM@2K*1B
MKU"Q][^[0J^BB&'I5>&JW;J:^;HJ7:,_YTK7$BR33CTZ.L9 U^F9G2&/;!.>
MG="*UNQ:,-;[;GI\_JM=7!=&Z2E9_8/)[AHWF*[#A*$(5@*I7=IB/M+L_)Y5
M.-FD!]0EX>*XFQ8#<>4!*CN([RM"^*$B!R@N4<YO4$L#!!0    ( -J#GEK0
M>H&L, (  ! %   :    >&PO=V]R:W-H965T<R]S:&5E=#$R-2YX;6R55&UO
MVR 0_BO(FZ96FH+MO'3*;$M-LVG[T"E*U.TSL2\Q"@8/<-S^^QW8\3(UC;0O
MAH-[7@YS)*W2!U,"6/)<"6G2H+2VGE-J\A(J9D:J!HD[.Z4K9C'4>VIJ#:SP
MH$K0. QGM&)<!EGBUU8Z2U1C!9>PTL0T5<7TRP*$:M,@"DX+:[XOK5N@65*S
M/6S /M4KC1$=6 I>@31<2:)AEP;WT7PQ=?D^X2>'UIS-B:MDJ]3!!=^+- B=
M(1"06\? <#C" PCAB-#&[YXS&"0=\'Q^8O_J:\=:MLS @Q*_>&'+-/@4D )V
MK!%VK=IOT-?C#>9*&/\E;9<[0<6\,595/1CCBLMN9,_].9P!XO@-0-P#8N^[
M$_(NE\RR+-&J)=IE(YN;^%(]&LUQZ7[*QFK<Y8BSV9J; V&R((W,05O\B_:%
MW"P!9\*0'TQKYH[M-J$6U1R&YCWSHF..WV".8O*HI"T-^2(+*/XEH&AS\!J?
MO"[BJXQ+R$=D''TD<1A/R--F26[>WU[A'0]G,/:\X_\X@TOU=BR3RRRN>^:F
M9CFD ;:' 7V$(/OP+IJ%GZ]XG P>)]?8LS5(RP3A,E<57#+7P6<>[CKQF(VC
M, P3>KR@.AU4IU=55QJ[7^.-<&U%CDPT%[6GK[3O9J^UZ=DMK4#O?2\:DJM&
MVN["#JM#N]]WM_QO>O=6/#*]Y](0 3N$AJ,[=*"[_NL"JVI_Y[?*8@?Y:8E/
M%FB7@/L[I>PI< +#(YC] 5!+ P04    " #:@YY:$*<(!<0"  "6"   &@
M 'AL+W=O<FMS:&5E=',O<VAE970Q,C8N>&ULK59M;YLP$/XK%INF5MK*2PC)
M4H*40+=V6J,J63=MWURX!%2PF>TD[;^?;0A+&A*U6[^ 7^YY?,^=N<-?4W;/
M4P"!'HJ<\*&1"E$.3)/'*128G]$2B-R94U9@(:=L8?*2 4XTJ,A-Q[(\L\ 9
M,0)?K]VPP*=+D6<$;ACBRZ+ ['$,.5T/#=O8+$RS12K4@AGX)5[ #,1M></D
MS&Q8DJP PC-*$(/YT!C9@\A3]MK@>P9KOC5&2LD=I?=J<I4,#4LY!#G$0C%@
M^5I!"'FNB*0;OVM.HSE2 ;?'&_9/6KO4<H<YA#3_D24B'1I] R4PQ\M<3.GZ
M$FH]7<47TYSK)UI7MIYGH'C)!2UJL/2@R$CUQ@]U'+8 CG, X-0 Y[F 3@WH
M/!?@U@!71Z:2HN,088$#G]$U8LI:LJF!#J9&2_D946F?"29W,XD3P11R+"!!
M)6;B$0F&"<<Z(QR=1"!PEG,TP8QAE9Y3] ']NKSX<C6:?$;?Y//K:.*;0KJA
MR,RX/G)<'>D<.-)VT#4E(N7H@B20[!*8TO]&A+,1,7:.,D80GZ&._1XYEN.B
MVUF$3MZ>MC@6/I^F@\+)3W3R[HWM=<_;N**7N'28:T=OITE:1Y.[!\BOR JX
MD!^?:(O^4:PJ(P->XAB&AJP3'-@*C$"Y9IVW1:PBZVDR54)6@>MZ'RW+\LW5
M=C1:['I6?]MN1ZG;*'6/*KT@"[D"+",+-).^9C&T23Y*\E+)KTD6O1+93O"Z
M3?"Z_W%-*JRWE;$G.0TKB^YAB^CH^?^HSFO4>4?53:%8$E"%B9(V?=Z>/L?J
M]/9N;NCMW5R[W^OOW_"CWKQ4J[E5L0M@"]WY.(KIDHBJ[C6K57,=VX-0-Z$G
MZ[+ICG2O,?_25!W[&C/Y[7"4PUQ26F<]F2Q6=<%J(FBI^\(=%;++Z&$J?QR
M*0.Y/Z=4;";J@.97)/@#4$L#!!0    ( -J#GEJDVV+470(  !L&   :
M>&PO=V]R:W-H965T<R]S:&5E=#$R-RYX;6R=5=MNVD 0_9656U5$BK Q8*K4
MMA2@5?N0"@6E?5[LP5YE+^[N LG?9W8-+I4<4N4%[V7FG#-CGR$]*/UH:@!+
MG@27)@MJ:YN;,#1%#8*:H6I XLU6:4$M;G45FD8#+7V2X&$<14DH*)-!GOJS
ME<Y3M;.<25AI8G9"4/T\!ZX.63 *3@?WK*JM.PCSM*$5K,$^-"N-N[!#*9D
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
M!? $E)V O\^D-&\/UL'^;G'\+U!+ P04    " #:@YY:0M07/R8"  "J!
M&@   'AL+W=O<FMS:&5E=',O<VAE970Q,CDN>&ULE53;CILP$/V5$=J'7:F-
M";FT71&DS5[4/J2*-MKVH>J#@4FP%MNL;9*MU(^O+X12*5FI2( O<\Z<8V9(
M#U(]ZPK1P"NOA5Y$E3'--2&ZJ)!3/9(-"KNSE8I38Z=J1W2CD)8>Q&N2Q/&<
M<,I$E*5^;:VR5+:F9@+7"G3+.56_EEC+PR(:1\>%1[:KC%L@6=K0'6[0/#5K
M96>D9RD91Z&9%*!PNXANQM?+J8OW =\8'O1@#,Y)+N6SFWPI%U'L!&&-A7$,
MU+[V>(MU[8BLC)>.,^I3.N!P?&1_\-ZMEYQJO)7U=U:::A%]C*#$+6UK\R@/
MG['S,W-\A:RU?\(AQ,[G$12M-I)W8*N ,Q'>]+4[AP$@^70&D'2 Q.L.B;S*
M.VIHEBIY .6B+9L;>*L>;<4QX3[*QBB[RRS.9)LVU_C2HC" >_O4<'F'AK):
MPU>J%'5G=@7O81!W[^+@QPIYCNIG2HR5X<A(T:5<AI3)F91C6$EA*@WWHL3R
M7SRQ\GL/R='#,GF3\ 'S$23Q.WLG,WC:W,'EQ17HBBK4;]!/^B.:>/KI&?IU
MJXK*?GB0JF3"5BY0+EM[!+_AXI3[P#;W;*XG]MDL=E=*]B=43'L5T_]4$0Q:
M%:><!BF!<C:0,IF=D$(&]<-1[7R7:"B<RU!*_6K?B#>A_OZ&ARY>4;5C0D.-
M6PN-1Q]L<A4Z(TR,;'PUYM+8VO;#ROY,4+D N[^5TAPG+D'_>\K^ %!+ P04
M    " #:@YY::!N''$$#  #J$P  #0   'AL+W-T>6QE<RYX;6S=6-%NVC 4
M_97(7:=6FAH@:TI60-J0*DW:IDKMP]XJ0QRPY-B98SK8_^Q']F7SC4,"U!=U
M?=A@027V/3[G'MLWC=M!:5:"W<T9,\$R%[(<DKDQQ;LP+*=SEM/R0A5,6B13
M.J?&=O4L+ O-:%H"*1=AK].)PYQR248#N<AO<E,&4[609DCB)A2XV\=T2+KQ
M6Q(XN;%*V9 \G+W^ME#F^E7@[B=O3DXZ#^?7N_&S"C@GH5?TTB_ZZR>BV@#[
M9>-G>+WHX'8MADE?/<?QMO:.Z3WB_6WQ:OBI57+$4XR6>&@V2\N$3D4.Z[T>
M#3(EVRV/B M8=9JSX)&*(1E3P2>: RNC.1<K%^Y!8*J$TH&QM6;3=2%2_G!P
MU_6@#&N=G$NEJ]PN@_N>U,-W@'4/#'(A&H,]X@*C04&-85K>V$XUN H^@8*Z
M?;\JK,.9IJMN[Y*TA.IFDTR43IENTG3).C0:"):!'<UG<[@;580 &J-RVT@Y
MG2E)*P]K1MVPLE,FQ!T\HU^S+>UEMK%O'=@UV32MH;KI9%P']#?5G/:F;/0B
MW:#@C\I\6-CIR*H/!<IN-<OXLNHOL\8 IM[%U6E1B-5[P6<R9V[RSTXX&M U
M+Y@KS7_8;% J4QM@F@2/3!L^W8Q\U[2X9TNS+J=EAGON':'GO[O.,R:9IF+3
MM*W]0U[E%SN.KOZ5Y>JWRJYAK\?ZQ7OH)B^/P61\#":/HB;[QV R.7R3T6%Z
M#.M#QL9)9NL<TT0#."\.R1<X?8HV:3!9<&&XK'MSGJ9,/CG.6'E#)_8/F2U]
M.SYE&5T(<]^ 0]*V/[.4+_*D&74+"U&/:MN?8'K=N#FLVEQ<IFS)TG'=U;-)
MU0QLPV:M+R#L(C?5Y4<PCL/\"&!8'LP!QG$L+,__-)\^.A^'8=[Z7J2/<OHH
MQ[%\R+CZ8'G\G,1>_IDF213%,;:BX['7P1A;MSB&'[\:Y@T86![(]&=KC>\V
M7B'[ZP#;TWT5@LT4KT1LIOA: ^)?-V DB7^WL3S P'8!JQW([\\#->7G1!'L
M*N8->X)Q)$DP!&K17Z-QC*Q.#!___F!/210EB1\!S.\@BC $GD8<P1R !PR)
MHNH]N/,^"M?OJ;#][][H-U!+ P04    " #:@YY:EXJ[',     3 @  "P
M %]R96QS+RYR96QSG9*Y;L,P#$!_Q=">, ?0(8@S9?$6!/D!5J(/V!(%BD6=
MOZ_:I7&0"QEY/3P2W!YI0.TXI+:+J1C]$%)I6M6X 4BV)8]ISI%"KM0L'C6'
MTD!$VV-#L%HL/D N&6:WO606IW.D5XA<UYVE/=LO3T%O@*\Z3'%":4A+,P[P
MS=)_,O?S##5%Y4HCE5L:>-/E_G;@2=&A(E@6FD7)TZ(=I7\=Q_:0T^FO8R*T
M>EOH^7%H5 J.W&,EC'%BM/XU@LD/['X 4$L#!!0    ( -J#GEK;IHN'4 @
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
M7U*:XSDK\@?MU7\V W-8"VZV+HHK<VPD[Q2;;F];N;WEYJ?_ %!+ P04
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
M    S0   !               ( !     &1O8U!R;W!S+V%P<"YX;6Q02P$"
M% ,4    " #:@YY:<]$J)/(    K @  $0              @ '#    9&]C
M4')O<',O8V]R92YX;6Q02P$"% ,4    " #:@YY:F5R<(Q &  "<)P  $P
M            @ 'D 0  >&PO=&AE;64O=&AE;64Q+GAM;%!+ 0(4 Q0    (
M -J#GEK@"O;QA08   <>   8              " @24(  !X;"]W;W)K<VAE
M971S+W-H965T,2YX;6Q02P$"% ,4    " #:@YY:T!N8[? -   I<   &
M            @('@#@  >&PO=V]R:W-H965T<R]S:&5E=#(N>&UL4$L! A0#
M%     @ VH.>6L-<AGV9 @  H@<  !@              ("!!AT  'AL+W=O
M<FMS:&5E=',O<VAE970S+GAM;%!+ 0(4 Q0    ( -J#GEIHWUQD5PP  'IH
M   8              " @=4?  !X;"]W;W)K<VAE971S+W-H965T-"YX;6Q0
M2P$"% ,4    " #:@YY:*$HGUT03  "1L@  &               @(%B+
M>&PO=V]R:W-H965T<R]S:&5E=#4N>&UL4$L! A0#%     @ VH.>6BV(4*V#
M"P  *6<  !@              ("!W#\  'AL+W=O<FMS:&5E=',O<VAE970V
M+GAM;%!+ 0(4 Q0    ( -J#GEHF4<_U2P(  *4&   8              "
M@95+  !X;"]W;W)K<VAE971S+W-H965T-RYX;6Q02P$"% ,4    " #:@YY:
M'_>[_H<&  #.$@  &               @($63@  >&PO=V]R:W-H965T<R]S
M:&5E=#@N>&UL4$L! A0#%     @ VH.>6D'\1S4M"   01D  !@
M     ("!TU0  'AL+W=O<FMS:&5E=',O<VAE970Y+GAM;%!+ 0(4 Q0    (
M -J#GEKDM3+$YCD  !+N   9              " @39=  !X;"]W;W)K<VAE
M971S+W-H965T,3 N>&UL4$L! A0#%     @ VH.>6C)%I/P[!0  GPT  !D
M             ("!4Y<  'AL+W=O<FMS:&5E=',O<VAE970Q,2YX;6Q02P$"
M% ,4    " #:@YY:'4TJ$G@$  "@#   &0              @('%G   >&PO
M=V]R:W-H965T<R]S:&5E=#$R+GAM;%!+ 0(4 Q0    ( -J#GEK-A1&9)0,
M %P(   9              " @72A  !X;"]W;W)K<VAE971S+W-H965T,3,N
M>&UL4$L! A0#%     @ VH.>6G6E?+6+!@  *Q@  !D              ("!
MT*0  'AL+W=O<FMS:&5E=',O<VAE970Q-"YX;6Q02P$"% ,4    " #:@YY:
MXJ7@6G4#   &"0  &0              @(&2JP  >&PO=V]R:W-H965T<R]S
M:&5E=#$U+GAM;%!+ 0(4 Q0    ( -J#GEI?^^?>Z@(  ) &   9
M      " @3ZO  !X;"]W;W)K<VAE971S+W-H965T,38N>&UL4$L! A0#%
M  @ VH.>6CBIPI2L!   @ P  !D              ("!7[(  'AL+W=O<FMS
M:&5E=',O<VAE970Q-RYX;6Q02P$"% ,4    " #:@YY::3/S"_T"   8!P
M&0              @(%"MP  >&PO=V]R:W-H965T<R]S:&5E=#$X+GAM;%!+
M 0(4 Q0    ( -J#GEJ74N>C. ,  )<'   9              " @7:Z  !X
M;"]W;W)K<VAE971S+W-H965T,3DN>&UL4$L! A0#%     @ VH.>6H"B/<%-
M P  <P@  !D              ("!Y;T  'AL+W=O<FMS:&5E=',O<VAE970R
M,"YX;6Q02P$"% ,4    " #:@YY:B4BM,UL%  #="P  &0
M@(%IP0  >&PO=V]R:W-H965T<R]S:&5E=#(Q+GAM;%!+ 0(4 Q0    ( -J#
MGEK]X:]V!@4   (,   9              " @?O&  !X;"]W;W)K<VAE971S
M+W-H965T,C(N>&UL4$L! A0#%     @ VH.>6K/P,,D2 P  )PD  !D
M         ("!.,P  'AL+W=O<FMS:&5E=',O<VAE970R,RYX;6Q02P$"% ,4
M    " #:@YY:*QS+TLD"   Q!@  &0              @(&!SP  >&PO=V]R
M:W-H965T<R]S:&5E=#(T+GAM;%!+ 0(4 Q0    ( -J#GEJ>RODE70(  %D%
M   9              " @8'2  !X;"]W;W)K<VAE971S+W-H965T,C4N>&UL
M4$L! A0#%     @ VH.>6C_]O08? P  3@<  !D              ("!%=4
M 'AL+W=O<FMS:&5E=',O<VAE970R-BYX;6Q02P$"% ,4    " #:@YY: B68
MS(<%   ^$@  &0              @(%KV   >&PO=V]R:W-H965T<R]S:&5E
M=#(W+GAM;%!+ 0(4 Q0    ( -J#GEKZ#LKZ,@,  )H'   9
M  " @2G>  !X;"]W;W)K<VAE971S+W-H965T,C@N>&UL4$L! A0#%     @
MVH.>6I:GD6/= @  @08  !D              ("!DN$  'AL+W=O<FMS:&5E
M=',O<VAE970R.2YX;6Q02P$"% ,4    " #:@YY:#L_H[.8$  #:#0  &0
M            @(&FY   >&PO=V]R:W-H965T<R]S:&5E=#,P+GAM;%!+ 0(4
M Q0    ( -J#GEI)@Y!FYP(  $\&   9              " @</I  !X;"]W
M;W)K<VAE971S+W-H965T,S$N>&UL4$L! A0#%     @ VH.>6HB@U"C<"@
M5R,  !D              ("!X>P  'AL+W=O<FMS:&5E=',O<VAE970S,BYX
M;6Q02P$"% ,4    " #:@YY:E-= _G4"  #[!0  &0              @('T
M]P  >&PO=V]R:W-H965T<R]S:&5E=#,S+GAM;%!+ 0(4 Q0    ( -J#GEJ*
MG9$S$ \  +LJ   9              " @:#Z  !X;"]W;W)K<VAE971S+W-H
M965T,S0N>&UL4$L! A0#%     @ VH.>6F5QM?I=!0  A!   !D
M     ("!YPD! 'AL+W=O<FMS:&5E=',O<VAE970S-2YX;6Q02P$"% ,4
M" #:@YY:[*5F[E0$   \#   &0              @(%[#P$ >&PO=V]R:W-H
M965T<R]S:&5E=#,V+GAM;%!+ 0(4 Q0    ( -J#GEJNB$WQ$P8  ,\-   9
M              " @084 0!X;"]W;W)K<VAE971S+W-H965T,S<N>&UL4$L!
M A0#%     @ VH.>6@D7F7'S @  '0@  !D              ("!4!H! 'AL
M+W=O<FMS:&5E=',O<VAE970S."YX;6Q02P$"% ,4    " #:@YY:\0;Z?(L*
M  !A(   &0              @(%Z'0$ >&PO=V]R:W-H965T<R]S:&5E=#,Y
M+GAM;%!+ 0(4 Q0    ( -J#GEKI(GE,K@,  &H)   9              "
M@3PH 0!X;"]W;W)K<VAE971S+W-H965T-# N>&UL4$L! A0#%     @ VH.>
M6I$3LUK72P  B"4! !D              ("!(2P! 'AL+W=O<FMS:&5E=',O
M<VAE970T,2YX;6Q02P$"% ,4    " #:@YY:L@Y0/VL%   &#P  &0
M        @($O> $ >&PO=V]R:W-H965T<R]S:&5E=#0R+GAM;%!+ 0(4 Q0
M   ( -J#GEJ6_4X?R@,  #(*   9              " @=%] 0!X;"]W;W)K
M<VAE971S+W-H965T-#,N>&UL4$L! A0#%     @ VH.>6G,+^&U !   T@L
M !D              ("!TH$! 'AL+W=O<FMS:&5E=',O<VAE970T-"YX;6Q0
M2P$"% ,4    " #:@YY:Q/2'?PX$  "D#   &0              @(%)A@$
M>&PO=V]R:W-H965T<R]S:&5E=#0U+GAM;%!+ 0(4 Q0    ( -J#GEJ*3^=J
MS@(  .4&   9              " @8Z* 0!X;"]W;W)K<VAE971S+W-H965T
M-#8N>&UL4$L! A0#%     @ VH.>6IB)[%\_!   ( T  !D
M ("!DXT! 'AL+W=O<FMS:&5E=',O<VAE970T-RYX;6Q02P$"% ,4    " #:
M@YY:.*V>/-8"  "U!@  &0              @($)D@$ >&PO=V]R:W-H965T
M<R]S:&5E=#0X+GAM;%!+ 0(4 Q0    ( -J#GEH3UUYHO (  (\&   9
M          " @1:5 0!X;"]W;W)K<VAE971S+W-H965T-#DN>&UL4$L! A0#
M%     @ VH.>6M;A;:MD @  :04  !D              ("!"9@! 'AL+W=O
M<FMS:&5E=',O<VAE970U,"YX;6Q02P$"% ,4    " #:@YY:X%$E^'X"   9
M!@  &0              @(&DF@$ >&PO=V]R:W-H965T<R]S:&5E=#4Q+GAM
M;%!+ 0(4 Q0    ( -J#GEIC3QP=<@,  +P(   9              " @5F=
M 0!X;"]W;W)K<VAE971S+W-H965T-3(N>&UL4$L! A0#%     @ VH.>6@BI
M#WEN P  ! @  !D              ("! J$! 'AL+W=O<FMS:&5E=',O<VAE
M970U,RYX;6Q02P$"% ,4    " #:@YY:9/(.&_@"  !A"   &0
M    @(&GI $ >&PO=V]R:W-H965T<R]S:&5E=#4T+GAM;%!+ 0(4 Q0    (
M -J#GEK5CK0HMP0  (X0   9              " @=:G 0!X;"]W;W)K<VAE
M971S+W-H965T-34N>&UL4$L! A0#%     @ VH.>6H8_\U%' @  % 4  !D
M             ("!Q*P! 'AL+W=O<FMS:&5E=',O<VAE970U-BYX;6Q02P$"
M% ,4    " #:@YY:$GT=*G$"  !^!0  &0              @(%"KP$ >&PO
M=V]R:W-H965T<R]S:&5E=#4W+GAM;%!+ 0(4 Q0    ( -J#GEHX#[X&9 4
M '$1   9              " @>JQ 0!X;"]W;W)K<VAE971S+W-H965T-3@N
M>&UL4$L! A0#%     @ VH.>6A&4]90E P  + <  !D              ("!
MA;<! 'AL+W=O<FMS:&5E=',O<VAE970U.2YX;6Q02P$"% ,4    " #:@YY:
MD++TC5P"  ![!0  &0              @('AN@$ >&PO=V]R:W-H965T<R]S
M:&5E=#8P+GAM;%!+ 0(4 Q0    ( -J#GEJ)0'VIJP(  )@&   9
M      " @72] 0!X;"]W;W)K<VAE971S+W-H965T-C$N>&UL4$L! A0#%
M  @ VH.>6B:<EM): @  7 4  !D              ("!5L ! 'AL+W=O<FMS
M:&5E=',O<VAE970V,BYX;6Q02P$"% ,4    " #:@YY:^)#F!D@(  "+-@
M&0              @('GP@$ >&PO=V]R:W-H965T<R]S:&5E=#8S+GAM;%!+
M 0(4 Q0    ( -J#GEH+M[4M!P,  )H(   9              " @6;+ 0!X
M;"]W;W)K<VAE971S+W-H965T-C0N>&UL4$L! A0#%     @ VH.>6GX*.27N
M P  E!0  !D              ("!I,X! 'AL+W=O<FMS:&5E=',O<VAE970V
M-2YX;6Q02P$"% ,4    " #:@YY:J0?*/><%   O*P  &0
M@(')T@$ >&PO=V]R:W-H965T<R]S:&5E=#8V+GAM;%!+ 0(4 Q0    ( -J#
MGEJJ=:XZ$@4  &,;   9              " @>?8 0!X;"]W;W)K<VAE971S
M+W-H965T-C<N>&UL4$L! A0#%     @ VH.>6E^@;SQ@ P  !@X  !D
M         ("!,-X! 'AL+W=O<FMS:&5E=',O<VAE970V."YX;6Q02P$"% ,4
M    " #:@YY:=4RKO"X#   W$@  &0              @(''X0$ >&PO=V]R
M:W-H965T<R]S:&5E=#8Y+GAM;%!+ 0(4 Q0    ( -J#GEK>LZ4YJP,  $D9
M   9              " @2SE 0!X;"]W;W)K<VAE971S+W-H965T-S N>&UL
M4$L! A0#%     @ VH.>6NS;9FMC P  N L  !D              ("!#ND!
M 'AL+W=O<FMS:&5E=',O<VAE970W,2YX;6Q02P$"% ,4    " #:@YY:'M&I
M4@<#   2"@  &0              @(&H[ $ >&PO=V]R:W-H965T<R]S:&5E
M=#<R+GAM;%!+ 0(4 Q0    ( -J#GEI)5V*D;P4  ,T@   9
M  " @>;O 0!X;"]W;W)K<VAE971S+W-H965T-S,N>&UL4$L! A0#%     @
MVH.>6G7M\FB& @  ]P<  !D              ("!C/4! 'AL+W=O<FMS:&5E
M=',O<VAE970W-"YX;6Q02P$"% ,4    " #:@YY:VN&R 4,"  "5!0  &0
M            @(%)^ $ >&PO=V]R:W-H965T<R]S:&5E=#<U+GAM;%!+ 0(4
M Q0    ( -J#GEJ#5H@+O@,  /$6   9              " @</Z 0!X;"]W
M;W)K<VAE971S+W-H965T-S8N>&UL4$L! A0#%     @ VH.>6KPNHVVY P
M[Q   !D              ("!N/X! 'AL+W=O<FMS:&5E=',O<VAE970W-RYX
M;6Q02P$"% ,4    " #:@YY:HF?UI* %  !!+   &0              @(&H
M @( >&PO=V]R:W-H965T<R]S:&5E=#<X+GAM;%!+ 0(4 Q0    ( -J#GEH5
M$&(OP0,  *P2   9              " @7\( @!X;"]W;W)K<VAE971S+W-H
M965T-SDN>&UL4$L! A0#%     @ VH.>6BZA$@SN @  ' X  !D
M     ("!=PP" 'AL+W=O<FMS:&5E=',O<VAE970X,"YX;6Q02P$"% ,4
M" #:@YY:;X8?EHT"  "("   &0              @(&<#P( >&PO=V]R:W-H
M965T<R]S:&5E=#@Q+GAM;%!+ 0(4 Q0    ( -J#GEJ%_\(")@,  -,-   9
M              " @6 2 @!X;"]W;W)K<VAE971S+W-H965T.#(N>&UL4$L!
M A0#%     @ VH.>6@+@4LR( P  "P\  !D              ("!O14" 'AL
M+W=O<FMS:&5E=',O<VAE970X,RYX;6Q02P$"% ,4    " #:@YY:9,DN9P $
M  !Z%P  &0              @(%\&0( >&PO=V]R:W-H965T<R]S:&5E=#@T
M+GAM;%!+ 0(4 Q0    ( -J#GEH*4U1-V (  %D(   9              "
M@;,= @!X;"]W;W)K<VAE971S+W-H965T.#4N>&UL4$L! A0#%     @ VH.>
M6@G3@MA4 @  P04  !D              ("!PB " 'AL+W=O<FMS:&5E=',O
M<VAE970X-BYX;6Q02P$"% ,4    " #:@YY:#>HS,C$#  !W#@  &0
M        @(%-(P( >&PO=V]R:W-H965T<R]S:&5E=#@W+GAM;%!+ 0(4 Q0
M   ( -J#GEJIOT.J20(  )D%   9              " @;4F @!X;"]W;W)K
M<VAE971S+W-H965T.#@N>&UL4$L! A0#%     @ VH.>6I)0!GXN @  " 4
M !D              ("!-2D" 'AL+W=O<FMS:&5E=',O<VAE970X.2YX;6Q0
M2P$"% ,4    " #:@YY:YB2-R[\$  #L&@  &0              @(&:*P(
M>&PO=V]R:W-H965T<R]S:&5E=#DP+GAM;%!+ 0(4 Q0    ( -J#GEH1_X)2
M^0(  *$+   9              " @9 P @!X;"]W;W)K<VAE971S+W-H965T
M.3$N>&UL4$L! A0#%     @ VH.>6C1V+>W[ @  O@P  !D
M ("!P#," 'AL+W=O<FMS:&5E=',O<VAE970Y,BYX;6Q02P$"% ,4    " #:
M@YY:K]G\AWL"  "9!@  &0              @('R-@( >&PO=V]R:W-H965T
M<R]S:&5E=#DS+GAM;%!+ 0(4 Q0    ( -J#GEH =6",= (  (0&   9
M          " @:0Y @!X;"]W;W)K<VAE971S+W-H965T.30N>&UL4$L! A0#
M%     @ VH.>6I27_>0\ @  " 8  !D              ("!3SP" 'AL+W=O
M<FMS:&5E=',O<VAE970Y-2YX;6Q02P$"% ,4    " #:@YY:LG:?2CL"  !N
M!0  &0              @('"/@( >&PO=V]R:W-H965T<R]S:&5E=#DV+GAM
M;%!+ 0(4 Q0    ( -J#GEH.QCQ.8P(  &P&   9              " @31!
M @!X;"]W;W)K<VAE971S+W-H965T.3<N>&UL4$L! A0#%     @ VH.>6J,:
M4T(Y @  !08  !D              ("!SD," 'AL+W=O<FMS:&5E=',O<VAE
M970Y."YX;6Q02P$"% ,4    " #:@YY:')PRBA\"   "!0  &0
M    @($^1@( >&PO=V]R:W-H965T<R]S:&5E=#DY+GAM;%!+ 0(4 Q0    (
M -J#GEJ*&/-V> (  $H'   :              " @91( @!X;"]W;W)K<VAE
M971S+W-H965T,3 P+GAM;%!+ 0(4 Q0    ( -J#GEKE]Z<''P,  . ,   :
M              " @41+ @!X;"]W;W)K<VAE971S+W-H965T,3 Q+GAM;%!+
M 0(4 Q0    ( -J#GEJ\8$)@P (  *T'   :              " @9M. @!X
M;"]W;W)K<VAE971S+W-H965T,3 R+GAM;%!+ 0(4 Q0    ( -J#GEJM9MQ=
M]@(  /T)   :              " @9-1 @!X;"]W;W)K<VAE971S+W-H965T
M,3 S+GAM;%!+ 0(4 Q0    ( -J#GEI$B@/3\ (  / )   :
M  " @<%4 @!X;"]W;W)K<VAE971S+W-H965T,3 T+GAM;%!+ 0(4 Q0    (
M -J#GEKH%G,JEP(  *P'   :              " @>E7 @!X;"]W;W)K<VAE
M971S+W-H965T,3 U+GAM;%!+ 0(4 Q0    ( -J#GEIZ9P<B" (  .$$   :
M              " @;A: @!X;"]W;W)K<VAE971S+W-H965T,3 V+GAM;%!+
M 0(4 Q0    ( -J#GEI@Y<"3U0,  +P2   :              " @?A< @!X
M;"]W;W)K<VAE971S+W-H965T,3 W+GAM;%!+ 0(4 Q0    ( -J#GEH0?=3<
M/0(  '0&   :              " @05A @!X;"]W;W)K<VAE971S+W-H965T
M,3 X+GAM;%!+ 0(4 Q0    ( -J#GEJY*?0X( 0  .X0   :
M  " @7IC @!X;"]W;W)K<VAE971S+W-H965T,3 Y+GAM;%!+ 0(4 Q0    (
M -J#GEIL >=[CP(  /L&   :              " @=)G @!X;"]W;W)K<VAE
M971S+W-H965T,3$P+GAM;%!+ 0(4 Q0    ( -J#GEJTX&.YI (  "H)   :
M              " @9EJ @!X;"]W;W)K<VAE971S+W-H965T,3$Q+GAM;%!+
M 0(4 Q0    ( -J#GEI,9CB5/P(  'P%   :              " @75M @!X
M;"]W;W)K<VAE971S+W-H965T,3$R+GAM;%!+ 0(4 Q0    ( -J#GEJFLW O
M.P(  (T%   :              " @>QO @!X;"]W;W)K<VAE971S+W-H965T
M,3$S+GAM;%!+ 0(4 Q0    ( -J#GEIH2!EY7P,  (@/   :
M  " @5]R @!X;"]W;W)K<VAE971S+W-H965T,3$T+GAM;%!+ 0(4 Q0    (
M -J#GEH4&.;JV (  ,@(   :              " @?9U @!X;"]W;W)K<VAE
M971S+W-H965T,3$U+GAM;%!+ 0(4 Q0    ( -J#GEHH&Q3:8@0  ,09   :
M              " @09Y @!X;"]W;W)K<VAE971S+W-H965T,3$V+GAM;%!+
M 0(4 Q0    ( -J#GEJ!]\]=Y04  %PE   :              " @:!] @!X
M;"]W;W)K<VAE971S+W-H965T,3$W+GAM;%!+ 0(4 Q0    ( -J#GEK>^TV8
MA0,  ,H-   :              " @;V# @!X;"]W;W)K<VAE971S+W-H965T
M,3$X+GAM;%!+ 0(4 Q0    ( -J#GEH=UU^_W ,  +81   :
M  " @7J' @!X;"]W;W)K<VAE971S+W-H965T,3$Y+GAM;%!+ 0(4 Q0    (
M -J#GEJN%*-[@0(  -D&   :              " @8Z+ @!X;"]W;W)K<VAE
M971S+W-H965T,3(P+GAM;%!+ 0(4 Q0    ( -J#GEI.]MN/F@,  /D.   :
M              " @4>. @!X;"]W;W)K<VAE971S+W-H965T,3(Q+GAM;%!+
M 0(4 Q0    ( -J#GEJY7U6__@,  $X4   :              " @1F2 @!X
M;"]W;W)K<VAE971S+W-H965T,3(R+GAM;%!+ 0(4 Q0    ( -J#GEI#AX*L
MSP0  #8;   :              " @4^6 @!X;"]W;W)K<VAE971S+W-H965T
M,3(S+GAM;%!+ 0(4 Q0    ( -J#GEIEAR41*P,  % -   :
M  " @5:; @!X;"]W;W)K<VAE971S+W-H965T,3(T+GAM;%!+ 0(4 Q0    (
M -J#GEK0>H&L, (  ! %   :              " @;F> @!X;"]W;W)K<VAE
M971S+W-H965T,3(U+GAM;%!+ 0(4 Q0    ( -J#GEH0IP@%Q (  )8(   :
M              " @2&A @!X;"]W;W)K<VAE971S+W-H965T,3(V+GAM;%!+
M 0(4 Q0    ( -J#GEJDVV+470(  !L&   :              " @1VD @!X
M;"]W;W)K<VAE971S+W-H965T,3(W+GAM;%!+ 0(4 Q0    ( -J#GEJ8LT"C
M\P0  &<4   :              " @;*F @!X;"]W;W)K<VAE971S+W-H965T
M,3(X+GAM;%!+ 0(4 Q0    ( -J#GEI"U!<_)@(  *H$   :
M  " @=VK @!X;"]W;W)K<VAE971S+W-H965T,3(Y+GAM;%!+ 0(4 Q0    (
M -J#GEIH&X<<00,  .H3   -              "  3NN @!X;"]S='EL97,N
M>&UL4$L! A0#%     @ VH.>6I>*NQS     $P(   L              ( !
MI[$" %]R96QS+RYR96QS4$L! A0#%     @ VH.>6MNFBX=0"   ]E,   \
M             ( !D+(" 'AL+W=O<FMB;V]K+GAM;%!+ 0(4 Q0    ( -J#
MGEK8/L<7@P,  *A+   :              "  0V[ @!X;"]?<F5L<R]W;W)K
M8F]O:RYX;6PN<F5L<U!+ 0(4 Q0    ( -J#GEH="W\NM0(  &5(   3
M          "  <B^ @!;0V]N=&5N=%]4>7!E<UTN>&UL4$L%!@    ") (D
*U"4  *[! @    $!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>148
<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>149
<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>151
<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>334</ContextCount>
  <ElementCount>521</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>101</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>6</UnitCount>
  <MyReports>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>000001 - Document - Cover</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/Cover</Role>
      <ShortName>Cover</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>110200 - Statement - CONSOLIDATED BALANCE SHEETS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/ConsolidatedBalanceSheets</Role>
      <ShortName>CONSOLIDATED BALANCE SHEETS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>110201 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/ConsolidatedBalanceSheetsParenthetical</Role>
      <ShortName>CONSOLIDATED BALANCE SHEETS (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>124100 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME (LOSS)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME (LOSS)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>170000 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF CASH FLOWS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>170001 - Statement - CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS' EQUITY</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS' EQUITY</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.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>7</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>995550 - Disclosure - Cybersecurity Risk Management and Strategy Disclosure</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure</Role>
      <ShortName>Cybersecurity Risk Management and Strategy Disclosure</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>995551 - Disclosure - Organization and Business Background</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/OrganizationAndBusinessBackground</Role>
      <ShortName>Organization and Business Background</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>995552 - Disclosure - Summary of significant accounting policies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/SummaryOfSignificantAccountingPolicies</Role>
      <ShortName>Summary of significant accounting policies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>995553 - Disclosure - Segment information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/SegmentInformation</Role>
      <ShortName>Segment information</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>995554 - Disclosure - Accounts receivable net</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/AccountsReceivableNet</Role>
      <ShortName>Accounts receivable net</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>995555 - Disclosure - Prepayments and other current assets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/PrepaymentsAndOtherCurrentAssets</Role>
      <ShortName>Prepayments and other current assets</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>995556 - Disclosure - Contract assets and liabilities</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/ContractAssetsAndLiabilities</Role>
      <ShortName>Contract assets and liabilities</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>995557 - Disclosure - Inventories</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/Inventories</Role>
      <ShortName>Inventories</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>995558 - Disclosure - Short-term and long-term investments</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/ShortTermAndLongTermInvestments</Role>
      <ShortName>Short-term and long-term investments</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>995559 - Disclosure - Property plant and equipment net</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/PropertyPlantAndEquipmentNet</Role>
      <ShortName>Property plant and equipment net</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>995560 - Disclosure - Intangible assets, net</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/IntangibleAssetsNet</Role>
      <ShortName>Intangible assets, net</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>995561 - Disclosure - Land use right, net</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/LandUseRightNet</Role>
      <ShortName>Land use right, net</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>995562 - Disclosure - Bank borrowings</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/BankBorrowings</Role>
      <ShortName>Bank borrowings</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>995563 - Disclosure - Investments in affiliates</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/InvestmentsInAffiliates</Role>
      <ShortName>Investments in affiliates</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>21</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>995564 - Disclosure - Goodwill</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/Goodwill</Role>
      <ShortName>Goodwill</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>22</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>995565 - Disclosure - Other payables and accrued expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/OtherPayablesAndAccruedExpenses</Role>
      <ShortName>Other payables and accrued expenses</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>23</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>995566 - Disclosure - Other taxes payable</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/OtherTaxesPayable</Role>
      <ShortName>Other taxes payable</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>24</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>995567 - Disclosure - Capital reserve</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/CapitalReserve</Role>
      <ShortName>Capital reserve</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>25</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>995568 - Disclosure - Other income and other losses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/OtherIncomeAndOtherLosses</Role>
      <ShortName>Other income and other losses</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>26</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>995569 - Disclosure - Lease obligations</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/LeaseObligations</Role>
      <ShortName>Lease obligations</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>27</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>995570 - Disclosure - Ordinary share</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/OrdinaryShare</Role>
      <ShortName>Ordinary share</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>28</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>995571 - Disclosure - Treasury stock</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/TreasuryStock</Role>
      <ShortName>Treasury stock</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>29</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>995572 - Disclosure - PRC statutory reserves</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/PrcStatutoryReserves</Role>
      <ShortName>PRC statutory reserves</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>30</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>995573 - Disclosure - Other income net</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/OtherIncomeNet</Role>
      <ShortName>Other income net</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>31</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>995574 - Disclosure - Income taxes</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/IncomeTaxes</Role>
      <ShortName>Income taxes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>32</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>995575 - Disclosure - Net income per ordinary share</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/NetIncomePerOrdinaryShare</Role>
      <ShortName>Net income per ordinary share</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>33</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>995576 - Disclosure - Stock options</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/StockOptions</Role>
      <ShortName>Stock options</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>34</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>995577 - Disclosure - Pension plan</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/PensionPlan</Role>
      <ShortName>Pension plan</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>35</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>995578 - Disclosure - Risk factors</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/RiskFactors</Role>
      <ShortName>Risk factors</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>36</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>995579 - Disclosure - Risk and uncertainty</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/RiskAndUncertainty</Role>
      <ShortName>Risk and uncertainty</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>37</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>995580 - Disclosure - Related party transactions</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/RelatedPartyTransactions</Role>
      <ShortName>Related party transactions</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>38</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>995581 - Disclosure - Commitments and contingencies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/CommitmentsAndContingencies</Role>
      <ShortName>Commitments and contingencies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>39</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>995582 - Disclosure - Subsequent events</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/SubsequentEvents</Role>
      <ShortName>Subsequent events</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>40</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>995583 - Disclosure - Summary of significant accounting policies (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies</Role>
      <ShortName>Summary of significant accounting policies (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <Position>41</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>995584 - Disclosure - Organization and Business Background (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/OrganizationAndBusinessBackgroundTables</Role>
      <ShortName>Organization and Business Background (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://euro-tech.com/role/OrganizationAndBusinessBackground</ParentRole>
      <Position>42</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>995585 - Disclosure - Summary of significant accounting policies (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesTables</Role>
      <ShortName>Summary of significant accounting policies (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://euro-tech.com/role/SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>43</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>995586 - Disclosure - Segment information (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/SegmentInformationTables</Role>
      <ShortName>Segment information (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://euro-tech.com/role/SegmentInformation</ParentRole>
      <Position>44</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>995587 - Disclosure - Accounts receivable net (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/AccountsReceivableNetTables</Role>
      <ShortName>Accounts receivable net (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://euro-tech.com/role/AccountsReceivableNet</ParentRole>
      <Position>45</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>995588 - Disclosure - Prepayments and other current assets (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/PrepaymentsAndOtherCurrentAssetsTables</Role>
      <ShortName>Prepayments and other current assets (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://euro-tech.com/role/PrepaymentsAndOtherCurrentAssets</ParentRole>
      <Position>46</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>995589 - Disclosure - Contract assets and liabilities (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/ContractAssetsAndLiabilitiesTables</Role>
      <ShortName>Contract assets and liabilities (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://euro-tech.com/role/ContractAssetsAndLiabilities</ParentRole>
      <Position>47</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>995590 - Disclosure - Intangible assets, net (Table)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/IntangibleAssetsNetTable</Role>
      <ShortName>Intangible assets, net (Table)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://euro-tech.com/role/IntangibleAssetsNet</ParentRole>
      <Position>48</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>995591 - Disclosure - Land use right, net (Table)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/LandUseRightNetTable</Role>
      <ShortName>Land use right, net (Table)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://euro-tech.com/role/LandUseRightNet</ParentRole>
      <Position>49</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>995592 - Disclosure - Bank borrowings (Table)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/BankBorrowingsTable</Role>
      <ShortName>Bank borrowings (Table)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://euro-tech.com/role/BankBorrowings</ParentRole>
      <Position>50</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>995593 - Disclosure - Inventories (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/InventoriesTables</Role>
      <ShortName>Inventories (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://euro-tech.com/role/Inventories</ParentRole>
      <Position>51</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>995594 - Disclosure - Property plant and equipment net (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/PropertyPlantAndEquipmentNetTables</Role>
      <ShortName>Property plant and equipment net (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://euro-tech.com/role/PropertyPlantAndEquipmentNet</ParentRole>
      <Position>52</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>995595 - Disclosure - Investments in affiliates (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/InvestmentsInAffiliatesTables</Role>
      <ShortName>Investments in affiliates (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://euro-tech.com/role/InvestmentsInAffiliates</ParentRole>
      <Position>53</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>995596 - Disclosure - Other payables and accrued expenses (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/OtherPayablesAndAccruedExpensesTables</Role>
      <ShortName>Other payables and accrued expenses (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://euro-tech.com/role/OtherPayablesAndAccruedExpenses</ParentRole>
      <Position>54</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>995597 - Disclosure - Lease obligations (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/LeaseObligationsTables</Role>
      <ShortName>Lease obligations (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://euro-tech.com/role/LeaseObligations</ParentRole>
      <Position>55</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R56.htm</HtmlFileName>
      <LongName>995598 - Disclosure - Ordinary share (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/OrdinaryShareTables</Role>
      <ShortName>Ordinary share (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://euro-tech.com/role/OrdinaryShare</ParentRole>
      <Position>56</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R57.htm</HtmlFileName>
      <LongName>995599 - Disclosure - Other income (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/OtherIncomeTables</Role>
      <ShortName>Other income (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://euro-tech.com/role/OtherIncomeAndOtherLosses</ParentRole>
      <Position>57</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R58.htm</HtmlFileName>
      <LongName>995600 - Disclosure - Income taxes (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/IncomeTaxesTables</Role>
      <ShortName>Income taxes (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://euro-tech.com/role/IncomeTaxes</ParentRole>
      <Position>58</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R59.htm</HtmlFileName>
      <LongName>995601 - Disclosure - Other income and other losses (Table)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/OtherIncomeAndOtherLossesTable</Role>
      <ShortName>Other income and other losses (Table)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://euro-tech.com/role/OtherIncomeAndOtherLosses</ParentRole>
      <Position>59</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R60.htm</HtmlFileName>
      <LongName>995602 - Disclosure - Net income per ordinary share (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/NetIncomePerOrdinaryShareTables</Role>
      <ShortName>Net income per ordinary share (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://euro-tech.com/role/NetIncomePerOrdinaryShare</ParentRole>
      <Position>60</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R61.htm</HtmlFileName>
      <LongName>995603 - Disclosure - Stock options (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/StockOptionsTables</Role>
      <ShortName>Stock options (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://euro-tech.com/role/StockOptions</ParentRole>
      <Position>61</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R62.htm</HtmlFileName>
      <LongName>995604 - Disclosure - Commitments and contingencies (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/CommitmentsAndContingenciesTables</Role>
      <ShortName>Commitments and contingencies (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://euro-tech.com/role/CommitmentsAndContingencies</ParentRole>
      <Position>62</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R63.htm</HtmlFileName>
      <LongName>995605 - Disclosure - Organization and business (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/OrganizationAndBusinessDetails</Role>
      <ShortName>Organization and business (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>63</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R64.htm</HtmlFileName>
      <LongName>995606 - Disclosure - Summary of significant accounting policies (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetails</Role>
      <ShortName>Summary of significant accounting policies (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesTables</ParentRole>
      <Position>64</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R65.htm</HtmlFileName>
      <LongName>995607 - Disclosure - Summary of significant accounting policies (Details 1)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetails1</Role>
      <ShortName>Summary of significant accounting policies (Details 1)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesTables</ParentRole>
      <Position>65</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R66.htm</HtmlFileName>
      <LongName>995608 - Disclosure - Summary of significant accounting policies (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative</Role>
      <ShortName>Summary of significant accounting policies (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesTables</ParentRole>
      <Position>66</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R67.htm</HtmlFileName>
      <LongName>995609 - Disclosure - Segment information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/SegmentInformationDetails</Role>
      <ShortName>Segment information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://euro-tech.com/role/SegmentInformationTables</ParentRole>
      <Position>67</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R68.htm</HtmlFileName>
      <LongName>995610 - Disclosure - Segment information (Details 1)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/SegmentInformationDetails1</Role>
      <ShortName>Segment information (Details 1)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://euro-tech.com/role/SegmentInformationTables</ParentRole>
      <Position>68</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R69.htm</HtmlFileName>
      <LongName>995611 - Disclosure - Segment information (Details 2)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/SegmentInformationDetails2</Role>
      <ShortName>Segment information (Details 2)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://euro-tech.com/role/SegmentInformationTables</ParentRole>
      <Position>69</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R70.htm</HtmlFileName>
      <LongName>995612 - Disclosure - Segment information (Details 3)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/SegmentInformationDetails3</Role>
      <ShortName>Segment information (Details 3)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://euro-tech.com/role/SegmentInformationTables</ParentRole>
      <Position>70</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R71.htm</HtmlFileName>
      <LongName>995613 - Disclosure - Lease obligations (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/LeaseObligationsDetails</Role>
      <ShortName>Lease obligations (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://euro-tech.com/role/LeaseObligationsTables</ParentRole>
      <Position>71</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R72.htm</HtmlFileName>
      <LongName>995614 - Disclosure - Lease obligations (Details 1)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/LeaseObligationsDetails1</Role>
      <ShortName>Lease obligations (Details 1)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://euro-tech.com/role/LeaseObligationsTables</ParentRole>
      <Position>72</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R73.htm</HtmlFileName>
      <LongName>995615 - Disclosure - Lease obligations (Details 2)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/LeaseObligationsDetails2</Role>
      <ShortName>Lease obligations (Details 2)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://euro-tech.com/role/LeaseObligationsTables</ParentRole>
      <Position>73</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R74.htm</HtmlFileName>
      <LongName>995616 - Disclosure - Lease obligations (Details 3)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/LeaseObligationsDetails3</Role>
      <ShortName>Lease obligations (Details 3)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://euro-tech.com/role/LeaseObligationsTables</ParentRole>
      <Position>74</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R75.htm</HtmlFileName>
      <LongName>995617 - Disclosure - Lease obligations (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/LeaseObligationsDetailsNarrative</Role>
      <ShortName>Lease obligations (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://euro-tech.com/role/LeaseObligationsTables</ParentRole>
      <Position>75</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R76.htm</HtmlFileName>
      <LongName>995618 - Disclosure - Accounts receivable net (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/AccountsReceivableNetDetails</Role>
      <ShortName>Accounts receivable net (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://euro-tech.com/role/AccountsReceivableNetTables</ParentRole>
      <Position>76</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R77.htm</HtmlFileName>
      <LongName>995619 - Disclosure - Accounts receivable net (Details 1)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/AccountsReceivableNetDetails1</Role>
      <ShortName>Accounts receivable net (Details 1)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://euro-tech.com/role/AccountsReceivableNetTables</ParentRole>
      <Position>77</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R78.htm</HtmlFileName>
      <LongName>995620 - Disclosure - Accounts receivable net (Details 2)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/AccountsReceivableNetDetails2</Role>
      <ShortName>Accounts receivable net (Details 2)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://euro-tech.com/role/AccountsReceivableNetTables</ParentRole>
      <Position>78</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R79.htm</HtmlFileName>
      <LongName>995621 - Disclosure - Prepayments and other current assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/PrepaymentsAndOtherCurrentAssetsDetails</Role>
      <ShortName>Prepayments and other current assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://euro-tech.com/role/PrepaymentsAndOtherCurrentAssetsTables</ParentRole>
      <Position>79</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R80.htm</HtmlFileName>
      <LongName>995622 - Disclosure - Contract assets and liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails</Role>
      <ShortName>Contract assets and liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://euro-tech.com/role/ContractAssetsAndLiabilitiesTables</ParentRole>
      <Position>80</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R81.htm</HtmlFileName>
      <LongName>995623 - Disclosure - Contract assets and liabilities (Details 1)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails1</Role>
      <ShortName>Contract assets and liabilities (Details 1)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://euro-tech.com/role/ContractAssetsAndLiabilitiesTables</ParentRole>
      <Position>81</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R82.htm</HtmlFileName>
      <LongName>995624 - Disclosure - Contract assets and liabilities (Details 2)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails2</Role>
      <ShortName>Contract assets and liabilities (Details 2)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://euro-tech.com/role/ContractAssetsAndLiabilitiesTables</ParentRole>
      <Position>82</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R83.htm</HtmlFileName>
      <LongName>995625 - Disclosure - Contract assets and liabilities (Details 3)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails3</Role>
      <ShortName>Contract assets and liabilities (Details 3)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://euro-tech.com/role/ContractAssetsAndLiabilitiesTables</ParentRole>
      <Position>83</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R84.htm</HtmlFileName>
      <LongName>995626 - Disclosure - Contract assets and liabilities (Details 4)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails4</Role>
      <ShortName>Contract assets and liabilities (Details 4)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://euro-tech.com/role/ContractAssetsAndLiabilitiesTables</ParentRole>
      <Position>84</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R85.htm</HtmlFileName>
      <LongName>995627 - Disclosure - Contract assets and liabilities (Details 5)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails5</Role>
      <ShortName>Contract assets and liabilities (Details 5)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://euro-tech.com/role/ContractAssetsAndLiabilitiesTables</ParentRole>
      <Position>85</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R86.htm</HtmlFileName>
      <LongName>995628 - Disclosure - Contract assets and liabilities (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetailsNarrative</Role>
      <ShortName>Contract assets and liabilities (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://euro-tech.com/role/ContractAssetsAndLiabilitiesTables</ParentRole>
      <Position>86</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R87.htm</HtmlFileName>
      <LongName>995629 - Disclosure - Inventories (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/InventoriesDetails</Role>
      <ShortName>Inventories (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://euro-tech.com/role/InventoriesTables</ParentRole>
      <Position>87</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R88.htm</HtmlFileName>
      <LongName>995630 - Disclosure - Inventories (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/InventoriesDetailsNarrative</Role>
      <ShortName>Inventories (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://euro-tech.com/role/InventoriesTables</ParentRole>
      <Position>88</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R89.htm</HtmlFileName>
      <LongName>995631 - Disclosure - Short-term and long-term investments (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/ShortTermAndLongTermInvestmentsDetailsNarrative</Role>
      <ShortName>Short-term and long-term investments (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://euro-tech.com/role/ShortTermAndLongTermInvestments</ParentRole>
      <Position>89</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R90.htm</HtmlFileName>
      <LongName>995632 - Disclosure - Property plant and equipment net (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/PropertyPlantAndEquipmentNetDetails</Role>
      <ShortName>Property plant and equipment net (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://euro-tech.com/role/PropertyPlantAndEquipmentNetTables</ParentRole>
      <Position>90</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R91.htm</HtmlFileName>
      <LongName>995633 - Disclosure - Property plant and equipment net (Details 1)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/PropertyPlantAndEquipmentNetDetails1</Role>
      <ShortName>Property plant and equipment net (Details 1)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://euro-tech.com/role/PropertyPlantAndEquipmentNetTables</ParentRole>
      <Position>91</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R92.htm</HtmlFileName>
      <LongName>995634 - Disclosure - Property plant and equipment net (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/PropertyPlantAndEquipmentNetDetailsNarrative</Role>
      <ShortName>Property plant and equipment net (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://euro-tech.com/role/PropertyPlantAndEquipmentNetTables</ParentRole>
      <Position>92</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R93.htm</HtmlFileName>
      <LongName>995635 - Disclosure - Intangible assets, net (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/IntangibleAssetsNetDetails</Role>
      <ShortName>Intangible assets, net (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://euro-tech.com/role/IntangibleAssetsNetTable</ParentRole>
      <Position>93</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R94.htm</HtmlFileName>
      <LongName>995636 - Disclosure - Intangible assets, net (Details 1)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/IntangibleAssetsNetDetails1</Role>
      <ShortName>Intangible assets, net (Details 1)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://euro-tech.com/role/IntangibleAssetsNetTable</ParentRole>
      <Position>94</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R95.htm</HtmlFileName>
      <LongName>995637 - Disclosure - Intangible assets, net (Details 2)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/IntangibleAssetsNetDetails2</Role>
      <ShortName>Intangible assets, net (Details 2)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://euro-tech.com/role/IntangibleAssetsNetTable</ParentRole>
      <Position>95</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R96.htm</HtmlFileName>
      <LongName>995638 - Disclosure - Land use right net (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/LandUseRightNetDetails</Role>
      <ShortName>Land use right net (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>96</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R97.htm</HtmlFileName>
      <LongName>995639 - Disclosure - Land use right net (Details 1)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/LandUseRightNetDetails1</Role>
      <ShortName>Land use right net (Details 1)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>97</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R98.htm</HtmlFileName>
      <LongName>995640 - Disclosure - Land use right net (Details 2)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/LandUseRightNetDetails2</Role>
      <ShortName>Land use right net (Details 2)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>98</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R99.htm</HtmlFileName>
      <LongName>995641 - Disclosure - Land use right net (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/LandUseRightNetDetailsNarrative</Role>
      <ShortName>Land use right net (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>99</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R100.htm</HtmlFileName>
      <LongName>995642 - Disclosure - Bank borrowings (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/BankBorrowingsDetails</Role>
      <ShortName>Bank borrowings (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://euro-tech.com/role/BankBorrowingsTable</ParentRole>
      <Position>100</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R101.htm</HtmlFileName>
      <LongName>995643 - Disclosure - Bank borrowings (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/BankBorrowingsDetailsNarrative</Role>
      <ShortName>Bank borrowings (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://euro-tech.com/role/BankBorrowingsTable</ParentRole>
      <Position>101</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R102.htm</HtmlFileName>
      <LongName>995644 - Disclosure - Investments in affiliates (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/InvestmentsInAffiliatesDetails</Role>
      <ShortName>Investments in affiliates (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://euro-tech.com/role/InvestmentsInAffiliatesTables</ParentRole>
      <Position>102</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R103.htm</HtmlFileName>
      <LongName>995645 - Disclosure - Investments in affiliates (Details 1)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/InvestmentsInAffiliatesDetails1</Role>
      <ShortName>Investments in affiliates (Details 1)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://euro-tech.com/role/InvestmentsInAffiliatesTables</ParentRole>
      <Position>103</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R104.htm</HtmlFileName>
      <LongName>995646 - Disclosure - Investments in affiliates (Details 2)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/InvestmentsInAffiliatesDetails2</Role>
      <ShortName>Investments in affiliates (Details 2)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://euro-tech.com/role/InvestmentsInAffiliatesTables</ParentRole>
      <Position>104</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R105.htm</HtmlFileName>
      <LongName>995647 - Disclosure - Investments in affiliates (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/InvestmentsInAffiliatesDetailsNarrative</Role>
      <ShortName>Investments in affiliates (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://euro-tech.com/role/InvestmentsInAffiliatesTables</ParentRole>
      <Position>105</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R106.htm</HtmlFileName>
      <LongName>995648 - Disclosure - Goodwill (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/GoodwillDetailsNarrative</Role>
      <ShortName>Goodwill (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://euro-tech.com/role/Goodwill</ParentRole>
      <Position>106</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R107.htm</HtmlFileName>
      <LongName>995649 - Disclosure - Other payables and accrued expenses (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/OtherPayablesAndAccruedExpensesDetails</Role>
      <ShortName>Other payables and accrued expenses (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://euro-tech.com/role/OtherPayablesAndAccruedExpensesTables</ParentRole>
      <Position>107</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R108.htm</HtmlFileName>
      <LongName>995650 - Disclosure - Other taxes payable (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/OtherTaxesPayableDetailsNarrative</Role>
      <ShortName>Other taxes payable (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://euro-tech.com/role/OtherTaxesPayable</ParentRole>
      <Position>108</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R109.htm</HtmlFileName>
      <LongName>995651 - Disclosure - Other income and other losses (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/OtherIncomeAndOtherLossesDetails</Role>
      <ShortName>Other income and other losses (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://euro-tech.com/role/OtherIncomeAndOtherLossesTable</ParentRole>
      <Position>109</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R110.htm</HtmlFileName>
      <LongName>995652 - Disclosure - Other income and other losses (Details 1)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/OtherIncomeAndOtherLossesDetails1</Role>
      <ShortName>Other income and other losses (Details 1)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://euro-tech.com/role/OtherIncomeAndOtherLossesTable</ParentRole>
      <Position>110</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R111.htm</HtmlFileName>
      <LongName>995653 - Disclosure - Ordinary share (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/OrdinaryShareDetails</Role>
      <ShortName>Ordinary share (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://euro-tech.com/role/OrdinaryShareTables</ParentRole>
      <Position>111</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R112.htm</HtmlFileName>
      <LongName>995654 - Disclosure - Ordinary share (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/OrdinaryShareDetailsNarrative</Role>
      <ShortName>Ordinary share (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://euro-tech.com/role/OrdinaryShareTables</ParentRole>
      <Position>112</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R113.htm</HtmlFileName>
      <LongName>995655 - Disclosure - Treasury stock (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/TreasuryStockDetailsNarrative</Role>
      <ShortName>Treasury stock (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://euro-tech.com/role/TreasuryStock</ParentRole>
      <Position>113</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R114.htm</HtmlFileName>
      <LongName>995656 - Disclosure - PRC statutory reserves (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/PrcStatutoryReservesDetailsNarrative</Role>
      <ShortName>PRC statutory reserves (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://euro-tech.com/role/PrcStatutoryReserves</ParentRole>
      <Position>114</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R115.htm</HtmlFileName>
      <LongName>995657 - Disclosure - Other income net (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/OtherIncomeNetDetails</Role>
      <ShortName>Other income net (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://euro-tech.com/role/OtherIncomeAndOtherLossesTable</ParentRole>
      <Position>115</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R116.htm</HtmlFileName>
      <LongName>995658 - Disclosure - Income taxes (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/IncomeTaxesDetails</Role>
      <ShortName>Income taxes (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://euro-tech.com/role/IncomeTaxesTables</ParentRole>
      <Position>116</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R117.htm</HtmlFileName>
      <LongName>995659 - Disclosure - Income taxes (Details 1)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/IncomeTaxesDetails1</Role>
      <ShortName>Income taxes (Details 1)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://euro-tech.com/role/IncomeTaxesTables</ParentRole>
      <Position>117</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R118.htm</HtmlFileName>
      <LongName>995660 - Disclosure - Income taxes (Details 2)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/IncomeTaxesDetails2</Role>
      <ShortName>Income taxes (Details 2)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://euro-tech.com/role/IncomeTaxesTables</ParentRole>
      <Position>118</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R119.htm</HtmlFileName>
      <LongName>995661 - Disclosure - Income taxes (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/IncomeTaxesDetailsNarrative</Role>
      <ShortName>Income taxes (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://euro-tech.com/role/IncomeTaxesTables</ParentRole>
      <Position>119</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R120.htm</HtmlFileName>
      <LongName>995662 - Disclosure - Net income per ordinary share (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/NetIncomePerOrdinaryShareDetails</Role>
      <ShortName>Net income per ordinary share (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://euro-tech.com/role/NetIncomePerOrdinaryShareTables</ParentRole>
      <Position>120</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R121.htm</HtmlFileName>
      <LongName>995663 - Disclosure - Stock options (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/StockOptionsDetails</Role>
      <ShortName>Stock options (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://euro-tech.com/role/StockOptionsTables</ParentRole>
      <Position>121</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R122.htm</HtmlFileName>
      <LongName>995664 - Disclosure - Stock options (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/StockOptionsDetailsNarrative</Role>
      <ShortName>Stock options (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://euro-tech.com/role/StockOptionsTables</ParentRole>
      <Position>122</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R123.htm</HtmlFileName>
      <LongName>995665 - Disclosure - Pension plan (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/PensionPlanDetailsNarrative</Role>
      <ShortName>Pension plan (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://euro-tech.com/role/PensionPlan</ParentRole>
      <Position>123</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R124.htm</HtmlFileName>
      <LongName>995666 - Disclosure - Risk factors (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/RiskFactorsDetailsNarrative</Role>
      <ShortName>Risk factors (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://euro-tech.com/role/RiskFactors</ParentRole>
      <Position>124</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R125.htm</HtmlFileName>
      <LongName>995667 - Disclosure - Risk and uncertainty (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/RiskAndUncertaintyDetailsNarrative</Role>
      <ShortName>Risk and uncertainty (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://euro-tech.com/role/RiskAndUncertainty</ParentRole>
      <Position>125</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R126.htm</HtmlFileName>
      <LongName>995668 - Disclosure - Related party transactions (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/RelatedPartyTransactionsDetailsNarrative</Role>
      <ShortName>Related party transactions (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://euro-tech.com/role/RelatedPartyTransactions</ParentRole>
      <Position>126</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R127.htm</HtmlFileName>
      <LongName>995669 - Disclosure - Commitments and contingencies (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/CommitmentsAndContingenciesDetails</Role>
      <ShortName>Commitments and contingencies (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://euro-tech.com/role/CommitmentsAndContingenciesTables</ParentRole>
      <Position>127</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R128.htm</HtmlFileName>
      <LongName>995670 - Disclosure - Commitments and contingencies (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/CommitmentsAndContingenciesDetailsNarrative</Role>
      <ShortName>Commitments and contingencies (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://euro-tech.com/role/CommitmentsAndContingenciesTables</ParentRole>
      <Position>128</Position>
    </Report>
    <Report instance="clwt_20f.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R129.htm</HtmlFileName>
      <LongName>995671 - Disclosure - Subsequent events (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://euro-tech.com/role/SubsequentEventsDetailsNarrative</Role>
      <ShortName>Subsequent events (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://euro-tech.com/role/SubsequentEvents</ParentRole>
      <Position>129</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File>clwt-20241231.xsd</File>
    <File>clwt-20241231_cal.xml</File>
    <File>clwt-20241231_def.xml</File>
    <File>clwt-20241231_lab.xml</File>
    <File>clwt-20241231_pre.xml</File>
    <File doctype="20-F" isDefinitelyFs="true" isUsgaap="true" original="clwt_20f.htm">clwt_20f.htm</File>
  </InputFiles>
  <SupplementalFiles>
    <File>clwt_20fimg1.jpg</File>
    <File>clwt_20fimg2.jpg</File>
    <File>clwt_20fimg3.jpg</File>
  </SupplementalFiles>
  <BaseTaxonomies>
    <BaseTaxonomy items="12">http://fasb.org/srt/2024</BaseTaxonomy>
    <BaseTaxonomy items="1246">http://fasb.org/us-gaap/2024</BaseTaxonomy>
    <BaseTaxonomy items="5">http://xbrl.sec.gov/cyd/2024</BaseTaxonomy>
    <BaseTaxonomy items="41">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>154
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "version": "2.2",
 "instance": {
  "clwt_20f.htm": {
   "nsprefix": "clwt",
   "nsuri": "http://euro-tech.com/20241231",
   "dts": {
    "schema": {
     "local": [
      "clwt-20241231.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/dtr/type/nonNumeric-2009-12-16.xsd",
      "http://www.xbrl.org/dtr/type/numeric-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/arcrole/factExplanatory-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd",
      "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd",
      "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd",
      "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd",
      "https://xbrl.fasb.org/srt/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/currency/2024/currency-2024.xsd",
      "https://xbrl.sec.gov/cyd/2024/cyd-2024.xsd",
      "https://xbrl.sec.gov/cyd/2024/cyd-af-2024.xsd",
      "https://xbrl.sec.gov/cyd/2024/cyd-af-sub-2024.xsd",
      "https://xbrl.sec.gov/dei/2024/dei-2024.xsd",
      "https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd",
      "https://xbrl.sec.gov/exch/2024/exch-2024.xsd",
      "https://xbrl.sec.gov/naics/2024/naics-2024.xsd",
      "https://xbrl.sec.gov/sic/2024/sic-2024.xsd",
      "https://xbrl.sec.gov/stpr/2024/stpr-2024.xsd"
     ]
    },
    "calculationLink": {
     "local": [
      "clwt-20241231_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "clwt-20241231_def.xml"
     ]
    },
    "labelLink": {
     "local": [
      "clwt-20241231_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "clwt-20241231_pre.xml"
     ]
    },
    "inline": {
     "local": [
      "clwt_20f.htm"
     ]
    }
   },
   "keyStandard": 350,
   "keyCustom": 171,
   "axisStandard": 21,
   "axisCustom": 0,
   "memberStandard": 19,
   "memberCustom": 82,
   "hidden": {
    "total": 39,
    "http://fasb.org/us-gaap/2024": 24,
    "http://euro-tech.com/20241231": 5,
    "http://xbrl.sec.gov/ecd/2024": 4,
    "http://xbrl.sec.gov/dei/2024": 6
   },
   "contextCount": 334,
   "entityCount": 1,
   "segmentCount": 101,
   "elementCount": 741,
   "unitCount": 6,
   "baseTaxonomies": {
    "http://fasb.org/us-gaap/2024": 1246,
    "http://xbrl.sec.gov/dei/2024": 41,
    "http://fasb.org/srt/2024": 12,
    "http://xbrl.sec.gov/cyd/2024": 5,
    "http://xbrl.sec.gov/ecd/2024": 4
   },
   "report": {
    "R1": {
     "role": "http://euro-tech.com/role/Cover",
     "longName": "000001 - Document - Cover",
     "shortName": "Cover",
     "isDefault": "true",
     "groupType": "document",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "1",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "dei:EntityRegistrantName",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "strong",
       "p",
       "td",
       "tr",
       "tbody",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "dei:EntityRegistrantName",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "strong",
       "p",
       "td",
       "tr",
       "tbody",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R2": {
     "role": "http://euro-tech.com/role/ConsolidatedBalanceSheets",
     "longName": "110200 - Statement - CONSOLIDATED BALANCE SHEETS",
     "shortName": "CONSOLIDATED BALANCE SHEETS",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "2",
     "firstAnchor": {
      "contextRef": "AsOf2024-12-31",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-12-31",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R3": {
     "role": "http://euro-tech.com/role/ConsolidatedBalanceSheetsParenthetical",
     "longName": "110201 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)",
     "shortName": "CONSOLIDATED BALANCE SHEETS (Parenthetical)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "parenthetical",
     "menuCat": "Statements",
     "order": "3",
     "firstAnchor": {
      "contextRef": "AsOf2024-12-31",
      "name": "us-gaap:CommonStockSharesAuthorized",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "td",
       "tr",
       "tbody",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-12-31",
      "name": "us-gaap:CommonStockSharesAuthorized",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "td",
       "tr",
       "tbody",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R4": {
     "role": "http://euro-tech.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss",
     "longName": "124100 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME (LOSS)",
     "shortName": "CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME (LOSS)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "4",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "clwt:RevenueFromTradingAndManufacturing",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "clwt:RevenueFromTradingAndManufacturing",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R5": {
     "role": "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows",
     "longName": "170000 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS",
     "shortName": "CONSOLIDATED STATEMENTS OF CASH FLOWS",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "5",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:ProfitLoss",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "clwt:AmortizationOnRightOfUseAssets",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "tbody",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "unique": true
     }
    },
    "R6": {
     "role": "http://euro-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity",
     "longName": "170001 - Statement - CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS' EQUITY",
     "shortName": "CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS' EQUITY",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "6",
     "firstAnchor": {
      "contextRef": "AsOf2021-12-31",
      "name": "us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2021-12-31",
      "name": "us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R7": {
     "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": "7",
     "firstAnchor": null,
     "uniqueAnchor": null
    },
    "R8": {
     "role": "http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure",
     "longName": "995550 - Disclosure - Cybersecurity Risk Management and Strategy Disclosure",
     "shortName": "Cybersecurity Risk Management and Strategy Disclosure",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "8",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "cyd:CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "cyd:CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R9": {
     "role": "http://euro-tech.com/role/OrganizationAndBusinessBackground",
     "longName": "995551 - Disclosure - Organization and Business Background",
     "shortName": "Organization and Business Background",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "9",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R10": {
     "role": "http://euro-tech.com/role/SummaryOfSignificantAccountingPolicies",
     "longName": "995552 - Disclosure - Summary of significant accounting policies",
     "shortName": "Summary of significant accounting policies",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "10",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R11": {
     "role": "http://euro-tech.com/role/SegmentInformation",
     "longName": "995553 - Disclosure - Segment information",
     "shortName": "Segment information",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "11",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R12": {
     "role": "http://euro-tech.com/role/AccountsReceivableNet",
     "longName": "995554 - Disclosure - Accounts receivable net",
     "shortName": "Accounts receivable net",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "12",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R13": {
     "role": "http://euro-tech.com/role/PrepaymentsAndOtherCurrentAssets",
     "longName": "995555 - Disclosure - Prepayments and other current assets",
     "shortName": "Prepayments and other current assets",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "13",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R14": {
     "role": "http://euro-tech.com/role/ContractAssetsAndLiabilities",
     "longName": "995556 - Disclosure - Contract assets and liabilities",
     "shortName": "Contract assets and liabilities",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "14",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "clwt:ContractWithCustomerAssetAndLiabilityDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "clwt:ContractWithCustomerAssetAndLiabilityDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R15": {
     "role": "http://euro-tech.com/role/Inventories",
     "longName": "995557 - Disclosure - Inventories",
     "shortName": "Inventories",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "15",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R16": {
     "role": "http://euro-tech.com/role/ShortTermAndLongTermInvestments",
     "longName": "995558 - Disclosure - Short-term and long-term investments",
     "shortName": "Short-term and long-term investments",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "16",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31_srt_SubsidiariesMember",
      "name": "clwt:CashCashEquivalentsAndShortTermAndLongTermInvestmentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31_srt_SubsidiariesMember",
      "name": "clwt:CashCashEquivalentsAndShortTermAndLongTermInvestmentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R17": {
     "role": "http://euro-tech.com/role/PropertyPlantAndEquipmentNet",
     "longName": "995559 - Disclosure - Property plant and equipment net",
     "shortName": "Property plant and equipment net",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "17",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R18": {
     "role": "http://euro-tech.com/role/IntangibleAssetsNet",
     "longName": "995560 - Disclosure - Intangible assets, net",
     "shortName": "Intangible assets, net",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "18",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31_srt_SubsidiariesMember",
      "name": "us-gaap:IntangibleAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31_srt_SubsidiariesMember",
      "name": "us-gaap:IntangibleAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R19": {
     "role": "http://euro-tech.com/role/LandUseRightNet",
     "longName": "995561 - Disclosure - Land use right, net",
     "shortName": "Land use right, net",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "19",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31_srt_SubsidiariesMember",
      "name": "clwt:LandUseRightNetDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31_srt_SubsidiariesMember",
      "name": "clwt:LandUseRightNetDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R20": {
     "role": "http://euro-tech.com/role/BankBorrowings",
     "longName": "995562 - Disclosure - Bank borrowings",
     "shortName": "Bank borrowings",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "20",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31_srt_SubsidiariesMember",
      "name": "clwt:BankBorrowingsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31_srt_SubsidiariesMember",
      "name": "clwt:BankBorrowingsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R21": {
     "role": "http://euro-tech.com/role/InvestmentsInAffiliates",
     "longName": "995563 - Disclosure - Investments in affiliates",
     "shortName": "Investments in affiliates",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "21",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:InvestmentsInAndAdvancesToAffiliatesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:InvestmentsInAndAdvancesToAffiliatesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R22": {
     "role": "http://euro-tech.com/role/Goodwill",
     "longName": "995564 - Disclosure - Goodwill",
     "shortName": "Goodwill",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "22",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:GoodwillDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:GoodwillDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R23": {
     "role": "http://euro-tech.com/role/OtherPayablesAndAccruedExpenses",
     "longName": "995565 - Disclosure - Other payables and accrued expenses",
     "shortName": "Other payables and accrued expenses",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "23",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R24": {
     "role": "http://euro-tech.com/role/OtherTaxesPayable",
     "longName": "995566 - Disclosure - Other taxes payable",
     "shortName": "Other taxes payable",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "24",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31_srt_SubsidiariesMember",
      "name": "clwt:OtherTaxesPayableDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31_srt_SubsidiariesMember",
      "name": "clwt:OtherTaxesPayableDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R25": {
     "role": "http://euro-tech.com/role/CapitalReserve",
     "longName": "995567 - Disclosure - Capital reserve",
     "shortName": "Capital reserve",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "25",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31_srt_SubsidiariesMember",
      "name": "clwt:CapitalReserveDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31_srt_SubsidiariesMember",
      "name": "clwt:CapitalReserveDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R26": {
     "role": "http://euro-tech.com/role/OtherIncomeAndOtherLosses",
     "longName": "995568 - Disclosure - Other income and other losses",
     "shortName": "Other income and other losses",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "26",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31_srt_SubsidiariesMember",
      "name": "clwt:OtherIncomeAndOtherLossesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31_srt_SubsidiariesMember",
      "name": "clwt:OtherIncomeAndOtherLossesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R27": {
     "role": "http://euro-tech.com/role/LeaseObligations",
     "longName": "995569 - Disclosure - Lease obligations",
     "shortName": "Lease obligations",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "27",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:LeasesOfLesseeDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:LeasesOfLesseeDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R28": {
     "role": "http://euro-tech.com/role/OrdinaryShare",
     "longName": "995570 - Disclosure - Ordinary share",
     "shortName": "Ordinary share",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "28",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R29": {
     "role": "http://euro-tech.com/role/TreasuryStock",
     "longName": "995571 - Disclosure - Treasury stock",
     "shortName": "Treasury stock",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "29",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:TreasuryStockTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:TreasuryStockTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R30": {
     "role": "http://euro-tech.com/role/PrcStatutoryReserves",
     "longName": "995572 - Disclosure - PRC statutory reserves",
     "shortName": "PRC statutory reserves",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "30",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "clwt:PrcStatutoryReservesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "clwt:PrcStatutoryReservesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R31": {
     "role": "http://euro-tech.com/role/OtherIncomeNet",
     "longName": "995573 - Disclosure - Other income net",
     "shortName": "Other income net",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "31",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "clwt:OtherIncomeNetTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "clwt:OtherIncomeNetTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R32": {
     "role": "http://euro-tech.com/role/IncomeTaxes",
     "longName": "995574 - Disclosure - Income taxes",
     "shortName": "Income taxes",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "32",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R33": {
     "role": "http://euro-tech.com/role/NetIncomePerOrdinaryShare",
     "longName": "995575 - Disclosure - Net income per ordinary share",
     "shortName": "Net income per ordinary share",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "33",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R34": {
     "role": "http://euro-tech.com/role/StockOptions",
     "longName": "995576 - Disclosure - Stock options",
     "shortName": "Stock options",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "34",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R35": {
     "role": "http://euro-tech.com/role/PensionPlan",
     "longName": "995577 - Disclosure - Pension plan",
     "shortName": "Pension plan",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "35",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R36": {
     "role": "http://euro-tech.com/role/RiskFactors",
     "longName": "995578 - Disclosure - Risk factors",
     "shortName": "Risk factors",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "36",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R37": {
     "role": "http://euro-tech.com/role/RiskAndUncertainty",
     "longName": "995579 - Disclosure - Risk and uncertainty",
     "shortName": "Risk and uncertainty",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "37",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:UnusualRisksAndUncertaintiesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:UnusualRisksAndUncertaintiesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R38": {
     "role": "http://euro-tech.com/role/RelatedPartyTransactions",
     "longName": "995580 - Disclosure - Related party transactions",
     "shortName": "Related party transactions",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "38",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R39": {
     "role": "http://euro-tech.com/role/CommitmentsAndContingencies",
     "longName": "995581 - Disclosure - Commitments and contingencies",
     "shortName": "Commitments and contingencies",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "39",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R40": {
     "role": "http://euro-tech.com/role/SubsequentEvents",
     "longName": "995582 - Disclosure - Subsequent events",
     "shortName": "Subsequent events",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "40",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R41": {
     "role": "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies",
     "longName": "995583 - Disclosure - Summary of significant accounting policies (Policies)",
     "shortName": "Summary of significant accounting policies (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "41",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:UseOfEstimates",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:UseOfEstimates",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R42": {
     "role": "http://euro-tech.com/role/OrganizationAndBusinessBackgroundTables",
     "longName": "995584 - Disclosure - Organization and Business Background (Tables)",
     "shortName": "Organization and Business Background (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "42",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "clwt:ScheduleOfSignificantSubsidiariesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "clwt:ScheduleOfSignificantSubsidiariesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R43": {
     "role": "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesTables",
     "longName": "995585 - Disclosure - Summary of significant accounting policies (Tables)",
     "shortName": "Summary of significant accounting policies (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "43",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "clwt:PropertyPlantAndEquipmentUsefulLifeTableTextblock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "clwt:PropertyPlantAndEquipmentUsefulLifeTableTextblock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R44": {
     "role": "http://euro-tech.com/role/SegmentInformationTables",
     "longName": "995586 - Disclosure - Segment information (Tables)",
     "shortName": "Segment information (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "44",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R45": {
     "role": "http://euro-tech.com/role/AccountsReceivableNetTables",
     "longName": "995587 - Disclosure - Accounts receivable net (Tables)",
     "shortName": "Accounts receivable net (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "45",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R46": {
     "role": "http://euro-tech.com/role/PrepaymentsAndOtherCurrentAssetsTables",
     "longName": "995588 - Disclosure - Prepayments and other current assets (Tables)",
     "shortName": "Prepayments and other current assets (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "46",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:ScheduleOfOtherCurrentAssetsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:ScheduleOfOtherCurrentAssetsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R47": {
     "role": "http://euro-tech.com/role/ContractAssetsAndLiabilitiesTables",
     "longName": "995589 - Disclosure - Contract assets and liabilities (Tables)",
     "shortName": "Contract assets and liabilities (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "47",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R48": {
     "role": "http://euro-tech.com/role/IntangibleAssetsNetTable",
     "longName": "995590 - Disclosure - Intangible assets, net (Table)",
     "shortName": "Intangible assets, net (Table)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "48",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31_srt_SubsidiariesMember",
      "name": "clwt:IntangibleAssetsDisclosureTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31_srt_SubsidiariesMember",
      "name": "clwt:IntangibleAssetsDisclosureTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R49": {
     "role": "http://euro-tech.com/role/LandUseRightNetTable",
     "longName": "995591 - Disclosure - Land use right, net (Table)",
     "shortName": "Land use right, net (Table)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "49",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31_srt_SubsidiariesMember",
      "name": "clwt:LandUseRightNetTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31_srt_SubsidiariesMember",
      "name": "clwt:LandUseRightNetTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R50": {
     "role": "http://euro-tech.com/role/BankBorrowingsTable",
     "longName": "995592 - Disclosure - Bank borrowings (Table)",
     "shortName": "Bank borrowings (Table)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "50",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31_srt_SubsidiariesMember",
      "name": "clwt:ScheduleOfBankBorrowingsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31_srt_SubsidiariesMember",
      "name": "clwt:ScheduleOfBankBorrowingsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R51": {
     "role": "http://euro-tech.com/role/InventoriesTables",
     "longName": "995593 - Disclosure - Inventories (Tables)",
     "shortName": "Inventories (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "51",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:InventoryDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:InventoryDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R52": {
     "role": "http://euro-tech.com/role/PropertyPlantAndEquipmentNetTables",
     "longName": "995594 - Disclosure - Property plant and equipment net (Tables)",
     "shortName": "Property plant and equipment net (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "52",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R53": {
     "role": "http://euro-tech.com/role/InvestmentsInAffiliatesTables",
     "longName": "995595 - Disclosure - Investments in affiliates (Tables)",
     "shortName": "Investments in affiliates (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "53",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:ScheduleOfInvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:InvestmentsInAndAdvancesToAffiliatesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:ScheduleOfInvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:InvestmentsInAndAdvancesToAffiliatesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R54": {
     "role": "http://euro-tech.com/role/OtherPayablesAndAccruedExpensesTables",
     "longName": "995596 - Disclosure - Other payables and accrued expenses (Tables)",
     "shortName": "Other payables and accrued expenses (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "54",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R55": {
     "role": "http://euro-tech.com/role/LeaseObligationsTables",
     "longName": "995597 - Disclosure - Lease obligations (Tables)",
     "shortName": "Lease obligations (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "55",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:LeaseCostTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:LeaseCostTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R56": {
     "role": "http://euro-tech.com/role/OrdinaryShareTables",
     "longName": "995598 - Disclosure - Ordinary share (Tables)",
     "shortName": "Ordinary share (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "56",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:ScheduleOfStockByClassTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:ScheduleOfStockByClassTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R57": {
     "role": "http://euro-tech.com/role/OtherIncomeTables",
     "longName": "995599 - Disclosure - Other income (Tables)",
     "shortName": "Other income (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "57",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:ScheduleOfOtherNonoperatingIncomeExpenseTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "clwt:OtherIncomeNetTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:ScheduleOfOtherNonoperatingIncomeExpenseTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "clwt:OtherIncomeNetTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R58": {
     "role": "http://euro-tech.com/role/IncomeTaxesTables",
     "longName": "995600 - Disclosure - Income taxes (Tables)",
     "shortName": "Income taxes (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "58",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R59": {
     "role": "http://euro-tech.com/role/OtherIncomeAndOtherLossesTable",
     "longName": "995601 - Disclosure - Other income and other losses (Table)",
     "shortName": "Other income and other losses (Table)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "59",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31_srt_SubsidiariesMember",
      "name": "clwt:ScheduleOfOtherIncomeTabletextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31_srt_SubsidiariesMember",
      "name": "clwt:ScheduleOfOtherIncomeTabletextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R60": {
     "role": "http://euro-tech.com/role/NetIncomePerOrdinaryShareTables",
     "longName": "995602 - Disclosure - Net income per ordinary share (Tables)",
     "shortName": "Net income per ordinary share (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "60",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:EarningsPerShareTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:EarningsPerShareTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R61": {
     "role": "http://euro-tech.com/role/StockOptionsTables",
     "longName": "995603 - Disclosure - Stock options (Tables)",
     "shortName": "Stock options (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "61",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsAndStockAppreciationRightsAwardActivityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsAndStockAppreciationRightsAwardActivityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R62": {
     "role": "http://euro-tech.com/role/CommitmentsAndContingenciesTables",
     "longName": "995604 - Disclosure - Commitments and contingencies (Tables)",
     "shortName": "Commitments and contingencies (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "62",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:RedeemableNoncontrollingInterestTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:RedeemableNoncontrollingInterestTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R63": {
     "role": "http://euro-tech.com/role/OrganizationAndBusinessDetails",
     "longName": "995605 - Disclosure - Organization and business (Details)",
     "shortName": "Organization and business (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "63",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31_clwt_ShanghaiEuroTechsLimitedMember",
      "name": "us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions",
      "unitRef": "Pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "td",
       "tr",
       "tbody",
       "table",
       "clwt:ScheduleOfSignificantSubsidiariesTableTextBlock",
       "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31_clwt_ShanghaiEuroTechsLimitedMember",
      "name": "us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions",
      "unitRef": "Pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "td",
       "tr",
       "tbody",
       "table",
       "clwt:ScheduleOfSignificantSubsidiariesTableTextBlock",
       "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R64": {
     "role": "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetails",
     "longName": "995606 - Disclosure - Summary of significant accounting policies (Details)",
     "shortName": "Summary of significant accounting policies (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "64",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:RevenueRemainingPerformanceObligation",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "clwt:ScheduleOfReconciliationOfBacklogRepresentingTheAmountOfRevenueTableTextBlock",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:RevenueRemainingPerformanceObligation",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "clwt:ScheduleOfReconciliationOfBacklogRepresentingTheAmountOfRevenueTableTextBlock",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R65": {
     "role": "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetails1",
     "longName": "995607 - Disclosure - Summary of significant accounting policies (Details 1)",
     "shortName": "Summary of significant accounting policies (Details 1)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "65",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31_us-gaap_LeaseholdImprovementsMember",
      "name": "clwt:PublicUtilitiesPropertyPlantAndEquipmentLeaseholdImprovementsFuelUsefulLife",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "td",
       "tr",
       "tbody",
       "table",
       "clwt:PropertyPlantAndEquipmentUsefulLifeTableTextblock",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31_us-gaap_LeaseholdImprovementsMember",
      "name": "clwt:PublicUtilitiesPropertyPlantAndEquipmentLeaseholdImprovementsFuelUsefulLife",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "td",
       "tr",
       "tbody",
       "table",
       "clwt:PropertyPlantAndEquipmentUsefulLifeTableTextblock",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R66": {
     "role": "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative",
     "longName": "995608 - Disclosure - Summary of significant accounting policies (Details Narrative)",
     "shortName": "Summary of significant accounting policies (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "66",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:MarketingAndAdvertisingExpense",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "us-gaap:AdvertisingCostsPolicyTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:MarketingAndAdvertisingExpense",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "us-gaap:AdvertisingCostsPolicyTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R67": {
     "role": "http://euro-tech.com/role/SegmentInformationDetails",
     "longName": "995609 - Disclosure - Segment information (Details)",
     "shortName": "Segment information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "67",
     "firstAnchor": {
      "contextRef": "AsOf2024-12-31",
      "name": "us-gaap:Assets",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "clwt:CapitalExpendituresGross",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "unique": true
     }
    },
    "R68": {
     "role": "http://euro-tech.com/role/SegmentInformationDetails1",
     "longName": "995610 - Disclosure - Segment information (Details 1)",
     "shortName": "Segment information (Details 1)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "68",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:Revenues",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "clwt:GeographicalAnalysisOfLonglivedAssets",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "unique": true
     }
    },
    "R69": {
     "role": "http://euro-tech.com/role/SegmentInformationDetails2",
     "longName": "995611 - Disclosure - Segment information (Details 2)",
     "shortName": "Segment information (Details 2)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "69",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31_clwt_SuppliersAMember",
      "name": "us-gaap:ConcentrationRiskSupplier",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "clwt:ScheduleOfMajorSuppliersAndCustomers",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31_clwt_SuppliersAMember",
      "name": "us-gaap:ConcentrationRiskSupplier",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "clwt:ScheduleOfMajorSuppliersAndCustomers",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R70": {
     "role": "http://euro-tech.com/role/SegmentInformationDetails3",
     "longName": "995612 - Disclosure - Segment information (Details 3)",
     "shortName": "Segment information (Details 3)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "70",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31_clwt_CustomerDMember",
      "name": "us-gaap:ConcentrationRiskCustomer",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31_clwt_CustomerDMember",
      "name": "us-gaap:ConcentrationRiskCustomer",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R71": {
     "role": "http://euro-tech.com/role/LeaseObligationsDetails",
     "longName": "995613 - Disclosure - Lease obligations (Details)",
     "shortName": "Lease obligations (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "71",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:OperatingLeaseCost",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:LeaseCostTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:OperatingLeaseCost",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:LeaseCostTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R72": {
     "role": "http://euro-tech.com/role/LeaseObligationsDetails1",
     "longName": "995614 - Disclosure - Lease obligations (Details 1)",
     "shortName": "Lease obligations (Details 1)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "72",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:OperatingLeasePayments",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "clwt:ScheduleOfSupplementalConsolidatedCashFlowInformationRelatedToLeasesTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:OperatingLeasePayments",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "clwt:ScheduleOfSupplementalConsolidatedCashFlowInformationRelatedToLeasesTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R73": {
     "role": "http://euro-tech.com/role/LeaseObligationsDetails2",
     "longName": "995615 - Disclosure - Lease obligations (Details 2)",
     "shortName": "Lease obligations (Details 2)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "73",
     "firstAnchor": {
      "contextRef": "AsOf2024-12-31",
      "name": "us-gaap:OperatingLeaseRightOfUseAsset",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "clwt:WeightedAverageRemainingLeaseTermOperatingLeases",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "td",
       "tr",
       "tbody",
       "table",
       "clwt:ScheduleOfSupplementalConsolidatedBalanceSheetInformationRelatedToLeasesTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "unique": true
     }
    },
    "R74": {
     "role": "http://euro-tech.com/role/LeaseObligationsDetails3",
     "longName": "995616 - Disclosure - Lease obligations (Details 3)",
     "shortName": "Lease obligations (Details 3)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "74",
     "firstAnchor": {
      "contextRef": "AsOf2024-12-31",
      "name": "us-gaap:OperatingLeasesFutureMinimumPaymentsDueCurrent",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-12-31",
      "name": "us-gaap:OperatingLeasesFutureMinimumPaymentsDueCurrent",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R75": {
     "role": "http://euro-tech.com/role/LeaseObligationsDetailsNarrative",
     "longName": "995617 - Disclosure - Lease obligations (Details Narrative)",
     "shortName": "Lease obligations (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "75",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:AmortizationOfLeasedAsset",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:AmortizationOfLeasedAsset",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R76": {
     "role": "http://euro-tech.com/role/AccountsReceivableNetDetails",
     "longName": "995618 - Disclosure - Accounts receivable net (Details)",
     "shortName": "Accounts receivable net (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "76",
     "firstAnchor": {
      "contextRef": "AsOf2024-12-31",
      "name": "us-gaap:AccountsReceivableGross",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
       "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-12-31",
      "name": "us-gaap:AccountsReceivableGross",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
       "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R77": {
     "role": "http://euro-tech.com/role/AccountsReceivableNetDetails1",
     "longName": "995619 - Disclosure - Accounts receivable net (Details 1)",
     "shortName": "Accounts receivable net (Details 1)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "77",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivable",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
       "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "unique": true
     }
    },
    "R78": {
     "role": "http://euro-tech.com/role/AccountsReceivableNetDetails2",
     "longName": "995620 - Disclosure - Accounts receivable net (Details 2)",
     "shortName": "Accounts receivable net (Details 2)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "78",
     "firstAnchor": {
      "contextRef": "AsOf2024-12-31",
      "name": "clwt:AllowanceForDoubtfulAccountsReceivables",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:PastDueFinancingReceivablesTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-12-31",
      "name": "clwt:AllowanceForDoubtfulAccountsReceivables",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:PastDueFinancingReceivablesTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R79": {
     "role": "http://euro-tech.com/role/PrepaymentsAndOtherCurrentAssetsDetails",
     "longName": "995621 - Disclosure - Prepayments and other current assets (Details)",
     "shortName": "Prepayments and other current assets (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "79",
     "firstAnchor": {
      "contextRef": "AsOf2024-12-31",
      "name": "us-gaap:DepositAssets",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfOtherCurrentAssetsTableTextBlock",
       "us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-12-31",
      "name": "us-gaap:DepositAssets",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfOtherCurrentAssetsTableTextBlock",
       "us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R80": {
     "role": "http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails",
     "longName": "995622 - Disclosure - Contract assets and liabilities (Details)",
     "shortName": "Contract assets and liabilities (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "80",
     "firstAnchor": {
      "contextRef": "AsOf2024-12-31",
      "name": "us-gaap:ContractWithCustomerAssetNet",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R81": {
     "role": "http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails1",
     "longName": "995623 - Disclosure - Contract assets and liabilities (Details 1)",
     "shortName": "Contract assets and liabilities (Details 1)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "81",
     "firstAnchor": {
      "contextRef": "AsOf2024-12-31",
      "name": "us-gaap:DeferredRevenue",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-12-31",
      "name": "us-gaap:DeferredRevenue",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R82": {
     "role": "http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails2",
     "longName": "995624 - Disclosure - Contract assets and liabilities (Details 2)",
     "shortName": "Contract assets and liabilities (Details 2)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "82",
     "firstAnchor": {
      "contextRef": "AsOf2024-12-31",
      "name": "us-gaap:ContractWithCustomerAssetNet",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-12-31",
      "name": "us-gaap:ContractWithCustomerLiability",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "unique": true
     }
    },
    "R83": {
     "role": "http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails3",
     "longName": "995625 - Disclosure - Contract assets and liabilities (Details 3)",
     "shortName": "Contract assets and liabilities (Details 3)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "83",
     "firstAnchor": {
      "contextRef": "AsOf2024-12-31",
      "name": "clwt:CostsIncurredInContractsInProcess",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "clwt:ContractWithCustomerNetAssetLiabilityPositionTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-12-31",
      "name": "clwt:CostsIncurredInContractsInProcess",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "clwt:ContractWithCustomerNetAssetLiabilityPositionTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R84": {
     "role": "http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails4",
     "longName": "995626 - Disclosure - Contract assets and liabilities (Details 4)",
     "shortName": "Contract assets and liabilities (Details 4)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "84",
     "firstAnchor": {
      "contextRef": "AsOf2024-12-31",
      "name": "clwt:ContractWithCustomerAssetLiabilityNet",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-12-31_us-gaap_UnbilledRevenuesMember",
      "name": "clwt:ContractWithCustomerAssetLiabilityNet",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "unique": true
     }
    },
    "R85": {
     "role": "http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails5",
     "longName": "995627 - Disclosure - Contract assets and liabilities (Details 5)",
     "shortName": "Contract assets and liabilities (Details 5)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "85",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "clwt:ContractWithCustomerTradingAndManufacturing",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:DisaggregationOfRevenueTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "clwt:ContractWithCustomerTradingAndManufacturing",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:DisaggregationOfRevenueTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R86": {
     "role": "http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetailsNarrative",
     "longName": "995628 - Disclosure - Contract assets and liabilities (Details Narrative)",
     "shortName": "Contract assets and liabilities (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "86",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:ContractWithCustomerLiabilityRevenueRecognized",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:ContractWithCustomerLiabilityRevenueRecognized",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R87": {
     "role": "http://euro-tech.com/role/InventoriesDetails",
     "longName": "995629 - Disclosure - Inventories (Details)",
     "shortName": "Inventories (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "87",
     "firstAnchor": {
      "contextRef": "AsOf2024-12-31",
      "name": "us-gaap:InventoryRawMaterialsNetOfReserves",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "us-gaap:InventoryDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-12-31",
      "name": "us-gaap:InventoryRawMaterialsNetOfReserves",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "us-gaap:InventoryDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R88": {
     "role": "http://euro-tech.com/role/InventoriesDetailsNarrative",
     "longName": "995630 - Disclosure - Inventories (Details Narrative)",
     "shortName": "Inventories (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "88",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:InventoryWriteDown",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "us-gaap:InventoryDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:InventoryWriteDown",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "us-gaap:InventoryDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R89": {
     "role": "http://euro-tech.com/role/ShortTermAndLongTermInvestmentsDetailsNarrative",
     "longName": "995631 - Disclosure - Short-term and long-term investments (Details Narrative)",
     "shortName": "Short-term and long-term investments (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "89",
     "firstAnchor": {
      "contextRef": "AsOf2024-12-31_srt_SubsidiaryIssuerMember",
      "name": "us-gaap:OtherOwnershipInterestsValue",
      "unitRef": "CNY",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-12-31_srt_SubsidiaryIssuerMember",
      "name": "us-gaap:OtherOwnershipInterestsValue",
      "unitRef": "CNY",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R90": {
     "role": "http://euro-tech.com/role/PropertyPlantAndEquipmentNetDetails",
     "longName": "995632 - Disclosure - Property plant and equipment net (Details)",
     "shortName": "Property plant and equipment net (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "90",
     "firstAnchor": {
      "contextRef": "AsOf2024-12-31",
      "name": "clwt:BuildingsGross",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-12-31",
      "name": "clwt:BuildingsGross",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R91": {
     "role": "http://euro-tech.com/role/PropertyPlantAndEquipmentNetDetails1",
     "longName": "995633 - Disclosure - Property plant and equipment net (Details 1)",
     "shortName": "Property plant and equipment net (Details 1)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "91",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:DepreciationDepletionAndAmortization",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:DepreciationDepletionAndAmortization",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R92": {
     "role": "http://euro-tech.com/role/PropertyPlantAndEquipmentNetDetailsNarrative",
     "longName": "995634 - Disclosure - Property plant and equipment net (Details Narrative)",
     "shortName": "Property plant and equipment net (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "92",
     "firstAnchor": {
      "contextRef": "AsOf2024-12-31",
      "name": "us-gaap:PropertyPlantAndEquipmentNet",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-12-31_clwt_PropertyInBeijingPRCMember",
      "name": "us-gaap:PropertyPlantAndEquipmentNet",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "unique": true
     }
    },
    "R93": {
     "role": "http://euro-tech.com/role/IntangibleAssetsNetDetails",
     "longName": "995635 - Disclosure - Intangible assets, net (Details)",
     "shortName": "Intangible assets, net (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "93",
     "firstAnchor": {
      "contextRef": "AsOf2024-12-31_srt_SubsidiaryIssuerMember",
      "name": "us-gaap:FiniteLivedPatentsGross",
      "unitRef": "CNY",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "clwt:IntangibleAssetsDisclosureTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-12-31_srt_SubsidiaryIssuerMember",
      "name": "us-gaap:FiniteLivedPatentsGross",
      "unitRef": "CNY",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "clwt:IntangibleAssetsDisclosureTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R94": {
     "role": "http://euro-tech.com/role/IntangibleAssetsNetDetails1",
     "longName": "995636 - Disclosure - Intangible assets, net (Details 1)",
     "shortName": "Intangible assets, net (Details 1)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "94",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember",
      "name": "us-gaap:AmortizationOfIntangibleAssets",
      "unitRef": "CNY",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember",
      "name": "us-gaap:AmortizationOfIntangibleAssets",
      "unitRef": "CNY",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R95": {
     "role": "http://euro-tech.com/role/IntangibleAssetsNetDetails2",
     "longName": "995637 - Disclosure - Intangible assets, net (Details 2)",
     "shortName": "Intangible assets, net (Details 2)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "95",
     "firstAnchor": {
      "contextRef": "AsOf2024-12-31_srt_SubsidiaryIssuerMember",
      "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
      "unitRef": "CNY",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "clwt:EstimatedFutureIntangibleAssetsAmortizationExpenseTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-12-31_srt_SubsidiaryIssuerMember",
      "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
      "unitRef": "CNY",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "clwt:EstimatedFutureIntangibleAssetsAmortizationExpenseTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R96": {
     "role": "http://euro-tech.com/role/LandUseRightNetDetails",
     "longName": "995638 - Disclosure - Land use right net (Details)",
     "shortName": "Land use right net (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "96",
     "firstAnchor": {
      "contextRef": "AsOf2024-12-31_srt_SubsidiariesMember",
      "name": "us-gaap:FiniteLivedContractualRightsGross",
      "unitRef": "CNY",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "clwt:LandUseRightNetTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-12-31_srt_SubsidiariesMember",
      "name": "us-gaap:FiniteLivedContractualRightsGross",
      "unitRef": "CNY",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "clwt:LandUseRightNetTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R97": {
     "role": "http://euro-tech.com/role/LandUseRightNetDetails1",
     "longName": "995639 - Disclosure - Land use right net (Details 1)",
     "shortName": "Land use right net (Details 1)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "97",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember",
      "name": "us-gaap:AccretionExpense",
      "unitRef": "CNY",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember",
      "name": "us-gaap:AccretionExpense",
      "unitRef": "CNY",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R98": {
     "role": "http://euro-tech.com/role/LandUseRightNetDetails2",
     "longName": "995640 - Disclosure - Land use right net (Details 2)",
     "shortName": "Land use right net (Details 2)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "98",
     "firstAnchor": {
      "contextRef": "AsOf2024-12-31_srt_SubsidiariesMember",
      "name": "clwt:LandUseRightAmortizationExpenseYearTwo",
      "unitRef": "CNY",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "clwt:LandUseRightNetEstimatedFutureLandUseRightAmortizationExpenseTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-12-31_srt_SubsidiariesMember",
      "name": "clwt:LandUseRightAmortizationExpenseYearTwo",
      "unitRef": "CNY",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "clwt:LandUseRightNetEstimatedFutureLandUseRightAmortizationExpenseTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R99": {
     "role": "http://euro-tech.com/role/LandUseRightNetDetailsNarrative",
     "longName": "995641 - Disclosure - Land use right net (Details Narrative)",
     "shortName": "Land use right net (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "99",
     "firstAnchor": {
      "contextRef": "AsOf2024-12-31_srt_SubsidiariesMember",
      "name": "clwt:LandUseRightPledgedBankLoan",
      "unitRef": "CNY",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-12-31_srt_SubsidiariesMember",
      "name": "clwt:LandUseRightPledgedBankLoan",
      "unitRef": "CNY",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R100": {
     "role": "http://euro-tech.com/role/BankBorrowingsDetails",
     "longName": "995642 - Disclosure - Bank borrowings (Details)",
     "shortName": "Bank borrowings (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "100",
     "firstAnchor": {
      "contextRef": "AsOf2024-12-31_srt_SubsidiariesMember",
      "name": "srt:BankLoans",
      "unitRef": "CNY",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "clwt:ScheduleOfBankBorrowingsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-12-31_srt_SubsidiariesMember",
      "name": "srt:BankLoans",
      "unitRef": "CNY",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "clwt:ScheduleOfBankBorrowingsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R101": {
     "role": "http://euro-tech.com/role/BankBorrowingsDetailsNarrative",
     "longName": "995643 - Disclosure - Bank borrowings (Details Narrative)",
     "shortName": "Bank borrowings (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "101",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31_srt_SubsidiariesMember_clwt_BorrowedByTheCompanyMember",
      "name": "us-gaap:SubordinatedBorrowingInterestRate",
      "unitRef": "Pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "td",
       "tr",
       "tbody",
       "table",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31_srt_SubsidiariesMember_clwt_BorrowedByTheCompanyMember",
      "name": "us-gaap:SubordinatedBorrowingInterestRate",
      "unitRef": "Pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "td",
       "tr",
       "tbody",
       "table",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R102": {
     "role": "http://euro-tech.com/role/InvestmentsInAffiliatesDetails",
     "longName": "995644 - Disclosure - Investments in affiliates (Details)",
     "shortName": "Investments in affiliates (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "102",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "srt:InterestEarningAssetsNetYield",
      "unitRef": "Pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "strong",
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfInvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTableTextBlock",
       "us-gaap:InvestmentsInAndAdvancesToAffiliatesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:UndistributedEarnings",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfInvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTableTextBlock",
       "us-gaap:InvestmentsInAndAdvancesToAffiliatesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "unique": true
     }
    },
    "R103": {
     "role": "http://euro-tech.com/role/InvestmentsInAffiliatesDetails1",
     "longName": "995645 - Disclosure - Investments in affiliates (Details 1)",
     "shortName": "Investments in affiliates (Details 1)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "103",
     "firstAnchor": {
      "contextRef": "AsOf2024-12-31",
      "name": "us-gaap:AssetsCurrent",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-12-31_clwt_BluesSkyMember",
      "name": "us-gaap:AssetsCurrent",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "clwt:SummaryOfTheFinancialInformationOfTheAffiliates",
       "us-gaap:InvestmentsInAndAdvancesToAffiliatesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "unique": true
     }
    },
    "R104": {
     "role": "http://euro-tech.com/role/InvestmentsInAffiliatesDetails2",
     "longName": "995646 - Disclosure - Investments in affiliates (Details 2)",
     "shortName": "Investments in affiliates (Details 2)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "104",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:OperatingIncomeLoss",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31_clwt_BluesSkyMember",
      "name": "us-gaap:NetInvestmentInLeaseSale",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "ix:continuation",
       "us-gaap:InvestmentsInAndAdvancesToAffiliatesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "unique": true
     }
    },
    "R105": {
     "role": "http://euro-tech.com/role/InvestmentsInAffiliatesDetailsNarrative",
     "longName": "995647 - Disclosure - Investments in affiliates (Details Narrative)",
     "shortName": "Investments in affiliates (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "105",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "srt:InterestEarningAssetsNetYield",
      "unitRef": "Pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "strong",
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfInvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTableTextBlock",
       "us-gaap:InvestmentsInAndAdvancesToAffiliatesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31_clwt_BluesSkyMember",
      "name": "srt:InterestEarningAssetsNetYield",
      "unitRef": "Pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "us-gaap:InvestmentsInAndAdvancesToAffiliatesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "unique": true
     }
    },
    "R106": {
     "role": "http://euro-tech.com/role/GoodwillDetailsNarrative",
     "longName": "995648 - Disclosure - Goodwill (Details Narrative)",
     "shortName": "Goodwill (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "106",
     "firstAnchor": {
      "contextRef": "AsOf2024-12-31",
      "name": "us-gaap:GoodwillGross",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "us-gaap:GoodwillDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-12-31",
      "name": "us-gaap:GoodwillGross",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "us-gaap:GoodwillDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R107": {
     "role": "http://euro-tech.com/role/OtherPayablesAndAccruedExpensesDetails",
     "longName": "995649 - Disclosure - Other payables and accrued expenses (Details)",
     "shortName": "Other payables and accrued expenses (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "107",
     "firstAnchor": {
      "contextRef": "AsOf2024-12-31",
      "name": "us-gaap:DividendsPayableCurrent",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock",
       "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-12-31",
      "name": "us-gaap:DividendsPayableCurrent",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock",
       "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R108": {
     "role": "http://euro-tech.com/role/OtherTaxesPayableDetailsNarrative",
     "longName": "995650 - Disclosure - Other taxes payable (Details Narrative)",
     "shortName": "Other taxes payable (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "108",
     "firstAnchor": {
      "contextRef": "AsOf2024-12-31_srt_SubsidiariesMember_clwt_BottomsMember",
      "name": "clwt:ValuedAddedTaxInterestRate",
      "unitRef": "Pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-12-31_srt_SubsidiariesMember_clwt_BottomsMember",
      "name": "clwt:ValuedAddedTaxInterestRate",
      "unitRef": "Pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R109": {
     "role": "http://euro-tech.com/role/OtherIncomeAndOtherLossesDetails",
     "longName": "995651 - Disclosure - Other income and other losses (Details)",
     "shortName": "Other income and other losses (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "109",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31_srt_SubsidiariesMember",
      "name": "clwt:ImpairmentGainOnContractAssets",
      "unitRef": "CNY",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "clwt:ScheduleOfOtherIncomeTabletextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31_srt_SubsidiariesMember",
      "name": "clwt:ImpairmentGainOnContractAssets",
      "unitRef": "CNY",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "clwt:ScheduleOfOtherIncomeTabletextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R110": {
     "role": "http://euro-tech.com/role/OtherIncomeAndOtherLossesDetails1",
     "longName": "995652 - Disclosure - Other income and other losses (Details 1)",
     "shortName": "Other income and other losses (Details 1)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "110",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31_srt_SubsidiariesMember",
      "name": "clwt:ImpairmentLossOnShortTermInvestments",
      "unitRef": "CNY",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "clwt:ScheduleOfOtherLossesTabletextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31_srt_SubsidiariesMember",
      "name": "clwt:ImpairmentLossOnContractAssets",
      "unitRef": "CNY",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "clwt:ScheduleOfOtherLossesTabletextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "unique": true
     }
    },
    "R111": {
     "role": "http://euro-tech.com/role/OrdinaryShareDetails",
     "longName": "995653 - Disclosure - Ordinary share (Details)",
     "shortName": "Ordinary share (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "111",
     "firstAnchor": {
      "contextRef": "AsOf2024-12-31",
      "name": "us-gaap:CommonStockSharesIssued",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfStockByClassTextBlock",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R112": {
     "role": "http://euro-tech.com/role/OrdinaryShareDetailsNarrative",
     "longName": "995654 - Disclosure - Ordinary share (Details Narrative)",
     "shortName": "Ordinary share (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "112",
     "firstAnchor": {
      "contextRef": "From2021-03-01to2021-03-03",
      "name": "us-gaap:StockIssuedDuringPeriodSharesNewIssues",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2021-03-01to2021-03-03",
      "name": "us-gaap:StockIssuedDuringPeriodSharesNewIssues",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R113": {
     "role": "http://euro-tech.com/role/TreasuryStockDetailsNarrative",
     "longName": "995655 - Disclosure - Treasury stock (Details Narrative)",
     "shortName": "Treasury stock (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "113",
     "firstAnchor": {
      "contextRef": "AsOf2024-12-31_clwt_StockRepurchasePlanMember",
      "name": "us-gaap:SharesOutstanding",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "us-gaap:TreasuryStockTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-12-31_clwt_StockRepurchasePlanMember",
      "name": "us-gaap:SharesOutstanding",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "us-gaap:TreasuryStockTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R114": {
     "role": "http://euro-tech.com/role/PrcStatutoryReservesDetailsNarrative",
     "longName": "995656 - Disclosure - PRC statutory reserves (Details Narrative)",
     "shortName": "PRC statutory reserves (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "114",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31_clwt_StatutoryReserveFundMember",
      "name": "us-gaap:StatutoryAccountingPracticesStatutoryNetIncomeAmount",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "clwt:PrcStatutoryReservesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31_clwt_StatutoryReserveFundMember",
      "name": "us-gaap:StatutoryAccountingPracticesStatutoryNetIncomeAmount",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "clwt:PrcStatutoryReservesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R115": {
     "role": "http://euro-tech.com/role/OtherIncomeNetDetails",
     "longName": "995657 - Disclosure - Other income net (Details)",
     "shortName": "Other income net (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "115",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "clwt:ExchangeGainLossNet",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfOtherNonoperatingIncomeExpenseTableTextBlock",
       "clwt:OtherIncomeNetTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "clwt:ExchangeGainLossNet",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfOtherNonoperatingIncomeExpenseTableTextBlock",
       "clwt:OtherIncomeNetTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R116": {
     "role": "http://euro-tech.com/role/IncomeTaxesDetails",
     "longName": "995658 - Disclosure - Income taxes (Details)",
     "shortName": "Income taxes (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "116",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "clwt:CurrentTaxExpensesPrcAndHongKong",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "clwt:CurrentTaxExpensesPrcAndHongKong",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R117": {
     "role": "http://euro-tech.com/role/IncomeTaxesDetails1",
     "longName": "995659 - Disclosure - Income taxes (Details 1)",
     "shortName": "Income taxes (Details 1)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "117",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31_clwt_HongKongProfitTaxMember",
      "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "unique": true
     }
    },
    "R118": {
     "role": "http://euro-tech.com/role/IncomeTaxesDetails2",
     "longName": "995660 - Disclosure - Income taxes (Details 2)",
     "shortName": "Income taxes (Details 2)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "118",
     "firstAnchor": {
      "contextRef": "AsOf2024-12-31",
      "name": "clwt:DeferredTaxAssetTaxLosses",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-12-31",
      "name": "clwt:DeferredTaxAssetTaxLosses",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R119": {
     "role": "http://euro-tech.com/role/IncomeTaxesDetailsNarrative",
     "longName": "995661 - Disclosure - Income taxes (Details Narrative)",
     "shortName": "Income taxes (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "119",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
      "unitRef": "Pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
      "unitRef": "Pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R120": {
     "role": "http://euro-tech.com/role/NetIncomePerOrdinaryShareDetails",
     "longName": "995662 - Disclosure - Net income per ordinary share (Details)",
     "shortName": "Net income per ordinary share (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "120",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "clwt:WeightedAverageNumberOfOrdinarySharesForThePurposesOfBasicAndDilutedNetIncomePerShare",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock",
       "us-gaap:EarningsPerShareTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "clwt:WeightedAverageNumberOfOrdinarySharesForThePurposesOfBasicAndDilutedNetIncomePerShare",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock",
       "us-gaap:EarningsPerShareTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R121": {
     "role": "http://euro-tech.com/role/StockOptionsDetails",
     "longName": "995663 - Disclosure - Stock options (Details)",
     "shortName": "Stock options (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "121",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31_us-gaap_StockOptionMember",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsAndStockAppreciationRightsAwardActivityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2021-12-31_us-gaap_StockOptionMember",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsAndStockAppreciationRightsAwardActivityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "unique": true
     }
    },
    "R122": {
     "role": "http://euro-tech.com/role/StockOptionsDetailsNarrative",
     "longName": "995664 - Disclosure - Stock options (Details Narrative)",
     "shortName": "Stock options (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "122",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:ShareBasedCompensation",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2022-01-01to2022-12-31_clwt_TwoThousandTwentyNineStockOptionAndIncentivePlanMember",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "unique": true
     }
    },
    "R123": {
     "role": "http://euro-tech.com/role/PensionPlanDetailsNarrative",
     "longName": "995665 - Disclosure - Pension plan (Details Narrative)",
     "shortName": "Pension plan (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "123",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "clwt:EmployeesPensionPlanDescription",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "us-gaap:PensionContributions",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "unique": true
     }
    },
    "R124": {
     "role": "http://euro-tech.com/role/RiskFactorsDetailsNarrative",
     "longName": "995666 - Disclosure - Risk factors (Details Narrative)",
     "shortName": "Risk factors (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "124",
     "firstAnchor": {
      "contextRef": "From2023-01-01to2023-12-31_srt_SubsidiariesMember_clwt_CNMember",
      "name": "us-gaap:ConcentrationRiskCreditRiskFinancialInstrumentMaximumExposure",
      "unitRef": "CNY",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-01-01to2023-12-31_srt_SubsidiariesMember_clwt_CNMember",
      "name": "us-gaap:ConcentrationRiskCreditRiskFinancialInstrumentMaximumExposure",
      "unitRef": "CNY",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R125": {
     "role": "http://euro-tech.com/role/RiskAndUncertaintyDetailsNarrative",
     "longName": "995667 - Disclosure - Risk and uncertainty (Details Narrative)",
     "shortName": "Risk and uncertainty (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "125",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "clwt:RentalIncome",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "us-gaap:UnusualRisksAndUncertaintiesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "clwt:RentalIncome",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "us-gaap:UnusualRisksAndUncertaintiesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R126": {
     "role": "http://euro-tech.com/role/RelatedPartyTransactionsDetailsNarrative",
     "longName": "995668 - Disclosure - Related party transactions (Details Narrative)",
     "shortName": "Related party transactions (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "126",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31_srt_SubsidiariesMember",
      "name": "us-gaap:Investments",
      "unitRef": "CNY",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31_srt_SubsidiariesMember_clwt_EngineeringServiceMember",
      "name": "clwt:Remuneration",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "unique": true
     }
    },
    "R127": {
     "role": "http://euro-tech.com/role/CommitmentsAndContingenciesDetails",
     "longName": "995669 - Disclosure - Commitments and contingencies (Details)",
     "shortName": "Commitments and contingencies (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "127",
     "firstAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "clwt:FairValueOfPutOptions",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:RedeemableNoncontrollingInterestTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2023-12-31",
      "name": "clwt:FairValueOfPutOptions",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:RedeemableNoncontrollingInterestTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R128": {
     "role": "http://euro-tech.com/role/CommitmentsAndContingenciesDetailsNarrative",
     "longName": "995670 - Disclosure - Commitments and contingencies (Details Narrative)",
     "shortName": "Commitments and contingencies (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "128",
     "firstAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "clwt:UtilisedForIssuanceOfBankGuarantees",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2024-01-01to2024-12-31",
      "name": "clwt:UtilisedForIssuanceOfBankGuarantees",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     }
    },
    "R129": {
     "role": "http://euro-tech.com/role/SubsequentEventsDetailsNarrative",
     "longName": "995671 - Disclosure - Subsequent events (Details Narrative)",
     "shortName": "Subsequent events (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "129",
     "firstAnchor": {
      "contextRef": "From2025-02-01to2025-02-20_us-gaap_SubsequentEventMember",
      "name": "us-gaap:RepurchaseAgreementsInterestExpenseAmount",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "us-gaap:SubsequentEventsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2025-02-01to2025-02-20_us-gaap_SubsequentEventMember",
      "name": "us-gaap:RepurchaseAgreementsInterestExpenseAmount",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "us-gaap:SubsequentEventsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "clwt_20f.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"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis",
     "presentation": [
      "http://euro-tech.com/role/AccountsReceivableNetDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Notes Loans And Financing Receivable By Receivable Type Axis",
        "documentation": "Information by type of receivable."
       }
      }
     },
     "auth_ref": [
      "r80",
      "r86"
     ]
    },
    "us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis",
     "presentation": [
      "http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails",
      "http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails4"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Billing Status, Type [Axis]",
        "documentation": "Information by billing status of receivables."
       }
      }
     },
     "auth_ref": [
      "r80",
      "r86"
     ]
    },
    "us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
     "presentation": [
      "http://euro-tech.com/role/OtherPayablesAndAccruedExpenses"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Other payables and accrued expenses",
        "label": "Accounts Payable and Accrued Liabilities Disclosure [Text Block]",
        "documentation": "The entire disclosure for accounts payable and accrued liabilities at the end of the reporting period."
       }
      }
     },
     "auth_ref": [
      "r68",
      "r71",
      "r75",
      "r1066"
     ]
    },
    "us-gaap_AccountsPayableAndAccruedLiabilitiesFairValueDisclosure": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsPayableAndAccruedLiabilitiesFairValueDisclosure",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/OtherPayablesAndAccruedExpensesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Other payables and accrued expenses",
        "label": "[Accounts Payable and Accrued Liabilities, Fair Value Disclosure]",
        "documentation": "Fair value portion of trade and related party payables and accrued expenses."
       }
      }
     },
     "auth_ref": [
      "r1080",
      "r1081",
      "r1085"
     ]
    },
    "us-gaap_AccountsPayableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsPayableCurrent",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts payable",
        "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r68",
      "r889"
     ]
    },
    "us-gaap_AccountsReceivableGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsReceivableGross",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/AccountsReceivableNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract receivables",
        "documentation": "Amount, before allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business."
       }
      }
     },
     "auth_ref": [
      "r213",
      "r320",
      "r321",
      "r1103"
     ]
    },
    "us-gaap_AccountsReceivableNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsReceivableNet",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/AccountsReceivableNetDetails",
      "http://euro-tech.com/role/AccountsReceivableNetDetails2",
      "http://euro-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts receivable, net",
        "verboseLabel": "Accounts receivable, net",
        "terseLabel": "Accounts receivable",
        "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business."
       }
      }
     },
     "auth_ref": [
      "r762",
      "r818",
      "r911",
      "r1102",
      "r1103"
     ]
    },
    "us-gaap_AccountsReceivableNetAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsReceivableNetAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts receivable net"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccretionExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccretionExpense",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/LandUseRightNetDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Amortization expense",
        "label": "[Accretion Expense]",
        "documentation": "Amount recognized for the passage of time, typically for liabilities, that have been discounted to their net present values. Excludes accretion associated with asset retirement obligations."
       }
      }
     },
     "auth_ref": [
      "r864",
      "r1025"
     ]
    },
    "us-gaap_AccrualForTaxesOtherThanIncomeTaxesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccrualForTaxesOtherThanIncomeTaxesCurrent",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/OtherPayablesAndAccruedExpensesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other tax payables",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for real and property taxes. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r71",
      "r838",
      "r1066"
     ]
    },
    "us-gaap_AccruedBonusesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccruedBonusesCurrent",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/OtherPayablesAndAccruedExpensesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued expenses",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for incentive compensation awarded to employees and directors or earned by them based on the terms of one or more relevant arrangements. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r71"
     ]
    },
    "clwt_AccruedOperatingExpenses": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "AccruedOperatingExpenses",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/OtherPayablesAndAccruedExpensesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accruals for operating expenses"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_Accumulated": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "Accumulated",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/PropertyPlantAndEquipmentNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Accumulated",
        "label": "[Accumulated]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/LeaseObligationsDetails2",
      "http://euro-tech.com/role/PropertyPlantAndEquipmentNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Accumulated depreciation and impairment losses",
        "label": "[Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment]",
        "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services."
       }
      }
     },
     "auth_ref": [
      "r43",
      "r209",
      "r680"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Accumulated other comprehensive loss",
        "label": "[Accumulated Other Comprehensive Income (Loss), Net of Tax]",
        "documentation": "Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source."
       }
      }
     },
     "auth_ref": [
      "r17",
      "r18",
      "r90",
      "r215",
      "r674",
      "r718",
      "r719"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccumulatedOtherComprehensiveIncomeMember",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Accumulated other comprehensive loss",
        "label": "AOCI Attributable to Parent [Member]",
        "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners."
       }
      }
     },
     "auth_ref": [
      "r2",
      "r10",
      "r18",
      "r542",
      "r545",
      "r582",
      "r714",
      "r715",
      "r980",
      "r981",
      "r982",
      "r993",
      "r994",
      "r995",
      "r997"
     ]
    },
    "us-gaap_AdditionalPaidInCapital": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdditionalPaidInCapital",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional paid-in capital",
        "documentation": "Amount of excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock."
       }
      }
     },
     "auth_ref": [
      "r81",
      "r889",
      "r1134"
     ]
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdditionalPaidInCapitalMember",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "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": [
      "r737",
      "r993",
      "r994",
      "r995",
      "r997",
      "r1078",
      "r1135"
     ]
    },
    "dei_AddressTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AddressTypeDomain",
     "presentation": [
      "http://euro-tech.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "An entity may have several addresses for different purposes and this domain represents all such types."
       }
      }
     },
     "auth_ref": []
    },
    "clwt_AdjustmentInAdvancesToAffiliatesAmountOfEquityProfit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "AdjustmentInAdvancesToAffiliatesAmountOfEquityProfit",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity in profit of affiliates"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments to reconcile net income to net cash provided by (used in) operating activities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AdvertisingCostsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdvertisingCostsPolicyTextBlock",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Advertising and promotional expenses",
        "documentation": "Disclosure of accounting policy for advertising cost."
       }
      }
     },
     "auth_ref": [
      "r162"
     ]
    },
    "us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock",
     "presentation": [
      "http://euro-tech.com/role/AccountsReceivableNetTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Allowance for doubtful accounts activity",
        "documentation": "Tabular disclosure of allowance for credit loss on financing receivable."
       }
      }
     },
     "auth_ref": [
      "r149",
      "r1012"
     ]
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AllowanceForDoubtfulAccountsReceivable",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/AccountsReceivableNetDetails",
      "http://euro-tech.com/role/AccountsReceivableNetDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Less: allowance for doubtful accounts",
        "label": "[Accounts Receivable, Allowance for Credit Loss]",
        "periodStartLabel": "Balance at beginning of period",
        "periodEndLabel": "Balance at end of period",
        "documentation": "Amount of allowance for credit loss on accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r216",
      "r325",
      "r363",
      "r367",
      "r369",
      "r1103"
     ]
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivablePeriodIncreaseDecrease": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AllowanceForDoubtfulAccountsReceivablePeriodIncreaseDecrease",
     "presentation": [
      "http://euro-tech.com/role/AccountsReceivableNetDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Add: provision for allowances",
        "documentation": "Amount of increase (decrease) in allowance for credit loss on accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r1012"
     ]
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AllowanceForDoubtfulAccountsReceivableWriteOffs",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/AccountsReceivableNetDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Less: write-off of doubtful accounts",
        "label": "[Accounts Receivable, Allowance for Credit Loss, Writeoff]",
        "documentation": "Amount of direct write-downs of accounts receivable charged against the allowance."
       }
      }
     },
     "auth_ref": [
      "r368"
     ]
    },
    "clwt_AllowanceForDoubtfulAccountsReceivables": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "AllowanceForDoubtfulAccountsReceivables",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/AccountsReceivableNetDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Less: allowance for doubtful accounts",
        "label": "[Less: allowance for doubtful accounts]"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_AllowanceForDoubtfulAccountsReversal": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "AllowanceForDoubtfulAccountsReversal",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/OtherIncomeAndOtherLossesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Reversal of allowance for doubtful accounts",
        "label": "[Reversal of allowance for doubtful accounts]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_AmendmentFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AmendmentFlag",
     "presentation": [
      "http://euro-tech.com/role/Cover"
     ],
     "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://euro-tech.com/role/ConsolidatedStatementsOfCashFlows",
      "http://euro-tech.com/role/IntangibleAssetsNetDetails1"
     ],
     "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",
      "r397",
      "r403",
      "r863"
     ]
    },
    "clwt_AmortizationOfLandUseRight": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "AmortizationOfLandUseRight",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amortization of land use right"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AmortizationOfLeasedAsset": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AmortizationOfLeasedAsset",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/LeaseObligationsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amortization expenses",
        "documentation": "The expense charged against earnings for the periodic recognition of capitalized leases. This element may apply to energy companies that lease mineral producing properties and to other enterprises that capitalize property, plant, or equipment obtained through capital leases."
       }
      }
     },
     "auth_ref": [
      "r144",
      "r156"
     ]
    },
    "clwt_AmortizationOnRightOfUseAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "AmortizationOnRightOfUseAssets",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amortization on right-of-use assets"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_AmountsWaivedByPayees": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "AmountsWaivedByPayees",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/OtherIncomeAndOtherLossesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amounts waived by payees"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_AppropriationOfReserves": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "AppropriationOfReserves",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Appropriation of reserves"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_AppropriationToStatutoryReserve": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "AppropriationToStatutoryReserve",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Appropriation to statutory reserve"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_Assets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Assets",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedBalanceSheets",
      "http://euro-tech.com/role/InvestmentsInAffiliatesDetails1",
      "http://euro-tech.com/role/SegmentInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "TOTAL ASSETS",
        "verboseLabel": "Assets",
        "terseLabel": "Total assets",
        "documentation": "Amount of asset recognized for present right to economic benefit."
       }
      }
     },
     "auth_ref": [
      "r132",
      "r148",
      "r212",
      "r243",
      "r275",
      "r281",
      "r307",
      "r311",
      "r360",
      "r416",
      "r417",
      "r418",
      "r419",
      "r420",
      "r421",
      "r422",
      "r423",
      "r424",
      "r534",
      "r538",
      "r553",
      "r670",
      "r768",
      "r854",
      "r855",
      "r889",
      "r918",
      "r1031",
      "r1032",
      "r1094"
     ]
    },
    "us-gaap_AssetsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AssetsAbstract",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ASSETS"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AssetsCurrent",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedBalanceSheets",
      "http://euro-tech.com/role/InvestmentsInAffiliatesDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total current assets",
        "verboseLabel": "Current assets",
        "documentation": "Amount of asset recognized for present right to economic benefit, classified as current."
       }
      }
     },
     "auth_ref": [
      "r203",
      "r221",
      "r243",
      "r360",
      "r416",
      "r417",
      "r418",
      "r419",
      "r420",
      "r421",
      "r422",
      "r423",
      "r424",
      "r534",
      "r538",
      "r553",
      "r889",
      "r1031",
      "r1032",
      "r1094"
     ]
    },
    "us-gaap_AssetsCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AssetsCurrentAbstract",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current asset:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AssetsNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AssetsNoncurrent",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedBalanceSheets",
      "http://euro-tech.com/role/InvestmentsInAffiliatesDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total non-current assets",
        "verboseLabel": "Non-current assets",
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold or consumed after one year or beyond the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r243",
      "r360",
      "r416",
      "r417",
      "r418",
      "r419",
      "r420",
      "r421",
      "r422",
      "r423",
      "r424",
      "r534",
      "r538",
      "r553",
      "r1031",
      "r1032",
      "r1094"
     ]
    },
    "us-gaap_AssetsNoncurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AssetsNoncurrentAbstract",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-current assets:"
       }
      }
     },
     "auth_ref": []
    },
    "dei_AuditorFirmId": {
     "xbrltype": "nonemptySequenceNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AuditorFirmId",
     "presentation": [
      "http://euro-tech.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Firm Id",
        "documentation": "PCAOB issued Audit Firm Identifier"
       }
      }
     },
     "auth_ref": [
      "r923",
      "r924",
      "r936"
     ]
    },
    "dei_AuditorLocation": {
     "xbrltype": "internationalNameItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AuditorLocation",
     "presentation": [
      "http://euro-tech.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Location"
       }
      }
     },
     "auth_ref": [
      "r923",
      "r924",
      "r936"
     ]
    },
    "dei_AuditorName": {
     "xbrltype": "internationalNameItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AuditorName",
     "presentation": [
      "http://euro-tech.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Name"
       }
      }
     },
     "auth_ref": [
      "r923",
      "r924",
      "r936"
     ]
    },
    "clwt_AverageUsefulLifeOfACompany": {
     "xbrltype": "durationItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "AverageUsefulLifeOfACompany",
     "presentation": [
      "http://euro-tech.com/role/CommitmentsAndContingenciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Average life of a company"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_BacklogRevenueRemainingPerformanceObligation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "BacklogRevenueRemainingPerformanceObligation",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Backlog as ending balance",
        "label": "[Backlog as ending balance]"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_BankBorrowingsDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "BankBorrowingsDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Bank borrowings"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_BankBorrowingsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "BankBorrowingsDisclosureTextBlock",
     "presentation": [
      "http://euro-tech.com/role/BankBorrowings"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Bank borrowings",
        "label": "[Bank borrowings]"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_BankLoanBorrowedBySubsidiariesOfTheCompanysMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "BankLoanBorrowedBySubsidiariesOfTheCompanysMember",
     "presentation": [
      "http://euro-tech.com/role/BankBorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Bank Loan Borrowed by Subsidiaries of the Company"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_BankLoanBorrowedByTheCompanysMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "BankLoanBorrowedByTheCompanysMember",
     "presentation": [
      "http://euro-tech.com/role/BankBorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Bank Loan Borrowed by the Company"
       }
      }
     },
     "auth_ref": []
    },
    "srt_BankLoans": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "BankLoans",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/BankBorrowingsDetails",
      "http://euro-tech.com/role/PropertyPlantAndEquipmentNetDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Bank loans",
        "verboseLabel": "Bank loan",
        "documentation": "Amount of short-term bank loan secured by broker-dealer customer's security."
       }
      }
     },
     "auth_ref": [
      "r970"
     ]
    },
    "us-gaap_BasicEarningsPerShareAdjustmentProForma": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BasicEarningsPerShareAdjustmentProForma",
     "presentation": [
      "http://euro-tech.com/role/StockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Bonus shares adjustments",
        "documentation": "Pro Forma Basic Earnings Per Share Adjustment to reconcile between Net Income and Pro Forma."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Basis of presentation",
        "documentation": "The entire disclosure for the basis of presentation and significant accounting policies concepts. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS). Accounting policies describe all significant accounting policies of the reporting entity."
       }
      }
     },
     "auth_ref": [
      "r109"
     ]
    },
    "us-gaap_BilledRevenuesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BilledRevenuesMember",
     "presentation": [
      "http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails4"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Deferred revenue",
        "label": "Billed Revenues [Member]",
        "documentation": "Billed amounts due for services rendered or products shipped. This element is distinct from Billed contracts receivables because this is based on noncontract transactions."
       }
      }
     },
     "auth_ref": []
    },
    "clwt_BillingsToDate": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "BillingsToDate",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Less: billings to date",
        "label": "[Less: billings to date]"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_BluesSkyMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "BluesSkyMember",
     "presentation": [
      "http://euro-tech.com/role/InvestmentsInAffiliatesDetails1",
      "http://euro-tech.com/role/InvestmentsInAffiliatesDetails2",
      "http://euro-tech.com/role/InvestmentsInAffiliatesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Blue Sky"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_BorrowedBySubsidiariesCompanyMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "BorrowedBySubsidiariesCompanyMember",
     "presentation": [
      "http://euro-tech.com/role/BankBorrowingsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Borrowed By Subsidiaries Company"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_BorrowedByTheCompanyMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "BorrowedByTheCompanyMember",
     "presentation": [
      "http://euro-tech.com/role/BankBorrowingsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Borrowed By The Company"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_BottomsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "BottomsMember",
     "presentation": [
      "http://euro-tech.com/role/OtherTaxesPayableDetailsNarrative",
      "http://euro-tech.com/role/PensionPlanDetailsNarrative",
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Bottoms",
        "verboseLabel": "Bottoms"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BuildingAndBuildingImprovementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BuildingAndBuildingImprovementsMember",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Buildings and Leasehold Improvements",
        "documentation": "Facility held for productive use including, but not limited to, office, production, storage and distribution facilities and any addition, improvement, or renovation to the structure, for example, but not limited to, interior masonry, interior flooring, electrical, and plumbing."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BuildingsAndImprovementsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BuildingsAndImprovementsGross",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/PropertyPlantAndEquipmentNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Building and leasehold improvements",
        "documentation": "Amount before accumulated depreciation of building structures held for productive use including addition, improvement, or renovation to the structure, including, but not limited to, interior masonry, interior flooring, electrical, and plumbing."
       }
      }
     },
     "auth_ref": [
      "r115"
     ]
    },
    "clwt_BuildingsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "BuildingsGross",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/PropertyPlantAndEquipmentNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Office premises"
       }
      }
     },
     "auth_ref": []
    },
    "dei_BusinessContactMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "BusinessContactMember",
     "presentation": [
      "http://euro-tech.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Contact [Member]",
        "documentation": "Business contact for the entity"
       }
      }
     },
     "auth_ref": [
      "r924",
      "r936"
     ]
    },
    "clwt_CNMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "CNMember",
     "presentation": [
      "http://euro-tech.com/role/RiskFactorsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PRC"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_CapitalExpendituresGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "CapitalExpendituresGross",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/SegmentInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Capital expenditures, gross"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_CapitalInjectionProceedFromInvestment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "CapitalInjectionProceedFromInvestment",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "(Capital injection)/proceed from investment"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_CapitalReserve": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "CapitalReserve",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Capital reserve",
        "label": "[Capital reserve]"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_CapitalReserveDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "CapitalReserveDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Capital reserve"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_CapitalReserveDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "CapitalReserveDisclosureTextBlock",
     "presentation": [
      "http://euro-tech.com/role/CapitalReserve"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Capital reserve",
        "label": "[Capital reserve 1]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CapitalizedContractCostImpairmentLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CapitalizedContractCostImpairmentLoss",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Impairment loss on contract assets",
        "documentation": "Amount of impairment loss for asset recognized from cost incurred to obtain or fulfill contract with customer."
       }
      }
     },
     "auth_ref": [
      "r380"
     ]
    },
    "us-gaap_Cash": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Cash",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash",
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Excludes cash and cash equivalents within disposal group and discontinued operation."
       }
      }
     },
     "auth_ref": [
      "r158",
      "r672",
      "r738",
      "r760",
      "r889",
      "r918",
      "r972"
     ]
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and cash equivalents",
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation."
       }
      }
     },
     "auth_ref": [
      "r21",
      "r206",
      "r836"
     ]
    },
    "us-gaap_CashAndCashEquivalentsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashAndCashEquivalentsPolicyTextBlock",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Cash and cash equivalents",
        "label": "Cash and Cash Equivalents, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates fair value."
       }
      }
     },
     "auth_ref": [
      "r22"
     ]
    },
    "us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Restricted cash",
        "label": "Cash and Cash Equivalents, Restricted Cash and Cash Equivalents, Policy [Policy Text Block]",
        "documentation": "Entity's cash and cash equivalents accounting policy with respect to restricted balances. Restrictions may include legally restricted deposits held as compensating balances against short-term borrowing arrangements, contracts entered into with others, or company statements of intention with regard to particular deposits; however, time deposits and short-term certificates of deposit are not generally included in legally restricted deposits."
       }
      }
     },
     "auth_ref": [
      "r22",
      "r130"
     ]
    },
    "clwt_CashCashEquivalentsAndShortTermAndLongTermInvestmentsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "CashCashEquivalentsAndShortTermAndLongTermInvestmentsTextBlock",
     "presentation": [
      "http://euro-tech.com/role/ShortTermAndLongTermInvestments"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Short-term and long-term investments",
        "label": "[Short-term and long-term investments]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "BEGINNING OF YEAR",
        "label": "[Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents]",
        "periodEndLabel": "END OF YEAR",
        "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",
      "r106",
      "r240"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net increase in cash and cash equivalents",
        "documentation": "Amount of increase (decrease) in cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; excluding 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": [
      "r1",
      "r106"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net change in cash, cash equivalents and restricted cash",
        "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": [
      "r1",
      "r106"
     ]
    },
    "clwt_ChangeInNonCurrentAssetsAndLiabilitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "ChangeInNonCurrentAssetsAndLiabilitiesAbstract",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Change in non-current assets and liabilities:"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_ClassificationOfContractAssetsNetAndLiabilitiesPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "ClassificationOfContractAssetsNetAndLiabilitiesPolicyTextBlock",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Classification of contract assets, net and liabilities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommitmentsAndContingencies": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommitmentsAndContingencies",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Commitments and contingencies",
        "label": "[Commitments and Contingencies]",
        "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur."
       }
      }
     },
     "auth_ref": [
      "r76",
      "r135",
      "r671",
      "r751"
     ]
    },
    "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://euro-tech.com/role/CommitmentsAndContingencies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Commitments and contingencies",
        "label": "Commitments and Contingencies Disclosure [Text Block]",
        "documentation": "The entire disclosure for commitments and contingencies."
       }
      }
     },
     "auth_ref": [
      "r118",
      "r414",
      "r415",
      "r820",
      "r1021",
      "r1026"
     ]
    },
    "us-gaap_CommonStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockMember",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Ordinary Share",
        "documentation": "Stock that is subordinate to all other stock of the issuer."
       }
      }
     },
     "auth_ref": [
      "r908",
      "r909",
      "r910",
      "r912",
      "r913",
      "r914",
      "r915",
      "r993",
      "r994",
      "r997",
      "r1078",
      "r1133",
      "r1135"
     ]
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockSharesAuthorized",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock, authorized",
        "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws."
       }
      }
     },
     "auth_ref": [
      "r79",
      "r752"
     ]
    },
    "us-gaap_CommonStockSharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockSharesIssued",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedBalanceSheetsParenthetical",
      "http://euro-tech.com/role/OrdinaryShareDetails",
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock, issued",
        "verboseLabel": "Common stock, issued",
        "terseLabel": "Common stock, 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": [
      "r79"
     ]
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockSharesOutstanding",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedBalanceSheetsParenthetical",
      "http://euro-tech.com/role/OrdinaryShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock, outstanding",
        "verboseLabel": "Total",
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r79",
      "r752",
      "r774",
      "r1135",
      "r1136"
     ]
    },
    "us-gaap_CommonStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockValue",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Ordinary share, 20,000,000 shares authorized and no par value; 7,899,832 and 7,899,832 issued and outstanding as of December 31, 2024 and 2023",
        "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": [
      "r79",
      "r673",
      "r889"
     ]
    },
    "clwt_CompensationIncome": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "CompensationIncome",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/OtherIncomeAndOtherLossesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation income"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ComprehensiveIncomeNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ComprehensiveIncomeNetOfTax",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "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, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners."
       }
      }
     },
     "auth_ref": [
      "r19",
      "r223",
      "r225",
      "r232",
      "r664",
      "r688",
      "r690"
     ]
    },
    "us-gaap_ComprehensiveIncomeNetOfTaxAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ComprehensiveIncomeNetOfTaxAbstract",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other comprehensive income (loss):"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Comprehensive income (loss) attributable to noncontrolling interests",
        "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": [
      "r4",
      "r55",
      "r59",
      "r223",
      "r225",
      "r231",
      "r663",
      "r688",
      "r689"
     ]
    },
    "us-gaap_ComprehensiveIncomePolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ComprehensiveIncomePolicyPolicyTextBlock",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Comprehensive income",
        "documentation": "Disclosure of accounting policy for comprehensive income."
       }
      }
     },
     "auth_ref": []
    },
    "clwt_ConcentrationPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "ConcentrationPercentage",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration percentage"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ConcentrationRiskBenchmarkDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskBenchmarkDomain",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The denominator in a calculation of a disclosed concentration risk percentage."
       }
      }
     },
     "auth_ref": [
      "r31",
      "r32",
      "r60",
      "r61",
      "r319",
      "r819"
     ]
    },
    "us-gaap_ConcentrationRiskByBenchmarkAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskByBenchmarkAxis",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Benchmark [Axis]",
        "documentation": "Information by benchmark of concentration risk."
       }
      }
     },
     "auth_ref": [
      "r31",
      "r32",
      "r60",
      "r61",
      "r319",
      "r720",
      "r819"
     ]
    },
    "us-gaap_ConcentrationRiskCreditRisk": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskCreditRisk",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentrations",
        "documentation": "Disclosure of accounting policy for credit risk."
       }
      }
     },
     "auth_ref": [
      "r64",
      "r165"
     ]
    },
    "us-gaap_ConcentrationRiskCreditRiskFinancialInstrumentMaximumExposure": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskCreditRiskFinancialInstrumentMaximumExposure",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/RiskFactorsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration of credit risk",
        "documentation": "Maximum amount of loss due to credit risk that, based on the gross fair value of the financial instrument, the entity would incur if parties to the financial instruments that make up the concentration failed completely to perform according to the terms of the contracts and the collateral or other security, if any, for the amount due proved to be of no value to the entity."
       }
      }
     },
     "auth_ref": [
      "r62"
     ]
    },
    "us-gaap_ConcentrationRiskCustomer": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskCustomer",
     "presentation": [
      "http://euro-tech.com/role/SegmentInformationDetails3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customers accounting for more than 5% of the Group's revenue",
        "documentation": "Description of risks that arise due to the volume of business transacted with a particular customer. At a minimum, the description informs financial statement users of the general nature of the risk, but excludes \"Information about Major Customers\" that may be disclosed elsewhere (for instance, segment disclosures)."
       }
      }
     },
     "auth_ref": [
      "r30",
      "r32",
      "r111"
     ]
    },
    "us-gaap_ConcentrationRiskSupplier": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskSupplier",
     "presentation": [
      "http://euro-tech.com/role/SegmentInformationDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplier accounting for more than 5% of Group's purchases",
        "documentation": "Description of risks that arise due to the volume of business transacted with a particular supplier or reliance placed on that supplier. At a minimum, the description informs financial statement users of the general nature of the risk."
       }
      }
     },
     "auth_ref": [
      "r30",
      "r32",
      "r36",
      "r111"
     ]
    },
    "srt_ConsolidatedEntitiesAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "ConsolidatedEntitiesAxis",
     "presentation": [
      "http://euro-tech.com/role/AccountsReceivableNet",
      "http://euro-tech.com/role/AccountsReceivableNetDetails",
      "http://euro-tech.com/role/AccountsReceivableNetDetails1",
      "http://euro-tech.com/role/AccountsReceivableNetDetails2",
      "http://euro-tech.com/role/AccountsReceivableNetTables",
      "http://euro-tech.com/role/BankBorrowings",
      "http://euro-tech.com/role/BankBorrowingsDetails",
      "http://euro-tech.com/role/BankBorrowingsDetailsNarrative",
      "http://euro-tech.com/role/BankBorrowingsTable",
      "http://euro-tech.com/role/CapitalReserve",
      "http://euro-tech.com/role/CommitmentsAndContingencies",
      "http://euro-tech.com/role/ConsolidatedBalanceSheets",
      "http://euro-tech.com/role/ConsolidatedBalanceSheetsParenthetical",
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows",
      "http://euro-tech.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss",
      "http://euro-tech.com/role/ContractAssetsAndLiabilities",
      "http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails",
      "http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails1",
      "http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails2",
      "http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails3",
      "http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails4",
      "http://euro-tech.com/role/ContractAssetsAndLiabilitiesTables",
      "http://euro-tech.com/role/IncomeTaxes",
      "http://euro-tech.com/role/IncomeTaxesDetails",
      "http://euro-tech.com/role/IncomeTaxesDetails1",
      "http://euro-tech.com/role/IncomeTaxesDetails2",
      "http://euro-tech.com/role/IncomeTaxesTables",
      "http://euro-tech.com/role/IntangibleAssetsNet",
      "http://euro-tech.com/role/IntangibleAssetsNetDetails",
      "http://euro-tech.com/role/IntangibleAssetsNetDetails1",
      "http://euro-tech.com/role/IntangibleAssetsNetDetails2",
      "http://euro-tech.com/role/IntangibleAssetsNetTable",
      "http://euro-tech.com/role/Inventories",
      "http://euro-tech.com/role/InventoriesDetails",
      "http://euro-tech.com/role/InventoriesTables",
      "http://euro-tech.com/role/LandUseRightNet",
      "http://euro-tech.com/role/LandUseRightNetDetails",
      "http://euro-tech.com/role/LandUseRightNetDetails1",
      "http://euro-tech.com/role/LandUseRightNetDetails2",
      "http://euro-tech.com/role/LandUseRightNetDetailsNarrative",
      "http://euro-tech.com/role/LandUseRightNetTable",
      "http://euro-tech.com/role/LeaseObligations",
      "http://euro-tech.com/role/LeaseObligationsDetails",
      "http://euro-tech.com/role/LeaseObligationsDetails1",
      "http://euro-tech.com/role/LeaseObligationsDetails2",
      "http://euro-tech.com/role/LeaseObligationsTables",
      "http://euro-tech.com/role/OrganizationAndBusinessBackground",
      "http://euro-tech.com/role/OrganizationAndBusinessBackgroundTables",
      "http://euro-tech.com/role/OrganizationAndBusinessDetails",
      "http://euro-tech.com/role/OtherIncomeAndOtherLosses",
      "http://euro-tech.com/role/OtherIncomeAndOtherLossesDetails",
      "http://euro-tech.com/role/OtherIncomeAndOtherLossesDetails1",
      "http://euro-tech.com/role/OtherIncomeAndOtherLossesTable",
      "http://euro-tech.com/role/OtherPayablesAndAccruedExpenses",
      "http://euro-tech.com/role/OtherPayablesAndAccruedExpensesDetails",
      "http://euro-tech.com/role/OtherPayablesAndAccruedExpensesTables",
      "http://euro-tech.com/role/OtherTaxesPayable",
      "http://euro-tech.com/role/OtherTaxesPayableDetailsNarrative",
      "http://euro-tech.com/role/PensionPlan",
      "http://euro-tech.com/role/PensionPlanDetailsNarrative",
      "http://euro-tech.com/role/PrepaymentsAndOtherCurrentAssets",
      "http://euro-tech.com/role/PrepaymentsAndOtherCurrentAssetsDetails",
      "http://euro-tech.com/role/PrepaymentsAndOtherCurrentAssetsTables",
      "http://euro-tech.com/role/PropertyPlantAndEquipmentNet",
      "http://euro-tech.com/role/PropertyPlantAndEquipmentNetDetails",
      "http://euro-tech.com/role/PropertyPlantAndEquipmentNetDetails1",
      "http://euro-tech.com/role/PropertyPlantAndEquipmentNetDetailsNarrative",
      "http://euro-tech.com/role/PropertyPlantAndEquipmentNetTables",
      "http://euro-tech.com/role/RelatedPartyTransactions",
      "http://euro-tech.com/role/RelatedPartyTransactionsDetailsNarrative",
      "http://euro-tech.com/role/RiskFactors",
      "http://euro-tech.com/role/RiskFactorsDetailsNarrative",
      "http://euro-tech.com/role/ShortTermAndLongTermInvestments",
      "http://euro-tech.com/role/ShortTermAndLongTermInvestmentsDetailsNarrative",
      "http://euro-tech.com/role/SubsequentEvents",
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPolicies",
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetails1",
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative",
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies",
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consolidated Entities [Axis]",
        "documentation": "Information by consolidated entity or group of entities."
       }
      }
     },
     "auth_ref": [
      "r175",
      "r190",
      "r245",
      "r534",
      "r535",
      "r538",
      "r539",
      "r589",
      "r825",
      "r967",
      "r968",
      "r969",
      "r1030",
      "r1033",
      "r1034"
     ]
    },
    "srt_ConsolidatedEntitiesDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "ConsolidatedEntitiesDomain",
     "presentation": [
      "http://euro-tech.com/role/AccountsReceivableNet",
      "http://euro-tech.com/role/AccountsReceivableNetDetails",
      "http://euro-tech.com/role/AccountsReceivableNetDetails1",
      "http://euro-tech.com/role/AccountsReceivableNetDetails2",
      "http://euro-tech.com/role/AccountsReceivableNetTables",
      "http://euro-tech.com/role/BankBorrowings",
      "http://euro-tech.com/role/BankBorrowingsDetails",
      "http://euro-tech.com/role/BankBorrowingsDetailsNarrative",
      "http://euro-tech.com/role/BankBorrowingsTable",
      "http://euro-tech.com/role/CapitalReserve",
      "http://euro-tech.com/role/CommitmentsAndContingencies",
      "http://euro-tech.com/role/ConsolidatedBalanceSheets",
      "http://euro-tech.com/role/ConsolidatedBalanceSheetsParenthetical",
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows",
      "http://euro-tech.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss",
      "http://euro-tech.com/role/ContractAssetsAndLiabilities",
      "http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails",
      "http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails1",
      "http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails2",
      "http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails3",
      "http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails4",
      "http://euro-tech.com/role/ContractAssetsAndLiabilitiesTables",
      "http://euro-tech.com/role/IncomeTaxes",
      "http://euro-tech.com/role/IncomeTaxesDetails",
      "http://euro-tech.com/role/IncomeTaxesDetails1",
      "http://euro-tech.com/role/IncomeTaxesDetails2",
      "http://euro-tech.com/role/IncomeTaxesTables",
      "http://euro-tech.com/role/IntangibleAssetsNet",
      "http://euro-tech.com/role/IntangibleAssetsNetDetails",
      "http://euro-tech.com/role/IntangibleAssetsNetDetails1",
      "http://euro-tech.com/role/IntangibleAssetsNetDetails2",
      "http://euro-tech.com/role/IntangibleAssetsNetTable",
      "http://euro-tech.com/role/Inventories",
      "http://euro-tech.com/role/InventoriesDetails",
      "http://euro-tech.com/role/InventoriesTables",
      "http://euro-tech.com/role/LandUseRightNet",
      "http://euro-tech.com/role/LandUseRightNetDetails",
      "http://euro-tech.com/role/LandUseRightNetDetails1",
      "http://euro-tech.com/role/LandUseRightNetDetails2",
      "http://euro-tech.com/role/LandUseRightNetDetailsNarrative",
      "http://euro-tech.com/role/LandUseRightNetTable",
      "http://euro-tech.com/role/LeaseObligations",
      "http://euro-tech.com/role/LeaseObligationsDetails",
      "http://euro-tech.com/role/LeaseObligationsDetails1",
      "http://euro-tech.com/role/LeaseObligationsDetails2",
      "http://euro-tech.com/role/LeaseObligationsTables",
      "http://euro-tech.com/role/OrganizationAndBusinessBackground",
      "http://euro-tech.com/role/OrganizationAndBusinessBackgroundTables",
      "http://euro-tech.com/role/OrganizationAndBusinessDetails",
      "http://euro-tech.com/role/OtherIncomeAndOtherLosses",
      "http://euro-tech.com/role/OtherIncomeAndOtherLossesDetails",
      "http://euro-tech.com/role/OtherIncomeAndOtherLossesDetails1",
      "http://euro-tech.com/role/OtherIncomeAndOtherLossesTable",
      "http://euro-tech.com/role/OtherPayablesAndAccruedExpenses",
      "http://euro-tech.com/role/OtherPayablesAndAccruedExpensesDetails",
      "http://euro-tech.com/role/OtherPayablesAndAccruedExpensesTables",
      "http://euro-tech.com/role/OtherTaxesPayable",
      "http://euro-tech.com/role/OtherTaxesPayableDetailsNarrative",
      "http://euro-tech.com/role/PensionPlan",
      "http://euro-tech.com/role/PensionPlanDetailsNarrative",
      "http://euro-tech.com/role/PrepaymentsAndOtherCurrentAssets",
      "http://euro-tech.com/role/PrepaymentsAndOtherCurrentAssetsDetails",
      "http://euro-tech.com/role/PrepaymentsAndOtherCurrentAssetsTables",
      "http://euro-tech.com/role/PropertyPlantAndEquipmentNet",
      "http://euro-tech.com/role/PropertyPlantAndEquipmentNetDetails",
      "http://euro-tech.com/role/PropertyPlantAndEquipmentNetDetails1",
      "http://euro-tech.com/role/PropertyPlantAndEquipmentNetDetailsNarrative",
      "http://euro-tech.com/role/PropertyPlantAndEquipmentNetTables",
      "http://euro-tech.com/role/RelatedPartyTransactions",
      "http://euro-tech.com/role/RelatedPartyTransactionsDetailsNarrative",
      "http://euro-tech.com/role/RiskFactors",
      "http://euro-tech.com/role/RiskFactorsDetailsNarrative",
      "http://euro-tech.com/role/ShortTermAndLongTermInvestments",
      "http://euro-tech.com/role/ShortTermAndLongTermInvestmentsDetailsNarrative",
      "http://euro-tech.com/role/SubsequentEvents",
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPolicies",
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetails1",
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative",
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies",
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Entity or group of entities consolidated into reporting entity."
       }
      }
     },
     "auth_ref": [
      "r175",
      "r190",
      "r245",
      "r534",
      "r535",
      "r538",
      "r539",
      "r589",
      "r825",
      "r967",
      "r968",
      "r969",
      "r1030",
      "r1033",
      "r1034"
     ]
    },
    "us-gaap_ConsolidationPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConsolidationPolicyTextBlock",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Basis 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": [
      "r56",
      "r842"
     ]
    },
    "us-gaap_ConsolidationSubsidiariesOrOtherInvestmentsConsolidatedEntitiesPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConsolidationSubsidiariesOrOtherInvestmentsConsolidatedEntitiesPolicy",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsidiaries",
        "documentation": "Disclosure of accounting policy for subsidiaries or other investments that are consolidated, including the accounting treatment for intercompany accounts or transactions and any noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r161"
     ]
    },
    "dei_ContactPersonnelName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "ContactPersonnelName",
     "presentation": [
      "http://euro-tech.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contact Personnel Name",
        "documentation": "Name of contact personnel"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_ContractAssetsAndContractLiabilitiesPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "ContractAssetsAndContractLiabilitiesPolicyTextBlock",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract Assets and Contract Liabilities"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_ContractLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "ContractLiabilitiesCurrent",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Contract liabilities",
        "label": "[Contract liabilities]"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_ContractRevenueAdjustment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "ContractRevenueAdjustment",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract adjustment"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_ContractRevenueRecognizedForTheYear": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "ContractRevenueRecognizedForTheYear",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract revenue recognized for the year"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails4"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Less: allowance for doubtful accounts",
        "label": "[Contract with Customer, Asset, Allowance for Credit Loss]",
        "documentation": "Amount of allowance for credit loss for right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time."
       }
      }
     },
     "auth_ref": [
      "r363",
      "r367",
      "r369",
      "r458"
     ]
    },
    "us-gaap_ContractWithCustomerAssetAndLiabilityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ContractWithCustomerAssetAndLiabilityAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract assets and liabilities"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_ContractWithCustomerAssetAndLiabilityDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "ContractWithCustomerAssetAndLiabilityDisclosureTextBlock",
     "presentation": [
      "http://euro-tech.com/role/ContractAssetsAndLiabilities"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Contract assets and liabilities",
        "label": "[Contract assets and liabilities]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ContractWithCustomerAssetAndLiabilityTableTextBlock",
     "presentation": [
      "http://euro-tech.com/role/ContractAssetsAndLiabilitiesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Contract assets and liabilities",
        "label": "Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block]",
        "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": [
      "r1037"
     ]
    },
    "us-gaap_ContractWithCustomerAssetGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ContractWithCustomerAssetGross",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails4"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Gross contract assets",
        "documentation": "Amount, before allowance for credit loss, of right to consideration in exchange for good or service transferred to customer, when right is conditioned on something other than passage of time."
       }
      }
     },
     "auth_ref": [
      "r151",
      "r370",
      "r1035",
      "r1036"
     ]
    },
    "clwt_ContractWithCustomerAssetLiabilityNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "ContractWithCustomerAssetLiabilityNet",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails2",
      "http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails4"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net contract (liabilities) / assets",
        "verboseLabel": "Net contract liabilities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ContractWithCustomerAssetNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ContractWithCustomerAssetNet",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedBalanceSheets",
      "http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails",
      "http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails2",
      "http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails4"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract assets",
        "verboseLabel": "Contract assets",
        "terseLabel": "Contract assets",
        "documentation": "Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time."
       }
      }
     },
     "auth_ref": [
      "r456",
      "r458",
      "r461"
     ]
    },
    "clwt_ContractWithCustomerEngineering": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "ContractWithCustomerEngineering",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails5"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Engineering (revenue recognized over time)"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ContractWithCustomerLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ContractWithCustomerLiability",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Contract liabilities: deferred revenue",
        "label": "[Contract with Customer, Liability]",
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable."
       }
      }
     },
     "auth_ref": [
      "r456",
      "r457",
      "r461"
     ]
    },
    "us-gaap_ContractWithCustomerLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ContractWithCustomerLiabilityCurrent",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract liabilities",
        "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": [
      "r456",
      "r457",
      "r461"
     ]
    },
    "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ContractWithCustomerLiabilityRevenueRecognized",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract liability revenue recognized",
        "documentation": "Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due."
       }
      }
     },
     "auth_ref": [
      "r462"
     ]
    },
    "clwt_ContractWithCustomerNetAssetLiabilityPositionTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "ContractWithCustomerNetAssetLiabilityPositionTableTextBlock",
     "presentation": [
      "http://euro-tech.com/role/ContractAssetsAndLiabilitiesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net (liability) / asset position for contracts in process"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_ContractWithCustomerRemainingPerformanceObligation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "ContractWithCustomerRemainingPerformanceObligation",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Remaining performance obligation"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_ContractWithCustomerTradingAndManufacturing": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "ContractWithCustomerTradingAndManufacturing",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails5"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading and manufacturing (revenue recognized at point in time)"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_CostOfEngineering": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "CostOfEngineering",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Engineering",
        "label": "[Engineering 1]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CostOfRevenue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CostOfRevenue",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Cost of revenue",
        "label": "[Cost of Revenue]",
        "documentation": "The aggregate cost of goods produced and sold and services rendered during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r93",
      "r243",
      "r360",
      "r416",
      "r417",
      "r418",
      "r419",
      "r420",
      "r421",
      "r422",
      "r423",
      "r424",
      "r553",
      "r854",
      "r1031"
     ]
    },
    "us-gaap_CostOfRevenueAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CostOfRevenueAbstract",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cost of revenue:"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_CostOfTradingAndManufacturing": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "CostOfTradingAndManufacturing",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Trading and manufacturing",
        "label": "[Trading and manufacturing]"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_CostsAndEstimatedEarningsOnUncompletedContracts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "CostsAndEstimatedEarningsOnUncompletedContracts",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Costs and estimated earnings on uncompleted contracts"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_CostsAndEstimatedEarningsOnUncompletedContractsInExcessOfBillingsUnbilledRevenue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "CostsAndEstimatedEarningsOnUncompletedContractsInExcessOfBillingsUnbilledRevenue",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Unbilled revenue",
        "label": "[Unbilled revenue]"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_CostsIncurredInContractsInProcess": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "CostsIncurredInContractsInProcess",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Costs incurred in contracts in process"
       }
      }
     },
     "auth_ref": []
    },
    "dei_CoverAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "CoverAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Cover [Abstract]",
        "documentation": "Cover page."
       }
      }
     },
     "auth_ref": []
    },
    "dei_CurrentFiscalYearEndDate": {
     "xbrltype": "gMonthDayItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "CurrentFiscalYearEndDate",
     "presentation": [
      "http://euro-tech.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Fiscal Year End Date",
        "documentation": "End date of current fiscal year in the format --MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CurrentIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CurrentIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/IncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income tax expense",
        "documentation": "Amount of current income tax expense (benefit) pertaining to taxable income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r516",
      "r992"
     ]
    },
    "clwt_CurrentTaxExpensesPrcAndHongKong": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "CurrentTaxExpensesPrcAndHongKong",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/IncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current taxes (expense): Hong Kong profits tax and the PRC EIT"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_CurrentsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "CurrentsMember",
     "presentation": [
      "http://euro-tech.com/role/AccountsReceivableNetDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_CustomerDMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "CustomerDMember",
     "presentation": [
      "http://euro-tech.com/role/SegmentInformationDetails3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer D"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CustomerDepositsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CustomerDepositsCurrent",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/OtherPayablesAndAccruedExpensesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deposit received from customers",
        "documentation": "The current portion of money or property received from customers which is either to be returned upon satisfactory contract completion or applied to customer receivables in accordance with the terms of the contract or the understandings."
       }
      }
     },
     "auth_ref": [
      "r143"
     ]
    },
    "clwt_CustomerEMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "CustomerEMember",
     "presentation": [
      "http://euro-tech.com/role/SegmentInformationDetails3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer E"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_CustomerFMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "CustomerFMember",
     "presentation": [
      "http://euro-tech.com/role/SegmentInformationDetails3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer F"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_CustomerGMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "CustomerGMember",
     "presentation": [
      "http://euro-tech.com/role/SegmentInformationDetails3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer G"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_CustomerHMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "CustomerHMember",
     "presentation": [
      "http://euro-tech.com/role/SegmentInformationDetails3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer H"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_CustomerIMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "CustomerIMember",
     "presentation": [
      "http://euro-tech.com/role/SegmentInformationDetails3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer I"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_CustomerOneMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "CustomerOneMember",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer One"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_CustomersAMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "CustomersAMember",
     "presentation": [
      "http://euro-tech.com/role/SegmentInformationDetails3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer A"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_CustomersBMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "CustomersBMember",
     "presentation": [
      "http://euro-tech.com/role/SegmentInformationDetails3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer B"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_CustomersCMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "CustomersCMember",
     "presentation": [
      "http://euro-tech.com/role/SegmentInformationDetails3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer C"
       }
      }
     },
     "auth_ref": []
    },
    "cyd_CybersecurityRiskBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "CybersecurityRiskBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cybersecurity Risk Board Committee or Subcommittee Responsible for Oversight [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r931",
      "r946"
     ]
    },
    "cyd_CybersecurityRiskBoardOfDirectorsOversightTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "CybersecurityRiskBoardOfDirectorsOversightTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cybersecurity Risk Board of Directors Oversight [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r931",
      "r946"
     ]
    },
    "cyd_CybersecurityRiskManagementExpertiseOfManagementResponsibleTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "CybersecurityRiskManagementExpertiseOfManagementResponsibleTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cybersecurity Risk Management Expertise of Management Responsible [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r933",
      "r948"
     ]
    },
    "cyd_CybersecurityRiskManagementPositionsOrCommitteesResponsibleFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "CybersecurityRiskManagementPositionsOrCommitteesResponsibleFlag",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cybersecurity Risk Management Positions or Committees Responsible [Flag]"
       }
      }
     },
     "auth_ref": [
      "r933",
      "r948"
     ]
    },
    "cyd_CybersecurityRiskManagementPositionsOrCommitteesResponsibleReportToBoardFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "CybersecurityRiskManagementPositionsOrCommitteesResponsibleReportToBoardFlag",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cybersecurity Risk Management Positions or Committees Responsible Report to Board [Flag]"
       }
      }
     },
     "auth_ref": [
      "r935",
      "r950"
     ]
    },
    "cyd_CybersecurityRiskManagementPositionsOrCommitteesResponsibleTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "CybersecurityRiskManagementPositionsOrCommitteesResponsibleTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cybersecurity Risk Management Positions or Committees Responsible [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r933",
      "r948"
     ]
    },
    "cyd_CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cybersecurity Risk Management Processes for Assessing, Identifying, and Managing Threats [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r926",
      "r941"
     ]
    },
    "cyd_CybersecurityRiskManagementProcessesIntegratedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "CybersecurityRiskManagementProcessesIntegratedFlag",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cybersecurity Risk Management Processes Integrated [Flag]"
       }
      }
     },
     "auth_ref": [
      "r927",
      "r942"
     ]
    },
    "cyd_CybersecurityRiskManagementProcessesIntegratedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "CybersecurityRiskManagementProcessesIntegratedTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cybersecurity Risk Management Processes Integrated [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r927",
      "r942"
     ]
    },
    "cyd_CybersecurityRiskManagementStrategyAndGovernanceAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "CybersecurityRiskManagementStrategyAndGovernanceAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Cybersecurity Risk Management, Strategy, and Governance [Abstract]"
       }
      }
     },
     "auth_ref": [
      "r925",
      "r940"
     ]
    },
    "cyd_CybersecurityRiskManagementStrategyAndGovernanceLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "CybersecurityRiskManagementStrategyAndGovernanceLineItems",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cybersecurity Risk Management, Strategy, and Governance [Line Items]"
       }
      }
     },
     "auth_ref": [
      "r925",
      "r940"
     ]
    },
    "cyd_CybersecurityRiskManagementStrategyAndGovernanceTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "CybersecurityRiskManagementStrategyAndGovernanceTable",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cybersecurity Risk Management, Strategy, and Governance [Table]"
       }
      }
     },
     "auth_ref": [
      "r925",
      "r940"
     ]
    },
    "cyd_CybersecurityRiskManagementThirdPartyEngagedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "CybersecurityRiskManagementThirdPartyEngagedFlag",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cybersecurity Risk Management Third Party Engaged [Flag]"
       }
      }
     },
     "auth_ref": [
      "r928",
      "r943"
     ]
    },
    "cyd_CybersecurityRiskMateriallyAffectedOrReasonablyLikelyToMateriallyAffectRegistrantFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "CybersecurityRiskMateriallyAffectedOrReasonablyLikelyToMateriallyAffectRegistrantFlag",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cybersecurity Risk Materially Affected or Reasonably Likely to Materially Affect Registrant [Flag]"
       }
      }
     },
     "auth_ref": [
      "r930",
      "r945"
     ]
    },
    "cyd_CybersecurityRiskMateriallyAffectedOrReasonablyLikelyToMateriallyAffectRegistrantTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "CybersecurityRiskMateriallyAffectedOrReasonablyLikelyToMateriallyAffectRegistrantTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cybersecurity Risk Materially Affected or Reasonably Likely to Materially Affect Registrant [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r930",
      "r945"
     ]
    },
    "cyd_CybersecurityRiskProcessForInformingBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "CybersecurityRiskProcessForInformingBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cybersecurity Risk Process for Informing Board Committee or Subcommittee Responsible for Oversight [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r931",
      "r946"
     ]
    },
    "cyd_CybersecurityRiskProcessForInformingManagementOrCommitteesResponsibleTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "CybersecurityRiskProcessForInformingManagementOrCommitteesResponsibleTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cybersecurity Risk Process for Informing Management or Committees Responsible [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r934",
      "r949"
     ]
    },
    "cyd_CybersecurityRiskRoleOfManagementTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "CybersecurityRiskRoleOfManagementTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cybersecurity Risk Role of Management [Text Block]"
       }
      }
     },
     "auth_ref": [
      "r932",
      "r947"
     ]
    },
    "cyd_CybersecurityRiskThirdPartyOversightAndIdentificationProcessesFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/cyd/2024",
     "localname": "CybersecurityRiskThirdPartyOversightAndIdentificationProcessesFlag",
     "presentation": [
      "http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cybersecurity Risk Third Party Oversight and Identification Processes [Flag]"
       }
      }
     },
     "auth_ref": [
      "r929",
      "r944"
     ]
    },
    "us-gaap_DebtInstrumentAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentAxis",
     "presentation": [
      "http://euro-tech.com/role/BankBorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument Axis",
        "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities."
       }
      }
     },
     "auth_ref": [
      "r14",
      "r70",
      "r71",
      "r133",
      "r134",
      "r245",
      "r425",
      "r426",
      "r427",
      "r428",
      "r429",
      "r430",
      "r431",
      "r432",
      "r433",
      "r434",
      "r435",
      "r436",
      "r437",
      "r438",
      "r439",
      "r440",
      "r865",
      "r866",
      "r867",
      "r868",
      "r869",
      "r887",
      "r990",
      "r1022",
      "r1023",
      "r1024",
      "r1088",
      "r1089"
     ]
    },
    "us-gaap_DebtInstrumentNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentNameDomain",
     "presentation": [
      "http://euro-tech.com/role/BankBorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The name for the particular debt instrument or borrowing that distinguishes it from other debt instruments or borrowings, including draws against credit facilities."
       }
      }
     },
     "auth_ref": [
      "r14",
      "r245",
      "r425",
      "r426",
      "r427",
      "r428",
      "r429",
      "r430",
      "r431",
      "r432",
      "r433",
      "r434",
      "r435",
      "r436",
      "r437",
      "r438",
      "r439",
      "r440",
      "r865",
      "r866",
      "r867",
      "r868",
      "r869",
      "r887",
      "r990",
      "r1022",
      "r1023",
      "r1024",
      "r1088",
      "r1089"
     ]
    },
    "us-gaap_DebtWeightedAverageInterestRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtWeightedAverageInterestRate",
     "presentation": [
      "http://euro-tech.com/role/CommitmentsAndContingenciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average interest rate",
        "documentation": "Weighted average interest rate of debt outstanding."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock",
     "presentation": [
      "http://euro-tech.com/role/PrepaymentsAndOtherCurrentAssets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Prepayments and other current assets",
        "label": "Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Table Text Block]",
        "documentation": "Tabular disclosure of the amounts paid in advance for capitalized costs that will be expensed with the passage of time or the occurrence of a triggering event, and will be charged against earnings within one year or the normal operating cycle, if longer; the aggregate carrying amount of current assets, not separately presented elsewhere in the balance sheet; and other deferred costs."
       }
      }
     },
     "auth_ref": []
    },
    "clwt_DeferredGovernmentGrant": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "DeferredGovernmentGrant",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred government grant"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/IncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total deferred tax credit / (expense)",
        "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r8",
      "r172",
      "r992"
     ]
    },
    "us-gaap_DeferredOtherTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredOtherTaxExpenseBenefit",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/IncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred tax expense / (credit)",
        "documentation": "Amount of other deferred income tax expense (benefit) pertaining to income (loss) from continuing operations. For example, but not limited to, acquisition-date income tax benefits or expenses recognized from changes in the acquirer's valuation allowance for its previously existing deferred tax assets resulting from a business combination and adjustments to beginning-of-year balance of a valuation allowance because of a change in circumstance causing a change in judgment about the realizability of the related deferred tax asset in future periods."
       }
      }
     },
     "auth_ref": [
      "r992",
      "r1073"
     ]
    },
    "us-gaap_DeferredRevenue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredRevenue",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Deferred revenue",
        "label": "[Deferred Revenue]",
        "documentation": "Amount of deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable."
       }
      }
     },
     "auth_ref": [
      "r976"
     ]
    },
    "clwt_DeferredTaxAssetTaxLosses": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "DeferredTaxAssetTaxLosses",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/IncomeTaxesDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Tax losses"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_DeferredTaxAssetTemporaryDifferences": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "DeferredTaxAssetTemporaryDifferences",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/IncomeTaxesDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Temporary differences",
        "label": "[Temporary differences]"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_DeferredTaxAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "DeferredTaxAssets",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred tax assets"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxAssetsDeferredIncome": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsDeferredIncome",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/IncomeTaxesDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Deferred government grant",
        "label": "[Deferred Tax Assets, Deferred Income]",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from deferred income."
       }
      }
     },
     "auth_ref": [
      "r1072"
     ]
    },
    "us-gaap_DeferredTaxAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsNet",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/IncomeTaxesDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total deferred tax assets",
        "documentation": "Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards."
       }
      }
     },
     "auth_ref": [
      "r1070"
     ]
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/IncomeTaxesDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Allowance for doubtful accounts",
        "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary difference from allowance for credit loss on accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r1072"
     ]
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsImpairmentLosses": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsImpairmentLosses",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/IncomeTaxesDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Impairment losses on assets",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from estimated impairment losses."
       }
      }
     },
     "auth_ref": [
      "r1072"
     ]
    },
    "us-gaap_DeferredTaxAssetsValuationAllowance": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsValuationAllowance",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/IncomeTaxesDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Less: valuation allowances",
        "label": "[Deferred Tax Assets, Valuation Allowance]",
        "documentation": "Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized."
       }
      }
     },
     "auth_ref": [
      "r510"
     ]
    },
    "clwt_DeferredTaxBenefitPrcAndHongKong": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "DeferredTaxBenefitPrcAndHongKong",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/IncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred tax credit / (expenses): Hong Kong and the PRC"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_DeferredtaxassetstaxdeferrechangeInFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "DeferredtaxassetstaxdeferrechangeInFairValue",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/IncomeTaxesDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Change in fair value"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DepositAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DepositAssets",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/PrepaymentsAndOtherCurrentAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deposits paid",
        "documentation": "The carrying amount of the asset transferred to a third party to serve as a deposit, which typically serves as security against failure by the transferor to perform under terms of an agreement."
       }
      }
     },
     "auth_ref": [
      "r974"
     ]
    },
    "clwt_DepositsPaidForBiddingProjectsAndTemporaryPayments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "DepositsPaidForBiddingProjectsAndTemporaryPayments",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/PrepaymentsAndOtherCurrentAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deposits paid for bidding projects and temporary payments"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_DepositsReceivedAndTemporaryReceipts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "DepositsReceivedAndTemporaryReceipts",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/OtherPayablesAndAccruedExpensesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deposits received and temporary receipts"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_Depreciation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Depreciation",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows",
      "http://euro-tech.com/role/SegmentInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Depreciation of property, plant and equipment",
        "verboseLabel": "Depreciation",
        "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation."
       }
      }
     },
     "auth_ref": [
      "r8",
      "r42"
     ]
    },
    "us-gaap_DepreciationDepletionAndAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DepreciationDepletionAndAmortization",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/PropertyPlantAndEquipmentNetDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Depreciation charge",
        "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",
      "r275",
      "r286",
      "r311",
      "r854",
      "r855"
     ]
    },
    "us-gaap_DerivativeInstrumentDetailAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DerivativeInstrumentDetailAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Risk factors"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock",
     "presentation": [
      "http://euro-tech.com/role/RiskFactors"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Risk factors",
        "label": "Derivative Instruments and Hedging Activities Disclosure [Text Block]",
        "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": [
      "r129",
      "r540",
      "r547"
     ]
    },
    "us-gaap_DisaggregationOfRevenueTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DisaggregationOfRevenueTableTextBlock",
     "presentation": [
      "http://euro-tech.com/role/ContractAssetsAndLiabilitiesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Disaggregated revenue from contracts",
        "documentation": "Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor."
       }
      }
     },
     "auth_ref": [
      "r1038"
     ]
    },
    "clwt_DividendPaid": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "DividendPaid",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Dividend paid",
        "label": "[Dividend paid 1]"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_DividendPaidAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "DividendPaidAmount",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Dividend paid",
        "label": "[Dividend paid]"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_DividendYieldRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "DividendYieldRate",
     "presentation": [
      "http://euro-tech.com/role/CommitmentsAndContingenciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Dividend yield rate"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DividendsAndInterestPaid": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DividendsAndInterestPaid",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Dividend paid to shareholders and interest paid",
        "label": "[Dividends and Interest Paid]",
        "documentation": "The contractual amount of dividends (or interest on participating income bonds) that must be paid for the current period (for example, unpaid cumulative dividends)."
       }
      }
     },
     "auth_ref": [
      "r110"
     ]
    },
    "us-gaap_DividendsPayableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DividendsPayableCurrent",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/OtherPayablesAndAccruedExpensesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Dividend payables",
        "documentation": "Carrying value as of the balance sheet date of dividends declared but unpaid on equity securities issued by the entity and outstanding. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r71"
     ]
    },
    "dei_DocumentAccountingStandard": {
     "xbrltype": "accountingStandardItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentAccountingStandard",
     "presentation": [
      "http://euro-tech.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Accounting Standard",
        "documentation": "The basis of accounting the registrant has used to prepare the financial statements included in this filing This can either be 'U.S. GAAP', 'International Financial Reporting Standards', or 'Other'."
       }
      }
     },
     "auth_ref": [
      "r924"
     ]
    },
    "dei_DocumentAnnualReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentAnnualReport",
     "presentation": [
      "http://euro-tech.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Annual Report",
        "documentation": "Boolean flag that is true only for a form used as an annual report."
       }
      }
     },
     "auth_ref": [
      "r923",
      "r924",
      "r936"
     ]
    },
    "dei_DocumentFiscalPeriodFocus": {
     "xbrltype": "fiscalPeriodItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentFiscalPeriodFocus",
     "presentation": [
      "http://euro-tech.com/role/Cover"
     ],
     "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://euro-tech.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Fiscal Year Focus",
        "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentInformationLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentInformationLineItems",
     "presentation": [
      "http://euro-tech.com/role/Cover"
     ],
     "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."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentInformationTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentInformationTable",
     "presentation": [
      "http://euro-tech.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Container to support the formal attachment of each official or unofficial, public or private document as part of a submission package."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentPeriodEndDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentPeriodEndDate",
     "presentation": [
      "http://euro-tech.com/role/Cover"
     ],
     "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_DocumentRegistrationStatement": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentRegistrationStatement",
     "presentation": [
      "http://euro-tech.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Registration Statement",
        "documentation": "Boolean flag that is true only for a form used as a registration statement."
       }
      }
     },
     "auth_ref": [
      "r919"
     ]
    },
    "dei_DocumentShellCompanyReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentShellCompanyReport",
     "presentation": [
      "http://euro-tech.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Shell Company Report",
        "documentation": "Boolean flag that is true for a Shell Company Report pursuant to section 13 or 15(d) of the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r924"
     ]
    },
    "dei_DocumentTransitionReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentTransitionReport",
     "presentation": [
      "http://euro-tech.com/role/Cover"
     ],
     "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": [
      "r937"
     ]
    },
    "dei_DocumentType": {
     "xbrltype": "submissionTypeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentType",
     "presentation": [
      "http://euro-tech.com/role/Cover"
     ],
     "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_EarningsPerShareAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerShareAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Net income per ordinary share"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareDiluted": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerShareDiluted",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net income per ordinary share attributable to Euro Tech Holdings Company Limited- Basic and Diluted",
        "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r233",
      "r251",
      "r252",
      "r253",
      "r254",
      "r255",
      "r256",
      "r263",
      "r266",
      "r268",
      "r269",
      "r274",
      "r529",
      "r532",
      "r550",
      "r551",
      "r665",
      "r691",
      "r846"
     ]
    },
    "us-gaap_EarningsPerSharePolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerSharePolicyTextBlock",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Net income per ordinary share",
        "label": "Earnings Per Share, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements."
       }
      }
     },
     "auth_ref": [
      "r28",
      "r29",
      "r271"
     ]
    },
    "us-gaap_EarningsPerShareTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerShareTextBlock",
     "presentation": [
      "http://euro-tech.com/role/NetIncomePerOrdinaryShare"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Net income per ordinary share",
        "label": "Earnings Per Share [Text Block]",
        "documentation": "The entire disclosure for earnings per share."
       }
      }
     },
     "auth_ref": [
      "r261",
      "r270",
      "r272",
      "r273"
     ]
    },
    "clwt_EarningsRatioMediumPriceDescription": {
     "xbrltype": "stringItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "EarningsRatioMediumPriceDescription",
     "presentation": [
      "http://euro-tech.com/role/CommitmentsAndContingenciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Description of earnings ratio price"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_EffectOfExchangeRateOnCashCashEquivalents": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "EffectOfExchangeRateOnCashCashEquivalents",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Cash and cash equivalents",
        "label": "[Cash and cash equivalents]"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCash": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCash",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and cash equivalents restricted cash"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Foreign currency translation adjustment",
        "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": [
      "r555"
     ]
    },
    "clwt_EffectOfExchangeRateOnRestrictedCash": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "EffectOfExchangeRateOnRestrictedCash",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Restricted cash",
        "label": "[Restricted cash]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
     "presentation": [
      "http://euro-tech.com/role/IncomeTaxesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income tax rate",
        "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss)."
       }
      }
     },
     "auth_ref": [
      "r244",
      "r499",
      "r519",
      "r873"
     ]
    },
    "clwt_EmployeesPensionPlanDescription": {
     "xbrltype": "stringItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "EmployeesPensionPlanDescription",
     "presentation": [
      "http://euro-tech.com/role/PensionPlanDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Description related to pension plan"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_EngineeringServiceMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "EngineeringServiceMember",
     "presentation": [
      "http://euro-tech.com/role/RelatedPartyTransactionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Engineering Service"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_EngineeringsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "EngineeringsMember",
     "presentation": [
      "http://euro-tech.com/role/SegmentInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Engineering",
        "label": "[Engineering 2]"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_EnterpriseExpansionFundMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "EnterpriseExpansionFundMember",
     "presentation": [
      "http://euro-tech.com/role/PrcStatutoryReservesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Enterprise Expansion Fund"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine1": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressAddressLine1",
     "presentation": [
      "http://euro-tech.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address Address Line 1",
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine2": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressAddressLine2",
     "presentation": [
      "http://euro-tech.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address Address Line 2",
        "documentation": "Address Line 2 such as Street or Suite number"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressCityOrTown": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressCityOrTown",
     "presentation": [
      "http://euro-tech.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address City Or Town",
        "documentation": "Name of the City or Town"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressCountry": {
     "xbrltype": "countryCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressCountry",
     "presentation": [
      "http://euro-tech.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address Country",
        "documentation": "ISO 3166-1 alpha-2 country code."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressPostalZipCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressPostalZipCode",
     "presentation": [
      "http://euro-tech.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address Postal Zip Code",
        "documentation": "Code for the postal or zip code"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressesAddressTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressesAddressTypeAxis",
     "presentation": [
      "http://euro-tech.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Addresses Address Type [Axis]",
        "documentation": "The axis of a table defines the relationship between the domain members or categories in the table and the line items or concepts that complete the table."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityCentralIndexKey": {
     "xbrltype": "centralIndexKeyItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityCentralIndexKey",
     "presentation": [
      "http://euro-tech.com/role/Cover"
     ],
     "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": [
      "r921"
     ]
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityCommonStockSharesOutstanding",
     "presentation": [
      "http://euro-tech.com/role/Cover"
     ],
     "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://euro-tech.com/role/Cover"
     ],
     "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://euro-tech.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Emerging Growth Company",
        "documentation": "Indicate if registrant meets the emerging growth company criteria."
       }
      }
     },
     "auth_ref": [
      "r921"
     ]
    },
    "dei_EntityFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityFileNumber",
     "presentation": [
      "http://euro-tech.com/role/Cover"
     ],
     "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://euro-tech.com/role/Cover"
     ],
     "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": [
      "r921"
     ]
    },
    "dei_EntityIncorporationStateCountryCode": {
     "xbrltype": "edgarStateCountryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityIncorporationStateCountryCode",
     "presentation": [
      "http://euro-tech.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Incorporation State 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://euro-tech.com/role/Cover"
     ],
     "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": [
      "r951"
     ]
    },
    "dei_EntityRegistrantName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityRegistrantName",
     "presentation": [
      "http://euro-tech.com/role/Cover"
     ],
     "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": [
      "r921"
     ]
    },
    "dei_EntityShellCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityShellCompany",
     "presentation": [
      "http://euro-tech.com/role/Cover"
     ],
     "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": [
      "r921"
     ]
    },
    "dei_EntityVoluntaryFilers": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityVoluntaryFilers",
     "presentation": [
      "http://euro-tech.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Voluntary Filers",
        "documentation": "Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityWellKnownSeasonedIssuer": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityWellKnownSeasonedIssuer",
     "presentation": [
      "http://euro-tech.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Well Known Seasoned Issuer",
        "documentation": "Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A."
       }
      }
     },
     "auth_ref": [
      "r952"
     ]
    },
    "us-gaap_EquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EquityAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Ordinary share"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EquityComponentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EquityComponentDomain",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r199",
      "r227",
      "r228",
      "r229",
      "r246",
      "r247",
      "r248",
      "r250",
      "r255",
      "r257",
      "r259",
      "r276",
      "r361",
      "r362",
      "r410",
      "r455",
      "r517",
      "r518",
      "r526",
      "r527",
      "r528",
      "r530",
      "r531",
      "r532",
      "r541",
      "r542",
      "r543",
      "r544",
      "r545",
      "r546",
      "r549",
      "r556",
      "r557",
      "r558",
      "r559",
      "r560",
      "r561",
      "r565",
      "r567",
      "r582",
      "r686",
      "r714",
      "r715",
      "r716",
      "r737",
      "r797"
     ]
    },
    "srt_EquityMethodInvesteeNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "EquityMethodInvesteeNameDomain",
     "presentation": [
      "http://euro-tech.com/role/OrganizationAndBusinessDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Name of investment including named security. Excludes entity that is consolidated."
       }
      }
     },
     "auth_ref": [
      "r357",
      "r358",
      "r359",
      "r525",
      "r954",
      "r955",
      "r956",
      "r1074",
      "r1075",
      "r1076",
      "r1077"
     ]
    },
    "us-gaap_EquityMethodInvestmentDescriptionOfPrincipalActivities": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EquityMethodInvestmentDescriptionOfPrincipalActivities",
     "presentation": [
      "http://euro-tech.com/role/OrganizationAndBusinessDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Principal activities",
        "documentation": "A description of the principal activities of an investee accounted for under the equity method."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EquityMethodInvestmentsPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EquityMethodInvestmentsPolicy",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Investments in affiliates",
        "label": "Equity Method Investments [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for equity method of accounting for investments and other interests. Investment includes, but is not limited to, unconsolidated subsidiary, corporate joint venture, noncontrolling interest in real estate venture, limited partnership, and limited liability company. Information includes, but is not limited to, ownership percentage, reason equity method is or is not considered appropriate, and accounting policy election for distribution received."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r63",
      "r358"
     ]
    },
    "us-gaap_EquitySecuritiesFvNiRealizedGainLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EquitySecuritiesFvNiRealizedGainLoss",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity in income of affiliates",
        "documentation": "Amount of realized gain (loss) from sale of investment in equity security measured at fair value with change in fair value recognized in net income (FV-NI)."
       }
      }
     },
     "auth_ref": [
      "r693",
      "r1010"
     ]
    },
    "clwt_EstimatedFutureIntangibleAssetsAmortizationExpenseTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "EstimatedFutureIntangibleAssetsAmortizationExpenseTableTextBlock",
     "presentation": [
      "http://euro-tech.com/role/IntangibleAssetsNetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Estimated future intangible assets amortization expense"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_EuroTechFarEastsLimitedMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "EuroTechFarEastsLimitedMember",
     "presentation": [
      "http://euro-tech.com/role/OrganizationAndBusinessDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Euro Tech (Far East) Limited"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_EuroTechTradingShanghaiLimitedMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "EuroTechTradingShanghaiLimitedMember",
     "presentation": [
      "http://euro-tech.com/role/IncomeTaxesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Euro Tech Trading (Shanghai) Limited",
        "label": "[Euro Tech Trading (Shanghai) Limited]"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_EuroTechTradingsLimitedMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "EuroTechTradingsLimitedMember",
     "presentation": [
      "http://euro-tech.com/role/OrganizationAndBusinessDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Euro Tech Trading (Shanghai) Limited"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_ExchangeGainLossNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "ExchangeGainLossNet",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/OtherIncomeNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Exchange gain / (loss), net"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ExtendedProductWarrantyPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ExtendedProductWarrantyPolicy",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Warranties",
        "documentation": "Disclosure of accounting policy for extended product warranties and other guarantee contracts including the methodology for measuring the liability."
       }
      }
     },
     "auth_ref": [
      "r1029"
     ]
    },
    "us-gaap_FairValueMeasurementPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FairValueMeasurementPolicyPolicyTextBlock",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair value measurements",
        "documentation": "Disclosure of accounting policy for fair value measurements of financial and non-financial assets, liabilities and instruments classified in shareholders' equity. Disclosures include, but are not limited to, how an entity that manages a group of financial assets and liabilities on the basis of its net exposure measures the fair value of those assets and liabilities."
       }
      }
     },
     "auth_ref": []
    },
    "clwt_FairValueOfOptions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "FairValueOfOptions",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/CommitmentsAndContingenciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair value of options"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_FairValueOfPutOptions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "FairValueOfPutOptions",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/CommitmentsAndContingenciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Balance, December 31, 2023",
        "label": "[Balance, December 31, 2023]",
        "periodEndLabel": "Balance, December 31, 2024"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_FaitValueGainOnShortTermInvestment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "FaitValueGainOnShortTermInvestment",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/OtherIncomeAndOtherLossesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fait value gain on short term investment"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_FinanceCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "FinanceCosts",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance costs"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_FinanceCostsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "FinanceCostsPolicyTextBlock",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Finance costs",
        "label": "[Finance costs]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FinanceLeaseInterestExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FinanceLeaseInterestExpense",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/LeaseObligationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest on lease liabilities included under cost of revenue and selling and administrative expenses",
        "documentation": "Amount of interest expense on finance lease liability."
       }
      }
     },
     "auth_ref": [
      "r570",
      "r574",
      "r888"
     ]
    },
    "clwt_FinanceLeasePayments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "FinanceLeasePayments",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/LeaseObligationsDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance cash flows from finance leases"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FinanceLeaseRightOfUseAssetAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FinanceLeaseRightOfUseAssetAmortization",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/LeaseObligationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amortization of right-of-use assets",
        "documentation": "Amount of amortization expense attributable to right-of-use asset from finance lease."
       }
      }
     },
     "auth_ref": [
      "r570",
      "r574",
      "r888"
     ]
    },
    "us-gaap_FinancialInstrumentAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FinancialInstrumentAxis",
     "presentation": [
      "http://euro-tech.com/role/StockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financial Instrument [Axis]",
        "documentation": "Information by type of financial instrument."
       }
      }
     },
     "auth_ref": [
      "r327",
      "r328",
      "r329",
      "r330",
      "r331",
      "r332",
      "r333",
      "r334",
      "r335",
      "r336",
      "r337",
      "r338",
      "r339",
      "r340",
      "r341",
      "r342",
      "r343",
      "r344",
      "r345",
      "r346",
      "r347",
      "r348",
      "r349",
      "r350",
      "r351",
      "r352",
      "r353",
      "r354",
      "r355",
      "r356",
      "r364",
      "r366",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r441",
      "r453",
      "r547",
      "r552",
      "r593",
      "r594",
      "r595",
      "r596",
      "r597",
      "r598",
      "r599",
      "r600",
      "r601",
      "r602",
      "r603",
      "r604",
      "r605",
      "r606",
      "r607",
      "r608",
      "r609",
      "r610",
      "r611",
      "r612",
      "r613",
      "r614",
      "r615",
      "r616",
      "r617",
      "r618",
      "r619",
      "r620",
      "r621",
      "r622",
      "r687",
      "r861",
      "r876",
      "r879",
      "r880",
      "r881",
      "r882",
      "r883",
      "r884",
      "r885",
      "r886",
      "r890",
      "r960",
      "r961",
      "r962",
      "r963",
      "r964",
      "r965",
      "r966",
      "r1006",
      "r1007",
      "r1008",
      "r1009",
      "r1079",
      "r1082",
      "r1083",
      "r1084",
      "r1085",
      "r1086"
     ]
    },
    "us-gaap_FiniteLivedContractualRightsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedContractualRightsGross",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/LandUseRightNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Land use right, gross",
        "documentation": "Gross carrying amount before accumulated amortization as of the balance sheet date of an intangible asset that arises from a contractual arrangement with a third party (not including franchise rights and license agreements)."
       }
      }
     },
     "auth_ref": [
      "r973",
      "r1017"
     ]
    },
    "clwt_FiniteLivedIntangibleAssetContractualRightNetLandUseRight": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "FiniteLivedIntangibleAssetContractualRightNetLandUseRight",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/LandUseRightNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Land use right, net",
        "label": "[Land use right, net 2]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/IntangibleAssetsNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Less: Accumulated amortization",
        "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r211",
      "r381",
      "r402",
      "r863"
     ]
    },
    "clwt_FiniteLivedIntangibleAssetsAmortizationExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpense",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/IntangibleAssetsNetDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Total",
        "label": "[Total]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/IntangibleAssetsNetDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Thereafter",
        "documentation": "Amount of amortization for asset, excluding financial asset and goodwill, lacking physical substance with finite life expected to be recognized after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r1018",
      "r1138"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/IntangibleAssetsNetDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2025",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r404",
      "r832",
      "r863"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFive",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/IntangibleAssetsNetDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2029",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r404",
      "r832",
      "r863"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/IntangibleAssetsNetDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2028",
        "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": [
      "r404",
      "r832",
      "r863"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/IntangibleAssetsNetDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2027",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r404",
      "r832",
      "r863"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/IntangibleAssetsNetDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "2026",
        "label": "[Finite-Lived Intangible Asset, Expected Amortization, Year Two]",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r404",
      "r832",
      "r863"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis",
     "presentation": [
      "http://euro-tech.com/role/LeaseObligationsDetails2"
     ],
     "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": [
      "r396",
      "r398",
      "r399",
      "r400",
      "r401",
      "r402",
      "r405",
      "r406",
      "r629",
      "r630",
      "r832"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsGross",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/IntangibleAssetsNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Intangible assets gross",
        "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r381",
      "r402",
      "r630",
      "r863"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain",
     "presentation": [
      "http://euro-tech.com/role/LeaseObligationsDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company."
       }
      }
     },
     "auth_ref": [
      "r396",
      "r398",
      "r399",
      "r400",
      "r401",
      "r402",
      "r405",
      "r406",
      "r832"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsNet",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/IntangibleAssetsNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net carrying amount",
        "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r629",
      "r1017"
     ]
    },
    "us-gaap_FiniteLivedPatentsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedPatentsGross",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/IntangibleAssetsNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Patents",
        "documentation": "Gross carrying amount before accumulated amortization as of the balance sheet date of the costs pertaining to the exclusive legal rights granted to the owner of the patent to exploit an invention or a process for a period of time specified by law. Such costs may have been expended to directly apply and receive patent rights, or to acquire such rights."
       }
      }
     },
     "auth_ref": [
      "r973",
      "r1017"
     ]
    },
    "us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "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": [
      "r554"
     ]
    },
    "clwt_ForeignCurrencyTranslation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "ForeignCurrencyTranslation",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/CommitmentsAndContingenciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Foreign currency translation",
        "label": "[Foreign currency translation]"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_ForeignCurrencyTranslationAdjustment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "ForeignCurrencyTranslationAdjustment",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Foreign currency translation adjustment",
        "label": "[Foreign currency translation adjustment]"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_FourYearsToFiveYearsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "FourYearsToFiveYearsMember",
     "presentation": [
      "http://euro-tech.com/role/AccountsReceivableNetDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "4years - 5 years Member"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FurnitureAndFixturesGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FurnitureAndFixturesGross",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/PropertyPlantAndEquipmentNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Furniture, fixtures and office equipment",
        "label": "[Furniture and Fixtures, Gross]",
        "documentation": "Amount before accumulated depreciation of equipment commonly used in offices and stores that have no permanent connection to the structure of a building or utilities. Examples include, but are not limited to, desks, chairs, tables, and bookcases."
       }
      }
     },
     "auth_ref": [
      "r115"
     ]
    },
    "us-gaap_FurnitureAndFixturesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FurnitureAndFixturesMember",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Furniture, Fixtures and Office Equipment",
        "documentation": "Equipment commonly used in offices and stores that have no permanent connection to the structure of a building or utilities. Examples include, but are not limited to, desks, chairs, tables, and bookcases."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_GainLossOnDispositionOfAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GainLossOnDispositionOfAssets",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows",
      "http://euro-tech.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Loss on disposal of property, plant and equipment",
        "label": "[Gain (Loss) on Disposition of Property Plant Equipment, Excluding Oil and Gas Property and Timber Property]",
        "verboseLabel": "Loss on disposal of property, plant and equipment",
        "documentation": "Amount of gain (loss) on sale or disposal of property, plant and equipment assets, excluding oil and gas property and timber property."
       }
      }
     },
     "auth_ref": [
      "r987",
      "r1019",
      "r1020"
     ]
    },
    "us-gaap_GainOnSaleOfInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GainOnSaleOfInvestments",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair value gain on short term investment",
        "documentation": "The difference between the carrying value and the sale price of an investment. A gain would be recognized when the sale price of the investment is greater than the carrying value of the investment. This element refers to the Gain included in earnings and not to the cash proceeds of the sale."
       }
      }
     },
     "auth_ref": [
      "r983",
      "r984",
      "r987",
      "r1098"
     ]
    },
    "us-gaap_GeneralAndAdministrativeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GeneralAndAdministrativeExpense",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "General and administrative expenses",
        "label": "[General and Administrative Expense]",
        "documentation": "The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line."
       }
      }
     },
     "auth_ref": [
      "r95",
      "r779"
     ]
    },
    "clwt_GeographicalAnalysisOfLonglivedAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "GeographicalAnalysisOfLonglivedAssets",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/SegmentInformationDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical analysis of long-lived assets"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_Goodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Goodwill",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Goodwill",
        "label": "[Goodwill]",
        "documentation": "Amount, after accumulated impairment loss, of asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized."
       }
      }
     },
     "auth_ref": [
      "r210",
      "r383",
      "r662",
      "r855",
      "r862",
      "r878",
      "r889",
      "r1014",
      "r1015"
     ]
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Intangible assets, net"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GoodwillAndIntangibleAssetsGoodwillPolicy",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Goodwill",
        "label": "Goodwill and Intangible Assets, Goodwill, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for goodwill. This accounting policy also may address how an entity assesses and measures impairment of goodwill, how reporting units are determined, how goodwill is allocated to such units, and how the fair values of the reporting units are determined."
       }
      }
     },
     "auth_ref": [
      "r382",
      "r394",
      "r862"
     ]
    },
    "us-gaap_GoodwillDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GoodwillDisclosureTextBlock",
     "presentation": [
      "http://euro-tech.com/role/Goodwill"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Goodwill",
        "label": "Goodwill Disclosure [Text Block]",
        "documentation": "The entire disclosure for goodwill."
       }
      }
     },
     "auth_ref": [
      "r382",
      "r384",
      "r393",
      "r862"
     ]
    },
    "us-gaap_GoodwillGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GoodwillGross",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/GoodwillDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Goodwill",
        "label": "[Goodwill, Gross]",
        "documentation": "Amount, before 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": [
      "r385",
      "r392",
      "r862"
     ]
    },
    "clwt_GovernmentGrantIncomePolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "GovernmentGrantIncomePolicyTextBlock",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Government grant income"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_GovernmentSubsidies": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "GovernmentSubsidies",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/OtherIncomeNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Government subsidies - Employment Support Scheme"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_GrossProfit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GrossProfit",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Gross profit",
        "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity."
       }
      }
     },
     "auth_ref": [
      "r91",
      "r93",
      "r147",
      "r243",
      "r360",
      "r416",
      "r417",
      "r418",
      "r419",
      "r420",
      "r421",
      "r422",
      "r423",
      "r424",
      "r553",
      "r848",
      "r854",
      "r999",
      "r1000",
      "r1001",
      "r1002",
      "r1003",
      "r1031"
     ]
    },
    "clwt_HKMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "HKMember",
     "presentation": [
      "http://euro-tech.com/role/IncomeTaxesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Hong Kong",
        "label": "[Hong Kong 1]"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_HangzhouTiancanEnvironmentalTechnologyCompanysLimitedMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "HangzhouTiancanEnvironmentalTechnologyCompanysLimitedMember",
     "presentation": [
      "http://euro-tech.com/role/OrganizationAndBusinessDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Hangzhou Tiancan Environmental Technology Company Limited"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_HangzhouTianlanEnvironmenstalProtectionEquipmentCompanyLimitedMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "HangzhouTianlanEnvironmenstalProtectionEquipmentCompanyLimitedMember",
     "presentation": [
      "http://euro-tech.com/role/OrganizationAndBusinessDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Hangzhou Tianlan Environmental Protection Equipment Company Limited"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_HangzhouTianlanPureEnvironmentalProtectionTechnologyCompanysLimitedMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "HangzhouTianlanPureEnvironmentalProtectionTechnologyCompanysLimitedMember",
     "presentation": [
      "http://euro-tech.com/role/OrganizationAndBusinessDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Hangzhou Tianlan Pure Environmental Protection Technology Company Limited"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_HangzhouZhongyiEcologicalAndEnvironmentalConsultingCompanyLimitedMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "HangzhouZhongyiEcologicalAndEnvironmentalConsultingCompanyLimitedMember",
     "presentation": [
      "http://euro-tech.com/role/OrganizationAndBusinessDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Hangzhou Zhongyi Ecological And Environmental Consulting Company Limited Member"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_HongKongAndPRCMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "HongKongAndPRCMember",
     "presentation": [
      "http://euro-tech.com/role/RiskFactorsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Hong Kong and PRC [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_HongKongProfitTaxMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "HongKongProfitTaxMember",
     "presentation": [
      "http://euro-tech.com/role/IncomeTaxesDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Hong Kong",
        "label": "[Hong Kong]"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_HongKongsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "HongKongsMember",
     "presentation": [
      "http://euro-tech.com/role/SegmentInformationDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Hong Kong"
       }
      }
     },
     "auth_ref": []
    },
    "dei_IcfrAuditorAttestationFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "IcfrAuditorAttestationFlag",
     "presentation": [
      "http://euro-tech.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Icfr Auditor Attestation Flag"
       }
      }
     },
     "auth_ref": [
      "r923",
      "r924",
      "r936"
     ]
    },
    "clwt_ImpairmentGainOnContractAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "ImpairmentGainOnContractAssets",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/OtherIncomeAndOtherLossesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Impairment gain on contract assets"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_ImpairmentLossOnContractAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "ImpairmentLossOnContractAssets",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/OtherIncomeAndOtherLossesDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Impairment loss on contract assets",
        "label": "[Impairment loss on contract assets]"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_ImpairmentLossOnShortTermInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "ImpairmentLossOnShortTermInvestments",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows",
      "http://euro-tech.com/role/OtherIncomeAndOtherLossesDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Impairment loss on short-term investments",
        "verboseLabel": "Impairment loss on short term investments"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ImpairmentOfLongLivedAssetsHeldForUse": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ImpairmentOfLongLivedAssetsHeldForUse",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Impairment of long-lived assets",
        "documentation": "The aggregate amount of write-downs for impairments recognized during the period for long lived assets held for use (including those held for disposal by means other than sale)."
       }
      }
     },
     "auth_ref": [
      "r8",
      "r41",
      "r116",
      "r877"
     ]
    },
    "us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Impairment of long lived assets",
        "documentation": "Disclosure of accounting policy for recognizing and measuring the impairment of long-lived assets. An entity also may disclose its accounting policy for long-lived assets to be sold. This policy excludes goodwill and intangible assets."
       }
      }
     },
     "auth_ref": [
      "r0",
      "r117"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss",
      "http://euro-tech.com/role/IncomeTaxesDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "INCOME BEFORE INCOME TAXES",
        "verboseLabel": "Income before income tax",
        "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": [
      "r92",
      "r140",
      "r147",
      "r666",
      "r682",
      "r848",
      "r854",
      "r999",
      "r1000",
      "r1001",
      "r1002",
      "r1003"
     ]
    },
    "us-gaap_IncomeStatementAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeStatementAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "CONSOLIDATED STATEMENTS OF OPERATIONS AND COMPREHENSIVE INCOME (LOSS)"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxAuthorityNameAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxAuthorityNameAxis",
     "presentation": [
      "http://euro-tech.com/role/IncomeTaxesDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Authority, Name [Axis]",
        "documentation": "Information by name of taxing authority."
       }
      }
     },
     "auth_ref": [
      "r507",
      "r1071"
     ]
    },
    "us-gaap_IncomeTaxAuthorityNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxAuthorityNameDomain",
     "presentation": [
      "http://euro-tech.com/role/IncomeTaxesDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Named agency, division or body that levies income taxes, examines tax returns for compliance, or grants exemptions from or makes other decisions pertaining to income taxes."
       }
      }
     },
     "auth_ref": [
      "r507",
      "r1071"
     ]
    },
    "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://euro-tech.com/role/IncomeTaxes"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Income taxes",
        "label": "Income Tax Disclosure [Text Block]",
        "documentation": "The entire disclosure for income tax."
       }
      }
     },
     "auth_ref": [
      "r244",
      "r495",
      "r499",
      "r504",
      "r505",
      "r506",
      "r508",
      "r512",
      "r520",
      "r522",
      "r523",
      "r524",
      "r731",
      "r873"
     ]
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxExpenseBenefit",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss",
      "http://euro-tech.com/role/IncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income tax (expense) credit",
        "verboseLabel": "Total credit / (expense)",
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations."
       }
      }
     },
     "auth_ref": [
      "r157",
      "r173",
      "r258",
      "r259",
      "r275",
      "r289",
      "r311",
      "r498",
      "r499",
      "r521",
      "r695",
      "r873"
     ]
    },
    "clwt_IncomeTaxExpensePrcEit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "IncomeTaxExpensePrcEit",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/IncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income tax expense/(credit) PRC EIT"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxPolicyTextBlock",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Income taxes",
        "label": "Income Tax, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements."
       }
      }
     },
     "auth_ref": [
      "r226",
      "r496",
      "r497",
      "r508",
      "r509",
      "r511",
      "r515",
      "r727"
     ]
    },
    "us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/IncomeTaxesDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Change in valuation allowances",
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to increase (decrease) in the valuation allowance for deferred tax assets."
       }
      }
     },
     "auth_ref": [
      "r501",
      "r873",
      "r1067"
     ]
    },
    "us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/IncomeTaxesDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Computed tax using respective companies' statutory tax rates",
        "documentation": "The amount of income tax expense or benefit for the period computed by applying the domestic federal statutory tax rates to pretax income from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r499",
      "r873"
     ]
    },
    "us-gaap_IncomeTaxReconciliationNondeductibleExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxReconciliationNondeductibleExpense",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/IncomeTaxesDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Tax effect of expenses not deductible for tax purposes",
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to nondeductible expenses."
       }
      }
     },
     "auth_ref": [
      "r502",
      "r503",
      "r1067"
     ]
    },
    "us-gaap_IncomeTaxReconciliationNondeductibleExpenseResearchAndDevelopment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxReconciliationNondeductibleExpenseResearchAndDevelopment",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/IncomeTaxesDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Tax effect of special deduction for research and development costs",
        "label": "[Effective Income Tax Rate Reconciliation, Nondeductible Expense, Research and Development, Amount]",
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to nondeductible research and development expense."
       }
      }
     },
     "auth_ref": [
      "r1067",
      "r1069"
     ]
    },
    "us-gaap_IncomeTaxReconciliationOtherAdjustments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxReconciliationOtherAdjustments",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/IncomeTaxesDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Others",
        "label": "[Effective Income Tax Rate Reconciliation, Other Adjustments, Amount]",
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other adjustments."
       }
      }
     },
     "auth_ref": [
      "r873",
      "r1067",
      "r1068"
     ]
    },
    "clwt_IncomeTaxRecoverable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "IncomeTaxRecoverable",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/PrepaymentsAndOtherCurrentAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income tax recoverable"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_IncomeTaxesCreditExpenseAtEffectiveTaxRate": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "IncomeTaxesCreditExpenseAtEffectiveTaxRate",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/IncomeTaxesDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income taxes credit / (expense) at effective tax rate"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxesPaidNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxesPaidNet",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash paid for income taxes",
        "documentation": "Amount, after refund, of cash paid to foreign, federal, state, and local jurisdictions as income tax."
       }
      }
     },
     "auth_ref": [
      "r23",
      "r239",
      "r513",
      "r514"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsPayable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInAccountsPayable",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts payables",
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business."
       }
      }
     },
     "auth_ref": [
      "r7"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "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_IncreaseDecreaseInAccruedIncomeTaxesPayable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInAccruedIncomeTaxesPayable",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Income tax payable",
        "label": "[Increase (Decrease) in Income Taxes Payable]",
        "documentation": "The increase (decrease) during the period in the amount due for taxes based on the reporting entity's earnings or attributable to the entity's income earning process (business presence) within a given jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r7"
     ]
    },
    "us-gaap_IncreaseDecreaseInContractWithCustomerAsset": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInContractWithCustomerAsset",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Contract assets",
        "label": "[Increase (Decrease) in Contract with Customer, Asset]",
        "documentation": "Amount of increase (decrease) in right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time."
       }
      }
     },
     "auth_ref": [
      "r986"
     ]
    },
    "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInContractWithCustomerLiability",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Contract liabilities",
        "label": "[Increase (Decrease) in Contract with Customer, Liability]",
        "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable."
       }
      }
     },
     "auth_ref": [
      "r623",
      "r986"
     ]
    },
    "clwt_IncreaseDecreaseInDeferredGovernmentGrant": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "IncreaseDecreaseInDeferredGovernmentGrant",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Deferred government grant",
        "label": "[Deferred government grant]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInDeferredIncomeTaxes": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInDeferredIncomeTaxes",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred tax expenses",
        "documentation": "The increase (decrease) during the reporting period in the account that represents the temporary difference that results from Income or Loss that is recognized for accounting purposes but not for tax purposes and vice versa."
       }
      }
     },
     "auth_ref": [
      "r7"
     ]
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInInventories",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Inventories",
        "label": "[Increase (Decrease) in Inventories]",
        "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities."
       }
      }
     },
     "auth_ref": [
      "r7"
     ]
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInOperatingCapitalAbstract",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Change in operating assets and liabilities:"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_IncreaseDecreaseInOperatingLeaseLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "IncreaseDecreaseInOperatingLeaseLiabilitiesCurrent",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating lease liabilities, current"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInOperatingLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInOperatingLeaseLiability",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating lease liabilities, non-current",
        "documentation": "Amount of increase (decrease) in obligation for operating lease."
       }
      }
     },
     "auth_ref": [
      "r959",
      "r986"
     ]
    },
    "clwt_IncreaseDecreaseInOperatingLeaseLiabiltyCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "IncreaseDecreaseInOperatingLeaseLiabiltyCurrent",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-term operating lease obligations"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_IncreaseDecreaseInOperatingLeaseRightOfUseAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "IncreaseDecreaseInOperatingLeaseRightOfUseAssets",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating lease right-of-use Assets"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInOtherAccountsPayableAndAccruedLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInOtherAccountsPayableAndAccruedLiabilities",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Other payables and accrued expenses",
        "label": "[Increase (Decrease) in Other Accounts Payable and Accrued Liabilities]",
        "documentation": "The increase (decrease) during the reporting period in other obligations or expenses incurred but not yet paid."
       }
      }
     },
     "auth_ref": [
      "r7"
     ]
    },
    "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Prepayments and other current assets",
        "label": "[Increase (Decrease) in Prepaid Expense and Other Assets]",
        "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r7"
     ]
    },
    "us-gaap_IncreaseDecreaseInPropertyAndOtherTaxesPayable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInPropertyAndOtherTaxesPayable",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Other taxes payable",
        "label": "[Increase (Decrease) in Property and Other Taxes Payable]",
        "documentation": "The increase (decrease) during the period in the amount of cash payments due to taxing authorities for non-income-related taxes."
       }
      }
     },
     "auth_ref": [
      "r7"
     ]
    },
    "clwt_IncreaseDecreaseInRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "IncreaseDecreaseInRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Right-of-use assets and operating lease liabilities"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_IncreaseDecreaseInShortTermInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "IncreaseDecreaseInShortTermInvestments",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Short-term investments",
        "label": "[Short-term investments]"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_InsiderTradingArrLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "InsiderTradingArrLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Arragement [Line Items]"
       }
      }
     },
     "auth_ref": [
      "r938"
     ]
    },
    "clwt_IntangibleAssetsDisclosureTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "IntangibleAssetsDisclosureTableTextBlock",
     "presentation": [
      "http://euro-tech.com/role/IntangibleAssetsNetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amortizable intangible assets"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IntangibleAssetsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IntangibleAssetsDisclosureTextBlock",
     "presentation": [
      "http://euro-tech.com/role/IntangibleAssetsNet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Intangible assets, net",
        "label": "Intangible Assets Disclosure [Text Block]",
        "documentation": "The entire disclosure for all or part of the information related to intangible assets."
       }
      }
     },
     "auth_ref": [
      "r395",
      "r407",
      "r409",
      "r831",
      "r832"
     ]
    },
    "us-gaap_IntangibleAssetsFiniteLivedPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IntangibleAssetsFiniteLivedPolicy",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Intangible assets, net",
        "label": "Intangible Assets, Finite-Lived, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for finite-lived intangible assets. This accounting policy also might address: (1) the amortization method used; (2) the useful lives of such assets; and (3) how the entity assesses and measures impairment of such assets."
       }
      }
     },
     "auth_ref": [
      "r625",
      "r626",
      "r627",
      "r629",
      "r843",
      "r1016"
     ]
    },
    "srt_InterestEarningAssetsNetYield": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "InterestEarningAssetsNetYield",
     "presentation": [
      "http://euro-tech.com/role/InvestmentsInAffiliatesDetails",
      "http://euro-tech.com/role/InvestmentsInAffiliatesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest held",
        "verboseLabel": "Interest held",
        "documentation": "Net yield on interest-earning assets calculated as difference between total interest earned and total interest paid divided by total interest-earning assets."
       }
      }
     },
     "auth_ref": [
      "r174"
     ]
    },
    "us-gaap_InterestExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InterestExpense",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Interest expense",
        "label": "[Interest Expense, Operating and Nonoperating]",
        "documentation": "Amount of interest expense classified as operating and nonoperating. Includes, but is not limited to, cost of borrowing accounted for as interest expense."
       }
      }
     },
     "auth_ref": [
      "r275",
      "r281",
      "r285",
      "r291",
      "r311",
      "r563",
      "r854",
      "r855"
     ]
    },
    "us-gaap_InterestIncomeOther": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InterestIncomeOther",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest income",
        "documentation": "Amount of interest income earned from interest bearing assets classified as other."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InterestPaid": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InterestPaid",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/BankBorrowingsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest paid",
        "documentation": "Amount of cash paid for interest, including, but not limited to, capitalized interest and payment to settle zero-coupon bond attributable to 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; classified as operating and investing activities."
       }
      }
     },
     "auth_ref": [
      "r988"
     ]
    },
    "us-gaap_InterestPaidNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InterestPaidNet",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "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": [
      "r234",
      "r237",
      "r238"
     ]
    },
    "clwt_IntermediateLifePlantsUsefulLifes": {
     "xbrltype": "durationItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "IntermediateLifePlantsUsefulLifes",
     "presentation": [
      "http://euro-tech.com/role/CommitmentsAndContingenciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Useful life"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InventoryDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventories"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InventoryDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryDisclosureTextBlock",
     "presentation": [
      "http://euro-tech.com/role/Inventories"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Inventories",
        "label": "Inventory Disclosure [Text Block]",
        "documentation": "The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory."
       }
      }
     },
     "auth_ref": [
      "r376"
     ]
    },
    "us-gaap_InventoryFinishedGoodsNetOfReserves": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryFinishedGoodsNetOfReserves",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/InventoriesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finished goods",
        "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of merchandise or goods held by the company that are readily available for sale."
       }
      }
     },
     "auth_ref": [
      "r113",
      "r839"
     ]
    },
    "us-gaap_InventoryNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryNet",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedBalanceSheets",
      "http://euro-tech.com/role/InventoriesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Inventories",
        "label": "[Inventory, Net]",
        "terseLabel": "Inventory, net",
        "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r218",
      "r837",
      "r889"
     ]
    },
    "us-gaap_InventoryPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryPolicyTextBlock",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Inventories",
        "label": "Inventory, Policy [Policy Text Block]",
        "documentation": "Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost."
       }
      }
     },
     "auth_ref": [
      "r160",
      "r205",
      "r217",
      "r376",
      "r377",
      "r379",
      "r624",
      "r844"
     ]
    },
    "us-gaap_InventoryRawMaterialsNetOfReserves": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryRawMaterialsNetOfReserves",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/InventoriesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Raw materials",
        "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of unprocessed items to be consumed in the manufacturing or production process."
       }
      }
     },
     "auth_ref": [
      "r113",
      "r841"
     ]
    },
    "us-gaap_InventoryWorkInProcessNetOfReserves": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryWorkInProcessNetOfReserves",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/InventoriesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Work in progress",
        "documentation": "Carrying amount, net of reserves and adjustments, as of the balance sheet date of merchandise or goods which are partially completed. This inventory is generally comprised of raw materials, labor and factory overhead costs, which require further materials, labor and overhead to be converted into finished goods, and which generally require the use of estimates to determine percentage complete and pricing."
       }
      }
     },
     "auth_ref": [
      "r113",
      "r840"
     ]
    },
    "us-gaap_InventoryWriteDown": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryWriteDown",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/InventoriesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Write-down of inventories",
        "documentation": "Amount of loss from reductions in inventory due to subsequent measurement adjustments, including, but not limited to, physical deterioration, obsolescence, or changes in price levels."
       }
      }
     },
     "auth_ref": [
      "r378"
     ]
    },
    "us-gaap_InvestmentIncomeNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InvestmentIncomeNet",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/OtherIncomeAndOtherLossesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investment income",
        "documentation": "Amount after accretion (amortization) of discount (premium), and investment expense, of interest income and dividend income on nonoperating securities."
       }
      }
     },
     "auth_ref": [
      "r96",
      "r97",
      "r99"
     ]
    },
    "clwt_InvestmentLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "InvestmentLoss",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/IncomeTaxesDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investment loss"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InvestmentPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InvestmentPolicyTextBlock",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-term investment",
        "documentation": "Disclosure of accounting policy for investment in financial asset."
       }
      }
     },
     "auth_ref": [
      "r692",
      "r723",
      "r724",
      "r725",
      "r726",
      "r805",
      "r806"
     ]
    },
    "us-gaap_Investments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Investments",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedBalanceSheets",
      "http://euro-tech.com/role/RelatedPartyTransactionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Inventories",
        "label": "[Investments]",
        "terseLabel": "Investment",
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all investments."
       }
      }
     },
     "auth_ref": [
      "r668",
      "r669",
      "r905",
      "r907"
     ]
    },
    "us-gaap_InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVentures": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVentures",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedBalanceSheets",
      "http://euro-tech.com/role/InvestmentsInAffiliatesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Investments in affiliates",
        "label": "[Investments in and Advance to Affiliates, Subsidiaries, Associates, and Joint Ventures]",
        "terseLabel": "Investment in affiliates",
        "documentation": "Amount of investment in equity method investee and investment in and advance to affiliate."
       }
      }
     },
     "auth_ref": [
      "r975"
     ]
    },
    "us-gaap_InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVenturesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVenturesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Investments in affiliates"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InvestmentsInAndAdvancesToAffiliatesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InvestmentsInAndAdvancesToAffiliatesTextBlock",
     "presentation": [
      "http://euro-tech.com/role/InvestmentsInAffiliates"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Investments in affiliates",
        "label": "Investments in and Advances to Affiliates [Table Text Block]",
        "documentation": "Tabular disclosure of investments in and advances to affiliates. Does not include the tabular disclosure of the disaggregation of investments in and advances to affiliates across legal entities."
       }
      }
     },
     "auth_ref": [
      "r1137"
     ]
    },
    "clwt_LandLeaseRightOfUseAsset": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "LandLeaseRightOfUseAsset",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Land use right, net",
        "label": "[Land use right, net]"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_LandUseRightAccumulatedAmortisation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "LandUseRightAccumulatedAmortisation",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/LandUseRightNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Less: accumulated amortization"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_LandUseRightAmortizationExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "LandUseRightAmortizationExpense",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/LandUseRightNetDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Total",
        "label": "[Total 1]"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_LandUseRightAmortizationExpenseNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "LandUseRightAmortizationExpenseNextTwelveMonths",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/LandUseRightNetDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "2026",
        "label": "[2026]"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_LandUseRightAmortizationExpenseThereafter": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "LandUseRightAmortizationExpenseThereafter",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/LandUseRightNetDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Thereafter",
        "label": "[Thereafter]"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_LandUseRightAmortizationExpenseYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "LandUseRightAmortizationExpenseYearFive",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/LandUseRightNetDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "2029",
        "label": "[2029]"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_LandUseRightAmortizationExpenseYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "LandUseRightAmortizationExpenseYearFour",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/LandUseRightNetDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "2028",
        "label": "[2028]"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_LandUseRightAmortizationExpenseYearThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "LandUseRightAmortizationExpenseYearThree",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/LandUseRightNetDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "2027",
        "label": "[2027]"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_LandUseRightAmortizationExpenseYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "LandUseRightAmortizationExpenseYearTwo",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/LandUseRightNetDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "2025",
        "label": "[2025]"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_LandUseRightMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "LandUseRightMember",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Land Use Right"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_LandUseRightNetAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "LandUseRightNetAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Land use right net (Details)"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_LandUseRightNetDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "LandUseRightNetDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Land use right, net"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_LandUseRightNetDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "LandUseRightNetDisclosureTextBlock",
     "presentation": [
      "http://euro-tech.com/role/LandUseRightNet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Land use right, net",
        "label": "[Land use right, net 1]"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_LandUseRightNetEstimatedFutureLandUseRightAmortizationExpenseTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "LandUseRightNetEstimatedFutureLandUseRightAmortizationExpenseTableTextBlock",
     "presentation": [
      "http://euro-tech.com/role/LandUseRightNetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Land use right, net estimated future land use right amortization expense"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_LandUseRightNetTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "LandUseRightNetTableTextBlock",
     "presentation": [
      "http://euro-tech.com/role/LandUseRightNetTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Land use right, net table"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_LandUseRightPledgedBankLoan": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "LandUseRightPledgedBankLoan",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/LandUseRightNetDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Land use right pledged bank loan"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LeaseCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LeaseCost",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/LeaseObligationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total lease cost",
        "documentation": "Amount of lease cost recognized by lessee for lease contract."
       }
      }
     },
     "auth_ref": [
      "r573",
      "r888"
     ]
    },
    "us-gaap_LeaseCostTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LeaseCostTableTextBlock",
     "presentation": [
      "http://euro-tech.com/role/LeaseObligationsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lease expense",
        "documentation": "Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income."
       }
      }
     },
     "auth_ref": [
      "r1090"
     ]
    },
    "clwt_LeaseObligationsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "LeaseObligationsMember",
     "presentation": [
      "http://euro-tech.com/role/LeaseObligationsDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Lease obligations",
        "label": "[Lease obligations]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LeaseholdImprovementsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LeaseholdImprovementsGross",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/PropertyPlantAndEquipmentNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Leasehold improvements",
        "documentation": "Amount before accumulated depreciation of additions or improvements to assets held under a lease arrangement."
       }
      }
     },
     "auth_ref": [
      "r115"
     ]
    },
    "us-gaap_LeaseholdImprovementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LeaseholdImprovementsMember",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Leasehold Improvements",
        "documentation": "Additions or improvements to assets held under a lease arrangement."
       }
      }
     },
     "auth_ref": [
      "r115",
      "r581"
     ]
    },
    "us-gaap_LeasesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LeasesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Lease obligations"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LeasesOfLesseeDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LeasesOfLesseeDisclosureTextBlock",
     "presentation": [
      "http://euro-tech.com/role/LeaseObligations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Lease obligations",
        "label": "Leases of Lessee Disclosure [Text Block]",
        "documentation": "The entire disclosure for lessee entity's leasing arrangements including, but not limited to, all of the following: (a.) The basis on which contingent rental payments are determined, (b.) The existence and terms of renewal or purchase options and escalation clauses, (c.) Restrictions imposed by lease agreements, such as those concerning dividends, additional debt, and further leasing."
       }
      }
     },
     "auth_ref": [
      "r152"
     ]
    },
    "us-gaap_LesseeLeasesPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeLeasesPolicyTextBlock",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lease arrangements",
        "documentation": "Disclosure of accounting policy for leasing arrangement entered into by lessee."
       }
      }
     },
     "auth_ref": [
      "r572"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/LeaseObligationsDetails3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Less: imputed interest",
        "label": "[Lessee, Operating Lease, Liability, Undiscounted Excess Amount]",
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease."
       }
      }
     },
     "auth_ref": [
      "r580"
     ]
    },
    "us-gaap_Liabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Liabilities",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedBalanceSheets",
      "http://euro-tech.com/role/InvestmentsInAffiliatesDetails1",
      "http://euro-tech.com/role/SegmentInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "TOTAL LIABILITIES",
        "verboseLabel": "Liabilities",
        "negatedLabel": "Total liabilities",
        "documentation": "Amount of liability recognized for present obligation requiring transfer or otherwise providing economic benefit to others."
       }
      }
     },
     "auth_ref": [
      "r14",
      "r70",
      "r71",
      "r72",
      "r74",
      "r75",
      "r76",
      "r77",
      "r243",
      "r360",
      "r416",
      "r417",
      "r418",
      "r419",
      "r420",
      "r421",
      "r422",
      "r423",
      "r424",
      "r535",
      "r538",
      "r539",
      "r553",
      "r750",
      "r847",
      "r918",
      "r1031",
      "r1094",
      "r1095"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilitiesAndStockholdersEquity",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "TOTAL LIABILITIES AND SHAREHOLDERS' EQUITY",
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any."
       }
      }
     },
     "auth_ref": [
      "r85",
      "r137",
      "r678",
      "r889",
      "r991",
      "r1011",
      "r1087"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilitiesAndStockholdersEquityAbstract",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "LIABILTIES AND SHAREHOLDERS' EQUITY"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilitiesCurrent",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "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": [
      "r72",
      "r204",
      "r243",
      "r360",
      "r416",
      "r417",
      "r418",
      "r419",
      "r420",
      "r421",
      "r422",
      "r423",
      "r424",
      "r535",
      "r538",
      "r539",
      "r553",
      "r889",
      "r1031",
      "r1094",
      "r1095"
     ]
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilitiesCurrentAbstract",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current liabilities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LiabilitiesNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilitiesNoncurrent",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total non-current liabilities",
        "documentation": "Amount of obligation due after one year or beyond the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r14",
      "r74",
      "r75",
      "r76",
      "r77",
      "r243",
      "r360",
      "r416",
      "r417",
      "r418",
      "r419",
      "r420",
      "r421",
      "r422",
      "r423",
      "r424",
      "r535",
      "r538",
      "r539",
      "r553",
      "r1031",
      "r1094",
      "r1095"
     ]
    },
    "us-gaap_LiabilitiesNoncurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilitiesNoncurrentAbstract",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-current liabilities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditFacilityCurrentBorrowingCapacity",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/CommitmentsAndContingenciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Banking facilities available for overdraft and import and export credits",
        "documentation": "Amount of current borrowing capacity under the credit facility considering any current restrictions on the amount that could be borrowed (for example, borrowings may be limited by the amount of current assets), but without considering any amounts currently outstanding under the facility."
       }
      }
     },
     "auth_ref": [
      "r69",
      "r73"
     ]
    },
    "us-gaap_LoansAssumed1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LoansAssumed1",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/CommitmentsAndContingenciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Bank borrowings",
        "label": "[Loans Assumed]",
        "documentation": "The fair value of loans assumed in noncash investing or financing activities."
       }
      }
     },
     "auth_ref": [
      "r24",
      "r25",
      "r26"
     ]
    },
    "us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LoansNotesTradeAndOtherReceivablesDisclosureTextBlock",
     "presentation": [
      "http://euro-tech.com/role/AccountsReceivableNet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Accounts receivable, net",
        "label": "Loans, Notes, Trade and Other Receivables Disclosure [Text Block]",
        "documentation": "The entire disclosure for claims held for amounts due to entity, excluding financing receivables. Examples include, but are not limited to, trade accounts receivables, notes receivables, loans receivables. Includes disclosure for allowance for credit losses."
       }
      }
     },
     "auth_ref": [
      "r564",
      "r1004"
     ]
    },
    "us-gaap_LongTermInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LongTermInvestments",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedBalanceSheets",
      "http://euro-tech.com/role/InvestmentsInAffiliatesDetails",
      "http://euro-tech.com/role/InvestmentsInAffiliatesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-term investments",
        "verboseLabel": "Long-term investment, at cost, less impairment",
        "terseLabel": "Long-term investment, at cost, less impairment",
        "documentation": "The total amount of investments that are intended to be held for an extended period of time (longer than one operating cycle)."
       }
      }
     },
     "auth_ref": [
      "r207"
     ]
    },
    "us-gaap_MachineryAndEquipmentGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "MachineryAndEquipmentGross",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/PropertyPlantAndEquipmentNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Motor vehicles",
        "documentation": "Amount before accumulated depreciation of tangible personal property used to produce goods and services, including, but is not limited to, tools, dies and molds, computer and office equipment."
       }
      }
     },
     "auth_ref": [
      "r115"
     ]
    },
    "us-gaap_MarketingAndAdvertisingExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "MarketingAndAdvertisingExpense",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Advertising and promotional expenses",
        "label": "[Marketing and Advertising Expense]",
        "documentation": "The total expense recognized in the period for promotion, public relations, and brand or product advertising."
       }
      }
     },
     "auth_ref": [
      "r95"
     ]
    },
    "clwt_MediumDiscountForLackOfMarketability": {
     "xbrltype": "percentItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "MediumDiscountForLackOfMarketability",
     "presentation": [
      "http://euro-tech.com/role/CommitmentsAndContingenciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lack of marketability medium discount"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_MinimumRegisteredCapitalPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "MinimumRegisteredCapitalPercentage",
     "presentation": [
      "http://euro-tech.com/role/PrcStatutoryReservesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Minimum Registered capital percentage"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_MinorityInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "MinorityInterest",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Noncontrolling interests",
        "documentation": "Amount of equity (deficit) attributable to noncontrolling interest. Excludes temporary equity."
       }
      }
     },
     "auth_ref": [
      "r84",
      "r136",
      "r243",
      "r360",
      "r416",
      "r418",
      "r419",
      "r420",
      "r423",
      "r424",
      "r553",
      "r677",
      "r754"
     ]
    },
    "clwt_MoreThanThreeMonthPastDueMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "MoreThanThreeMonthPastDueMember",
     "presentation": [
      "http://euro-tech.com/role/AccountsReceivableNetDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Greater Than or Equal to 91 Days"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net cash 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": [
      "r236"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash flows from financing activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net cash provided by 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": [
      "r236"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash flows from investing activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net cash (used in) 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": [
      "r106",
      "r107",
      "r108"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash flows from operating activities:"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_NetDeferredTaxAssetsLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "NetDeferredTaxAssetsLiabilities",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/IncomeTaxesDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net deferred tax assets / (liabilities)"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_NetIncome": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "NetIncome",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "NET INCOME"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_NetIncomeAttributableToEuroTechHoldingsCompanyLimited": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "NetIncomeAttributableToEuroTechHoldingsCompanyLimited",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net income attributable to Euro Tech Holdings Company Limited"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetIncomeLoss",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity",
      "http://euro-tech.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss",
      "http://euro-tech.com/role/InvestmentsInAffiliatesDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net income",
        "verboseLabel": "Net income for the year",
        "terseLabel": "Net income",
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent."
       }
      }
     },
     "auth_ref": [
      "r94",
      "r108",
      "r141",
      "r202",
      "r222",
      "r224",
      "r229",
      "r243",
      "r249",
      "r251",
      "r252",
      "r253",
      "r254",
      "r255",
      "r258",
      "r259",
      "r264",
      "r360",
      "r416",
      "r417",
      "r418",
      "r419",
      "r420",
      "r421",
      "r422",
      "r423",
      "r424",
      "r529",
      "r532",
      "r551",
      "r553",
      "r685",
      "r776",
      "r795",
      "r796",
      "r916",
      "r1031"
     ]
    },
    "us-gaap_NetIncomeLossAttributableToNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetIncomeLossAttributableToNoncontrollingInterest",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net loss (income) attributable to noncontrolling interests",
        "documentation": "Amount of Net Income (Loss) attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r58",
      "r128",
      "r222",
      "r224",
      "r255",
      "r258",
      "r259",
      "r684",
      "r982"
     ]
    },
    "clwt_NetIncomeLossToPutOptions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "NetIncomeLossToPutOptions",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/CommitmentsAndContingenciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net income (loss)"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_NetIncomePerOrdinarySharePolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "NetIncomePerOrdinarySharePolicyTextBlock",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Net income per ordinary share",
        "label": "[Net income per ordinary share]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetInvestmentInLeaseSale": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetInvestmentInLeaseSale",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/InvestmentsInAffiliatesDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net sales",
        "documentation": "Amount of decrease from sale of net investment in sales-type and direct financing leases."
       }
      }
     },
     "auth_ref": [
      "r365"
     ]
    },
    "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Recent accounting pronouncements",
        "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": []
    },
    "clwt_NewContractRevenueAwardsDuringTheYear": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "NewContractRevenueAwardsDuringTheYear",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "New contract awards during the year"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_NonCashFinanceLeases": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "NonCashFinanceLeases",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finance leases (disclosed in accompanying Note 3)"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_NonControllingInterestsInIncomeLossOfSubsidiaries": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "NonControllingInterestsInIncomeLossOfSubsidiaries",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-controlling interests in (loss) / income of subsidiaries"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_NonControllingInterestsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "NonControllingInterestsPolicyTextBlock",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Non-controlling interests",
        "label": "[Non-controlling interests]"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_NonRule10b51ArrAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NonRule10b51ArrAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non Rule 10b5-1 Arragement Adopted [Flag]"
       }
      }
     },
     "auth_ref": [
      "r939"
     ]
    },
    "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 Arragement Treatment [Flag]"
       }
      }
     },
     "auth_ref": [
      "r939"
     ]
    },
    "us-gaap_NoncontrollingInterestMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NoncontrollingInterestMember",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-controlling Interests",
        "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": [
      "r53",
      "r455",
      "r993",
      "r994",
      "r995",
      "r997",
      "r1135"
     ]
    },
    "clwt_NoncontrollingInterestsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "NoncontrollingInterestsPolicyTextBlock",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-controlling interests"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_OfficePremisesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "OfficePremisesMember",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Office Premises",
        "label": "[Office Premises]"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_OfficerPremisesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "OfficerPremisesMember",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Office Premises"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_OneMonthsPastDueMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "OneMonthsPastDueMember",
     "presentation": [
      "http://euro-tech.com/role/AccountsReceivableNetDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "1 - 30 Days Past Due"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_OneToTwoMonthPastDueMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "OneToTwoMonthPastDueMember",
     "presentation": [
      "http://euro-tech.com/role/AccountsReceivableNetDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "31 - 60 Days Past Due"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_OneYearToTwoYearMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "OneYearToTwoYearMember",
     "presentation": [
      "http://euro-tech.com/role/AccountsReceivableNetDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "1year - 2 years Member"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingExpenses": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingExpenses",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Expenses",
        "documentation": "Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingExpensesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingExpensesAbstract",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating expenses:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingIncomeLoss",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss",
      "http://euro-tech.com/role/InvestmentsInAffiliatesDetails2",
      "http://euro-tech.com/role/SegmentInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "INCOME (LOSS) FROM OPERATION",
        "verboseLabel": "Operating income / (loss)",
        "terseLabel": "Operating income / (loss)",
        "documentation": "The net result for the period of deducting operating expenses from operating revenues."
       }
      }
     },
     "auth_ref": [
      "r147",
      "r848",
      "r999",
      "r1000",
      "r1001",
      "r1002",
      "r1003"
     ]
    },
    "us-gaap_OperatingLeaseCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseCost",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/LeaseObligationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating lease cost",
        "documentation": "Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability."
       }
      }
     },
     "auth_ref": [
      "r575",
      "r888"
     ]
    },
    "us-gaap_OperatingLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseLiability",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/LeaseObligationsDetails2",
      "http://euro-tech.com/role/LeaseObligationsDetails3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total operating lease liabilities",
        "verboseLabel": "Total",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease."
       }
      }
     },
     "auth_ref": [
      "r569"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseLiabilityCurrent",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedBalanceSheets",
      "http://euro-tech.com/role/LeaseObligationsDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current portion of long-term operating lease liabilities",
        "verboseLabel": "Current portion of long-term operating lease obligations",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current."
       }
      }
     },
     "auth_ref": [
      "r569"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedBalanceSheets",
      "http://euro-tech.com/role/LeaseObligationsDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-term operating lease liabilities, net of current portion",
        "verboseLabel": "Long-term operating lease obligations, net of current maturities",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r569"
     ]
    },
    "us-gaap_OperatingLeasePayments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeasePayments",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/LeaseObligationsDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating cash flows from 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": [
      "r571",
      "r577"
     ]
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseRightOfUseAsset",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedBalanceSheets",
      "http://euro-tech.com/role/LeaseObligationsDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating lease right-of-use assets, net",
        "verboseLabel": "Operating lease right-of-use assets",
        "documentation": "Amount of lessee's right to use underlying asset under operating lease."
       }
      }
     },
     "auth_ref": [
      "r568"
     ]
    },
    "us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseRightOfUseAssetAmortizationExpense",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amortization of right-of-use Assets",
        "documentation": "Amount of periodic reduction over lease term of carrying amount of right-of-use asset from operating lease."
       }
      }
     },
     "auth_ref": [
      "r987"
     ]
    },
    "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseWeightedAverageDiscountRatePercent",
     "presentation": [
      "http://euro-tech.com/role/LeaseObligationsDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average discount rate : operating leases",
        "documentation": "Weighted average discount rate for operating lease calculated at point in time."
       }
      }
     },
     "auth_ref": [
      "r579",
      "r888"
     ]
    },
    "us-gaap_OperatingLeasesFutureMinimumPaymentsDue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeasesFutureMinimumPaymentsDue",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/LeaseObligationsDetails3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total lease payments",
        "documentation": "Amount of required minimum rental payments for leases having an initial or remaining non-cancelable letter-terms in excess of one year."
       }
      }
     },
     "auth_ref": [
      "r153",
      "r155"
     ]
    },
    "us-gaap_OperatingLeasesFutureMinimumPaymentsDueCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeasesFutureMinimumPaymentsDueCurrent",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/LeaseObligationsDetails3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Year ending December 31, 2025",
        "documentation": "Amount of required minimum rental payments for operating leases having an initial or remaining non-cancelable lease term in excess of one year due in the next fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date."
       }
      }
     },
     "auth_ref": [
      "r153",
      "r155"
     ]
    },
    "us-gaap_OperatingLeasesFutureMinimumPaymentsDueInTwoYears": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeasesFutureMinimumPaymentsDueInTwoYears",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/LeaseObligationsDetails3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2026",
        "documentation": "Amount of required minimum rental payments for operating leases having an initial or remaining non-cancelable lease term in excess of one year due in the second fiscal year following the latest fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date."
       }
      }
     },
     "auth_ref": [
      "r153",
      "r155"
     ]
    },
    "clwt_OptionsEstimatedUsefulLife": {
     "xbrltype": "durationItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "OptionsEstimatedUsefulLife",
     "presentation": [
      "http://euro-tech.com/role/CommitmentsAndContingenciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Options useful life"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_OptionsStrikePrice": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "OptionsStrikePrice",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/CommitmentsAndContingenciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Strike price of options value"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_OrdinaryShares": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "OrdinaryShares",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Ordinary share",
        "label": "[Ordinary share]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Organization and Business Background"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock",
     "presentation": [
      "http://euro-tech.com/role/OrganizationAndBusinessBackground"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Organization and Business Background",
        "label": "Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block]",
        "documentation": "The entire disclosure for organization, consolidation and basis of presentation of financial statements disclosure."
       }
      }
     },
     "auth_ref": [
      "r66",
      "r126",
      "r721",
      "r722"
     ]
    },
    "us-gaap_OtherAccountsPayableAndAccruedLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherAccountsPayableAndAccruedLiabilities",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Other payables and accrued expenses",
        "label": "[Other Accounts Payable and Accrued Liabilities]",
        "documentation": "Amount of liabilities incurred and payable to vendors for goods and services received classified as other, and expenses incurred but not yet paid, payable within one year or the operating cycle, if longer."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherAssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherAssetsCurrent",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/PrepaymentsAndOtherCurrentAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other current assets",
        "documentation": "Amount of current assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r220",
      "r889"
     ]
    },
    "us-gaap_OtherBorrowings": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherBorrowings",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Bank borrowings",
        "label": "[Other Borrowings]",
        "documentation": "The carrying amount as of the balance sheet date for the aggregate of other miscellaneous borrowings owed by the reporting entity."
       }
      }
     },
     "auth_ref": [
      "r133",
      "r134"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Foreign currency adjustment loss",
        "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": [
      "r3",
      "r686"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossTaxPortionAttributableToParent1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherComprehensiveIncomeLossTaxPortionAttributableToParent1",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Comprehensive income attributable to Euro Tech Holdings Company Limited",
        "documentation": "Amount of tax expense (benefit) allocated to other comprehensive income (loss) attributable to parent entity."
       }
      }
     },
     "auth_ref": [
      "r4",
      "r10",
      "r127"
     ]
    },
    "us-gaap_OtherFiniteLivedIntangibleAssetsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherFiniteLivedIntangibleAssetsGross",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/IntangibleAssetsNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Others",
        "label": "[Other Finite-Lived Intangible Assets, Gross]",
        "documentation": "Amount before accumulated amortization of finite-lived intangible assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r973",
      "r1017"
     ]
    },
    "us-gaap_OtherIncome": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherIncome",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss",
      "http://euro-tech.com/role/OtherIncomeAndOtherLossesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other income",
        "verboseLabel": "Other income",
        "documentation": "Amount of revenue and income classified as other."
       }
      }
     },
     "auth_ref": [
      "r694",
      "r777",
      "r809",
      "r810",
      "r811"
     ]
    },
    "us-gaap_OtherIncomeAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherIncomeAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Other income net"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherIncomeAndExpensesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherIncomeAndExpensesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Other income (Tables)"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_OtherIncomeAndOtherLossesDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "OtherIncomeAndOtherLossesDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Other income and other losses"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_OtherIncomeAndOtherLossesDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "OtherIncomeAndOtherLossesDisclosureTextBlock",
     "presentation": [
      "http://euro-tech.com/role/OtherIncomeAndOtherLosses"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Other income and other losses",
        "label": "[Other income and other losses]"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_OtherIncomeNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "OtherIncomeNet",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other income, net"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_OtherIncomeNetTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "OtherIncomeNetTextBlock",
     "presentation": [
      "http://euro-tech.com/role/OtherIncomeNet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Other income, net",
        "label": "[Other income, net]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherIntangibleAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherIntangibleAssetsNet",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Intangible assets, net",
        "label": "[Other Intangible Assets, Net]",
        "documentation": "Amount after accumulated amortization of finite-lived and indefinite-lived intangible assets classified as other."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherInventoryPurchasedGoods": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherInventoryPurchasedGoods",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/TreasuryStockDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Ordinary share purchased in the open market",
        "documentation": "Gross amount of components used by the entity which are bought from another entity rather than produced by the entity."
       }
      }
     },
     "auth_ref": [
      "r977"
     ]
    },
    "us-gaap_OtherMachineryAndEquipmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherMachineryAndEquipmentMember",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Testing Equipment",
        "documentation": "Other tangible personal property, nonconsumable in nature, with finite lives used to produce goods and services."
       }
      }
     },
     "auth_ref": []
    },
    "clwt_OtherNonoperatingExpenses": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "OtherNonoperatingExpenses",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other losses"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherNonoperatingGainsLosses": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherNonoperatingGainsLosses",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/OtherIncomeAndOtherLossesDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Other losses",
        "label": "[Other Nonoperating Gains (Losses)]",
        "documentation": "Amount of gain (loss) related to nonoperating activities, classified as other."
       }
      }
     },
     "auth_ref": [
      "r98",
      "r100"
     ]
    },
    "us-gaap_OtherNonoperatingIncomeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherNonoperatingIncomeExpense",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total other income, net",
        "documentation": "Amount of income (expense) related to nonoperating activities, classified as other."
       }
      }
     },
     "auth_ref": [
      "r100"
     ]
    },
    "us-gaap_OtherNonoperatingIncomeExpenseAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherNonoperatingIncomeExpenseAbstract",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other income:"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_OtherNonoperatingIncomeNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "OtherNonoperatingIncomeNet",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/OtherIncomeNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Other income, net",
        "label": "[Other income, net 1]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherOwnershipInterestsValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherOwnershipInterestsValue",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ShortTermAndLongTermInvestmentsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Ownership Interests",
        "documentation": "The amount of capital contributed by other unit holders."
       }
      }
     },
     "auth_ref": [
      "r123"
     ]
    },
    "us-gaap_OtherReceivables": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherReceivables",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/PrepaymentsAndOtherCurrentAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other receivables",
        "documentation": "Amount due from parties in nontrade transactions, classified as other."
       }
      }
     },
     "auth_ref": [
      "r214",
      "r761",
      "r855",
      "r1102"
     ]
    },
    "clwt_OtherTaxRecoverable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "OtherTaxRecoverable",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/PrepaymentsAndOtherCurrentAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other tax recoverable"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_OtherTaxesPayableCurrentLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "OtherTaxesPayableCurrentLiabilities",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Other taxes payable",
        "label": "[Other taxes payable]"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_OtherTaxesPayableDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "OtherTaxesPayableDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Other taxes payable"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_OtherTaxesPayableDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "OtherTaxesPayableDisclosureTextBlock",
     "presentation": [
      "http://euro-tech.com/role/OtherTaxesPayable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Other taxes payable",
        "label": "[Other taxes payable 1]"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_OthersGeographicAreaMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "OthersGeographicAreaMember",
     "presentation": [
      "http://euro-tech.com/role/SegmentInformationDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Others"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_OutputValueAddedTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "OutputValueAddedTax",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/OtherPayablesAndAccruedExpensesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Output VAT"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_OverProvisionForIncomeTaxInPriorYears": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "OverProvisionForIncomeTaxInPriorYears",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/IncomeTaxesDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "(Over)-provision for income tax in prior years",
        "label": "[(Over)-provision for income tax in prior years]"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_OverfiveYearsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "OverfiveYearsMember",
     "presentation": [
      "http://euro-tech.com/role/AccountsReceivableNetDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Over five Years"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_PRCStatutoryReserve": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "PRCStatutoryReserve",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PRC statutory reserve"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_PRCStatutoryReserveMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "PRCStatutoryReserveMember",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PRC Statutory Reserves"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_PactAsiaPacificLimitedMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "PactAsiaPacificLimitedMember",
     "presentation": [
      "http://euro-tech.com/role/CommitmentsAndContingenciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Pact Asia Pacific Limited",
        "label": "[Pact Asia Pacific Limited]"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_PactAsiaPacificLimitedsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "PactAsiaPacificLimitedsMember",
     "presentation": [
      "http://euro-tech.com/role/OrganizationAndBusinessDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pact Asia Pacific Limited"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_PactEnvironmentalTechnologyPteLtdMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "PactEnvironmentalTechnologyPteLtdMember",
     "presentation": [
      "http://euro-tech.com/role/OrganizationAndBusinessDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PACT Environmental Technology Pte. Ltd"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PastDueFinancingReceivablesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PastDueFinancingReceivablesTableTextBlock",
     "presentation": [
      "http://euro-tech.com/role/AccountsReceivableNetTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Age analysis of past due account receivables",
        "documentation": "Tabular disclosure of aging analysis for financing receivable."
       }
      }
     },
     "auth_ref": [
      "r150",
      "r151",
      "r860",
      "r1013"
     ]
    },
    "clwt_PastDuesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "PastDuesMember",
     "presentation": [
      "http://euro-tech.com/role/AccountsReceivableNetDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Past Due"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PayablesAndAccrualsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PayablesAndAccrualsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Other payables and accrued expenses"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PaymentsForRepurchaseOfCommonStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PaymentsForRepurchaseOfCommonStock",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Purchase of treasury stock",
        "label": "[Payments for Repurchase of Common Stock]",
        "documentation": "The cash outflow to reacquire common stock during the period."
       }
      }
     },
     "auth_ref": [
      "r104"
     ]
    },
    "us-gaap_PaymentsOfDividends": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PaymentsOfDividends",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Dividend paid",
        "label": "[Payments of Dividends]",
        "documentation": "Cash outflow in the form of capital distributions and dividends to common shareholders, preferred shareholders and noncontrolling interests."
       }
      }
     },
     "auth_ref": [
      "r104"
     ]
    },
    "us-gaap_PaymentsToAcquireIntangibleAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PaymentsToAcquireIntangibleAssets",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Purchase of intangible assets",
        "label": "[Payments to Acquire Intangible Assets]",
        "documentation": "The cash outflow to acquire asset without physical form usually arising from contractual or other legal rights, excluding goodwill."
       }
      }
     },
     "auth_ref": [
      "r103"
     ]
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Payment to acquire property, plant and equipment",
        "label": "[Payments to Acquire Property, Plant, and Equipment]",
        "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets."
       }
      }
     },
     "auth_ref": [
      "r103"
     ]
    },
    "us-gaap_PaymentsToAcquireShortTermInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PaymentsToAcquireShortTermInvestments",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Purchase of short-term investments",
        "label": "[Payments to Acquire Short-Term Investments]",
        "documentation": "The cash outflow for securities or other assets acquired, which qualify for treatment as an investing activity and are to be liquidated, if necessary, within the current operating cycle. Includes cash flows from securities classified as trading securities that were acquired for reasons other than sale in the short-term."
       }
      }
     },
     "auth_ref": [
      "r102"
     ]
    },
    "us-gaap_PensionAndOtherPostretirementBenefitContributionsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PensionAndOtherPostretirementBenefitContributionsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Pension plan"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
     "presentation": [
      "http://euro-tech.com/role/PensionPlan"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Pension plan",
        "label": "Retirement Benefits [Text Block]",
        "documentation": "The entire disclosure for retirement benefits."
       }
      }
     },
     "auth_ref": [
      "r463",
      "r464",
      "r465",
      "r466",
      "r467",
      "r468",
      "r469",
      "r470",
      "r471",
      "r472",
      "r473",
      "r474",
      "r475",
      "r872"
     ]
    },
    "us-gaap_PensionContributions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PensionContributions",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/PensionPlanDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate contributions to pension plans and retirement benefit schemes",
        "documentation": "Amount of cash outflow for pension benefit. Includes, but is not limited to, employer contribution to fund plan asset and payment to retiree. Excludes other postretirement benefit."
       }
      }
     },
     "auth_ref": [
      "r6"
     ]
    },
    "clwt_PensionSchemeBasicSalaryPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "PensionSchemeBasicSalaryPercentage",
     "presentation": [
      "http://euro-tech.com/role/PensionPlanDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contributions percentage of basic salary for pension scheme"
       }
      }
     },
     "auth_ref": []
    },
    "dei_PhoneFaxNumberDescription": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "PhoneFaxNumberDescription",
     "presentation": [
      "http://euro-tech.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Phone Fax Number Description",
        "documentation": "Description of Phone or Fax Number"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_PlaceOfIncorporation": {
     "xbrltype": "stringItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "PlaceOfIncorporation",
     "presentation": [
      "http://euro-tech.com/role/OrganizationAndBusinessDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Place of incorporation"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PlanNameAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PlanNameAxis",
     "presentation": [
      "http://euro-tech.com/role/BankBorrowingsDetailsNarrative",
      "http://euro-tech.com/role/OtherTaxesPayableDetailsNarrative",
      "http://euro-tech.com/role/PensionPlanDetailsNarrative",
      "http://euro-tech.com/role/StockOptionsDetailsNarrative",
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetails1",
      "http://euro-tech.com/role/TreasuryStockDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Plan Name [Axis]",
        "documentation": "Information by plan name for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r1040",
      "r1041",
      "r1042",
      "r1043",
      "r1044",
      "r1045",
      "r1046",
      "r1047",
      "r1048",
      "r1049",
      "r1050",
      "r1051",
      "r1052",
      "r1053",
      "r1054",
      "r1055",
      "r1056",
      "r1057",
      "r1058",
      "r1059",
      "r1060",
      "r1061",
      "r1062",
      "r1063",
      "r1064",
      "r1065"
     ]
    },
    "us-gaap_PlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PlanNameDomain",
     "presentation": [
      "http://euro-tech.com/role/BankBorrowingsDetailsNarrative",
      "http://euro-tech.com/role/OtherTaxesPayableDetailsNarrative",
      "http://euro-tech.com/role/PensionPlanDetailsNarrative",
      "http://euro-tech.com/role/StockOptionsDetailsNarrative",
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetails1",
      "http://euro-tech.com/role/TreasuryStockDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Plan name for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r1040",
      "r1041",
      "r1042",
      "r1043",
      "r1044",
      "r1045",
      "r1046",
      "r1047",
      "r1048",
      "r1049",
      "r1050",
      "r1051",
      "r1052",
      "r1053",
      "r1054",
      "r1055",
      "r1056",
      "r1057",
      "r1058",
      "r1059",
      "r1060",
      "r1061",
      "r1062",
      "r1063",
      "r1064",
      "r1065"
     ]
    },
    "clwt_PlantAndMachineries": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "PlantAndMachineries",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/PropertyPlantAndEquipmentNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Plant and machineries"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_PlantAndMachineriesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "PlantAndMachineriesMember",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Plant and Machineries"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_PrcStatutoryReservesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "PrcStatutoryReservesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "PRC statutory reserves"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_PrcStatutoryReservesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "PrcStatutoryReservesTextBlock",
     "presentation": [
      "http://euro-tech.com/role/PrcStatutoryReserves"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "PRC statutory reserves",
        "label": "[PRC statutory reserves]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PrepaidExpenseAndOtherAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PrepaidExpenseAndOtherAssets",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/PrepaymentsAndOtherCurrentAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Prepayments and other current assets",
        "label": "[Prepaid Expense and Other 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."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PrepaidExpenseAndOtherAssetsCurrent",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Prepayments and other current assets",
        "label": "[Prepaid Expense and Other Assets, Current]",
        "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r979"
     ]
    },
    "us-gaap_PrepaidExpenseAndOtherAssetsCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PrepaidExpenseAndOtherAssetsCurrentAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Prepayments and other current assets"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PrepaidExpenseCurrentAndNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PrepaidExpenseCurrentAndNoncurrent",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/PrepaymentsAndOtherCurrentAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prepayments",
        "documentation": "Carrying amount as of the balance sheet date of expenditures made in advance of when the economic benefit of the cost will be realized, and which will be expensed in future periods with the passage of time or when a triggering event occurs."
       }
      }
     },
     "auth_ref": [
      "r131",
      "r219",
      "r767",
      "r1099"
     ]
    },
    "us-gaap_ProceedsFromBankDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProceedsFromBankDebt",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from bank borrowings",
        "documentation": "The cash inflow from bank borrowing during the year."
       }
      }
     },
     "auth_ref": [
      "r20"
     ]
    },
    "clwt_ProceedsFromDeferredGovernmentGrant": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "ProceedsFromDeferredGovernmentGrant",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from deferred government grant"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProceedsFromDividendsReceived": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProceedsFromDividendsReceived",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Dividend received from affiliates",
        "documentation": "Dividends received on equity and other investments during the current period."
       }
      }
     },
     "auth_ref": [
      "r985"
     ]
    },
    "us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProceedsFromSaleOfPropertyPlantAndEquipment",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from sale of property, plant and equipment",
        "documentation": "The cash inflow from the sale of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale."
       }
      }
     },
     "auth_ref": [
      "r101"
     ]
    },
    "srt_ProductOrServiceAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "ProductOrServiceAxis",
     "presentation": [
      "http://euro-tech.com/role/RelatedPartyTransactionsDetailsNarrative",
      "http://euro-tech.com/role/RiskFactorsDetailsNarrative",
      "http://euro-tech.com/role/SegmentInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product Or Service Axis",
        "documentation": "Information by product and service, or group of similar products and similar services."
       }
      }
     },
     "auth_ref": [
      "r180",
      "r181",
      "r182",
      "r183",
      "r184",
      "r185",
      "r197",
      "r315",
      "r628",
      "r707",
      "r708",
      "r709",
      "r710",
      "r711",
      "r712",
      "r713",
      "r834",
      "r870",
      "r899",
      "r900",
      "r901",
      "r904",
      "r906",
      "r971",
      "r1027",
      "r1028",
      "r1038",
      "r1104",
      "r1105",
      "r1106",
      "r1107",
      "r1108",
      "r1109",
      "r1110",
      "r1111",
      "r1112",
      "r1113",
      "r1114",
      "r1115",
      "r1116",
      "r1117",
      "r1118",
      "r1119",
      "r1120",
      "r1121",
      "r1122",
      "r1123",
      "r1124",
      "r1125",
      "r1126",
      "r1127",
      "r1128",
      "r1129",
      "r1130",
      "r1131",
      "r1132"
     ]
    },
    "srt_ProductsAndServicesDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "ProductsAndServicesDomain",
     "presentation": [
      "http://euro-tech.com/role/RelatedPartyTransactionsDetailsNarrative",
      "http://euro-tech.com/role/RiskFactorsDetailsNarrative",
      "http://euro-tech.com/role/SegmentInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Product or service, or a group of similar products or similar services."
       }
      }
     },
     "auth_ref": [
      "r180",
      "r181",
      "r182",
      "r183",
      "r184",
      "r185",
      "r197",
      "r315",
      "r628",
      "r707",
      "r708",
      "r709",
      "r710",
      "r711",
      "r712",
      "r713",
      "r834",
      "r870",
      "r899",
      "r900",
      "r901",
      "r904",
      "r906",
      "r971",
      "r1027",
      "r1028",
      "r1038",
      "r1104",
      "r1105",
      "r1106",
      "r1107",
      "r1108",
      "r1109",
      "r1110",
      "r1111",
      "r1112",
      "r1113",
      "r1114",
      "r1115",
      "r1116",
      "r1117",
      "r1118",
      "r1119",
      "r1120",
      "r1121",
      "r1122",
      "r1123",
      "r1124",
      "r1125",
      "r1126",
      "r1127",
      "r1128",
      "r1129",
      "r1130",
      "r1131",
      "r1132"
     ]
    },
    "us-gaap_ProfitLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProfitLoss",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows",
      "http://euro-tech.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss",
      "http://euro-tech.com/role/IncomeTaxesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Net income",
        "label": "[Net Income (Loss), Including Portion Attributable to Noncontrolling Interest]",
        "terseLabel": "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": [
      "r202",
      "r222",
      "r224",
      "r235",
      "r243",
      "r249",
      "r255",
      "r258",
      "r259",
      "r360",
      "r416",
      "r417",
      "r418",
      "r419",
      "r420",
      "r421",
      "r422",
      "r423",
      "r424",
      "r529",
      "r532",
      "r533",
      "r536",
      "r537",
      "r551",
      "r553",
      "r666",
      "r683",
      "r736",
      "r776",
      "r795",
      "r796",
      "r874",
      "r875",
      "r917",
      "r982",
      "r1031"
     ]
    },
    "clwt_PropertyInBeijingPRCMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "PropertyInBeijingPRCMember",
     "presentation": [
      "http://euro-tech.com/role/PropertyPlantAndEquipmentNetDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property In Beijing, PRC Member"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PropertyPlantAndEquipmentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Property plant and equipment net"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PropertyPlantAndEquipmentByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentByTypeAxis",
     "presentation": [
      "http://euro-tech.com/role/PropertyPlantAndEquipmentNetDetailsNarrative",
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetails1"
     ],
     "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",
      "r581"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentDisclosureTextBlock",
     "presentation": [
      "http://euro-tech.com/role/PropertyPlantAndEquipmentNet"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, plant and equipment",
        "documentation": "The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections."
       }
      }
     },
     "auth_ref": [
      "r114",
      "r166",
      "r170",
      "r171"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentFairValueDisclosure": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentFairValueDisclosure",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/RiskAndUncertaintyDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property book value",
        "documentation": "Fair value portion 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": [
      "r877",
      "r1080",
      "r1081",
      "r1085"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentGross",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/PropertyPlantAndEquipmentNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, plant and equipment, gross",
        "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures."
       }
      }
     },
     "auth_ref": [
      "r115",
      "r208",
      "r681"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentNet",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedBalanceSheets",
      "http://euro-tech.com/role/LeaseObligationsDetails2",
      "http://euro-tech.com/role/PropertyPlantAndEquipmentNetDetails",
      "http://euro-tech.com/role/PropertyPlantAndEquipmentNetDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, plant and equipment, net",
        "verboseLabel": "Property, plant and equipment, net",
        "terseLabel": "Property Plant And Equipment, Net",
        "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures."
       }
      }
     },
     "auth_ref": [
      "r9",
      "r581",
      "r667",
      "r681",
      "r889"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentOther": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentOther",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/PropertyPlantAndEquipmentNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Testing equipment",
        "documentation": "Amount before accumulated depreciation, depletion and amortization of other physical assets used in the normal conduct of business to produce goods and services and not intended for resale."
       }
      }
     },
     "auth_ref": [
      "r9"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentPolicyTextBlock",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Property, plant and equipment",
        "label": "Property, Plant and Equipment, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections."
       }
      }
     },
     "auth_ref": [
      "r9",
      "r166",
      "r170",
      "r679"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentTextBlock",
     "presentation": [
      "http://euro-tech.com/role/PropertyPlantAndEquipmentNetTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Property, plant and equipment",
        "label": "Property, Plant and Equipment [Table Text Block]",
        "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation."
       }
      }
     },
     "auth_ref": [
      "r9"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentTypeDomain",
     "presentation": [
      "http://euro-tech.com/role/PropertyPlantAndEquipmentNetDetailsNarrative",
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software."
       }
      }
     },
     "auth_ref": [
      "r115",
      "r581"
     ]
    },
    "clwt_PropertyPlantAndEquipmentUsefulLifeTableTextblock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "PropertyPlantAndEquipmentUsefulLifeTableTextblock",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of property, plant and equipment"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_PropertyPlantAndEquipmentWrittenOff": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "PropertyPlantAndEquipmentWrittenOff",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, plant and equipment written off"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_PropertyPlantsAndEquipmentGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "PropertyPlantsAndEquipmentGross",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/PropertyPlantAndEquipmentNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Property, plant and equipment, gross",
        "label": "[Property, plant and equipment, gross]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PublicUtilitiesPropertyPlantAndEquipmentFuelUsefulLife": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PublicUtilitiesPropertyPlantAndEquipmentFuelUsefulLife",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, plant and equipment useful lives",
        "documentation": "Useful life of assets related to fuels owned by public utility, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": []
    },
    "clwt_PublicUtilitiesPropertyPlantAndEquipmentLeaseholdImprovementsFuelUsefulLife": {
     "xbrltype": "stringItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "PublicUtilitiesPropertyPlantAndEquipmentLeaseholdImprovementsFuelUsefulLife",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Property, plant and equipment useful lives",
        "label": "[Property, plant and equipment useful lives]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PublicUtilitiesRequestedDebtCapitalStructurePercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PublicUtilitiesRequestedDebtCapitalStructurePercentage",
     "presentation": [
      "http://euro-tech.com/role/PrcStatutoryReservesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Registered capital percentage",
        "documentation": "Percentage of public utility's requested debt to capital, including debt and equity."
       }
      }
     },
     "auth_ref": []
    },
    "clwt_PurchaseSharesOfTreasuryStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "PurchaseSharesOfTreasuryStock",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Purchase 10,700 shares of treasury stock"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ReceivableTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ReceivableTypeDomain",
     "presentation": [
      "http://euro-tech.com/role/AccountsReceivableNetDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Financing arrangement representing a contractual right to receive money either on demand or on fixed and determinable dates."
       }
      }
     },
     "auth_ref": [
      "r80",
      "r86"
     ]
    },
    "us-gaap_ReceivablesBillingStatusDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ReceivablesBillingStatusDomain",
     "presentation": [
      "http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails",
      "http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails4"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amounts due from customers (or dealers) within the next year (or operating cycle, if longer) for goods or services that have been delivered or used, but not yet paid."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ReceivablesPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ReceivablesPolicyTextBlock",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts receivable and allowance for doubtful accounts",
        "documentation": "Disclosure of accounting policy for receivable. Includes, but is not limited to, accounts receivable and financing receivable."
       }
      }
     },
     "auth_ref": [
      "r322",
      "r323",
      "r324",
      "r326",
      "r1005"
     ]
    },
    "us-gaap_Reclassifications": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Reclassifications",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Reclassification",
        "documentation": "The entire disclosure for classifying current financial statements, which may be different from classifications in the prior year's financial statements. Disclose any material changes in classification including an explanation of the reason for the change and the areas impacted."
       }
      }
     },
     "auth_ref": [
      "r66"
     ]
    },
    "us-gaap_RedeemableNoncontrollingInterestTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RedeemableNoncontrollingInterestTableTextBlock",
     "presentation": [
      "http://euro-tech.com/role/CommitmentsAndContingenciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Fair Value of the Put Options",
        "documentation": "Tabular disclosure of redeemable noncontrolling interest (as defined) included in the statement of financial position as either a liability or temporary equity. As of the date of the statement of financial position, such redeemable noncontrolling interest is currently redeemable, as defined, for cash or other assets of the entity at (1) at a fixed or determinable price on a fixed or determinable date, (2) at the option of the holder of the noncontrolling interest, or (3) upon occurrence of an event that is not solely within the control of the entity."
       }
      }
     },
     "auth_ref": []
    },
    "clwt_RelatedPartiesPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "RelatedPartiesPolicy",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related parties"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RelatedPartyTransactionAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RelatedPartyTransactionAxis",
     "presentation": [
      "http://euro-tech.com/role/CommitmentsAndContingenciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Related Party Transaction [Axis]",
        "documentation": "Information by type of related party transaction."
       }
      }
     },
     "auth_ref": [
      "r586",
      "r587",
      "r1093"
     ]
    },
    "us-gaap_RelatedPartyTransactionDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RelatedPartyTransactionDomain",
     "presentation": [
      "http://euro-tech.com/role/CommitmentsAndContingenciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Transaction between related party."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RelatedPartyTransactionsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RelatedPartyTransactionsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Related party transactions"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RelatedPartyTransactionsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RelatedPartyTransactionsDisclosureTextBlock",
     "presentation": [
      "http://euro-tech.com/role/RelatedPartyTransactions"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Related party transactions",
        "label": "Related Party Transactions Disclosure [Text Block]",
        "documentation": "The entire disclosure for related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates."
       }
      }
     },
     "auth_ref": [
      "r583",
      "r584",
      "r585",
      "r587",
      "r588",
      "r732",
      "r733",
      "r734",
      "r780",
      "r781",
      "r782",
      "r801",
      "r803"
     ]
    },
    "clwt_Remuneration": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "Remuneration",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/RelatedPartyTransactionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Remuneration"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_RentalDepositReceived": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "RentalDepositReceived",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/OtherPayablesAndAccruedExpensesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rental deposit received"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_RentalIncome": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "RentalIncome",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/RiskAndUncertaintyDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Rental income",
        "label": "[Rental income]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RentalIncomeNonoperating": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RentalIncomeNonoperating",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/OtherIncomeNetDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rental income",
        "documentation": "Income earned by providing the use of assets to an outside party in exchange for a payment or series of payments that is nonoperating in nature."
       }
      }
     },
     "auth_ref": [
      "r98"
     ]
    },
    "us-gaap_RepaymentsOfBankDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RepaymentsOfBankDebt",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Repayment to bank borrowings",
        "label": "[Repayments of Bank Debt]",
        "documentation": "The cash outflow to settle a bank borrowing during the year."
       }
      }
     },
     "auth_ref": [
      "r105"
     ]
    },
    "clwt_RepresentedByAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "RepresentedByAbstract",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Represented by:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RepurchaseAgreementsInterestExpenseAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RepurchaseAgreementsInterestExpenseAmount",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/SubsequentEventsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Purchase ordinary amount",
        "documentation": "This is the amount of interest expense incurred during the reporting period as a result of repurchase agreements."
       }
      }
     },
     "auth_ref": [
      "r142",
      "r661"
     ]
    },
    "us-gaap_ResearchAndDevelopmentExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ResearchAndDevelopmentExpense",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Research and development costs",
        "label": "[Research and Development Expense]",
        "documentation": "Amount of expense for research and development. Includes, but is not limited to, cost for computer software product to be sold, leased, or otherwise marketed and writeoff of research and development assets acquired in transaction other than business combination or joint venture formation or both. Excludes write-down of intangible asset acquired in business combination or from joint venture formation or both, used in research and development activity."
       }
      }
     },
     "auth_ref": [
      "r494",
      "r832",
      "r854",
      "r1096"
     ]
    },
    "us-gaap_ResearchAndDevelopmentExpensePolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ResearchAndDevelopmentExpensePolicy",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Research and development costs",
        "documentation": "Disclosure of accounting policy for costs it has incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process."
       }
      }
     },
     "auth_ref": [
      "r493"
     ]
    },
    "us-gaap_RestrictedCash": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RestrictedCash",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/RiskFactorsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Restricted cash",
        "label": "[Restricted Cash]",
        "documentation": "Amount of cash restricted as to withdrawal or usage. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits."
       }
      }
     },
     "auth_ref": [
      "r972",
      "r989",
      "r1097",
      "r1101"
     ]
    },
    "us-gaap_RestrictedCashCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RestrictedCashCurrent",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restricted cash",
        "documentation": "Amount of cash restricted as to withdrawal or usage, classified as current. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits."
       }
      }
     },
     "auth_ref": [
      "r972",
      "r989"
     ]
    },
    "us-gaap_RestrictedCashNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RestrictedCashNoncurrent",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Restricted cash",
        "label": "[Restricted Cash, Noncurrent]",
        "documentation": "Amount of cash restricted as to withdrawal or usage, classified as noncurrent. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits."
       }
      }
     },
     "auth_ref": [
      "r159",
      "r974",
      "r989"
     ]
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RetainedEarningsAccumulatedDeficit",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retained earnings",
        "documentation": "Amount of accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r82",
      "r122",
      "r675",
      "r717",
      "r719",
      "r730",
      "r753",
      "r889"
     ]
    },
    "us-gaap_RetainedEarningsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RetainedEarningsMember",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retained Earnings",
        "documentation": "Accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r199",
      "r246",
      "r247",
      "r248",
      "r250",
      "r255",
      "r257",
      "r259",
      "r361",
      "r362",
      "r410",
      "r517",
      "r518",
      "r526",
      "r527",
      "r528",
      "r530",
      "r531",
      "r532",
      "r541",
      "r543",
      "r544",
      "r546",
      "r549",
      "r565",
      "r567",
      "r714",
      "r716",
      "r737",
      "r1135"
     ]
    },
    "clwt_RetirementPlanCostsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "RetirementPlanCostsPolicyTextBlock",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retirement plan costs"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_RevenueEarnedButNotYetBilled": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "RevenueEarnedButNotYetBilled",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue earned but not yet billed"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenueFromContractWithCustomerIncludingAssessedTax",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails5"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Revenue",
        "label": "[Revenue from Contract with Customer, Including Assessed Tax]",
        "documentation": "Amount, including tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value-added and excise."
       }
      }
     },
     "auth_ref": [
      "r145",
      "r146",
      "r275",
      "r282",
      "r283",
      "r305",
      "r311",
      "r315",
      "r317",
      "r319",
      "r459",
      "r460",
      "r628"
     ]
    },
    "clwt_RevenueFromContractWithCustomerIncreaseDecrease": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "RevenueFromContractWithCustomerIncreaseDecrease",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue from Contract with Customer, Increase (Decrease)"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_RevenueFromEngineering": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "RevenueFromEngineering",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Engineering",
        "label": "[Engineering]"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_RevenueFromTradingAndManufacturing": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "RevenueFromTradingAndManufacturing",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading and manufacturing"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RevenueRecognitionPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenueRecognitionPolicyTextBlock",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue recognition",
        "documentation": "Disclosure of accounting policy for revenue. Includes revenue from contract with customer and from other sources."
       }
      }
     },
     "auth_ref": [
      "r778",
      "r833",
      "r845"
     ]
    },
    "us-gaap_RevenueRemainingPerformanceObligation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenueRemainingPerformanceObligation",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Contract revenue on uncompleted contracts as beginning balance",
        "label": "[Revenue, Remaining Performance Obligation, Amount]",
        "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue."
       }
      }
     },
     "auth_ref": [
      "r169"
     ]
    },
    "us-gaap_Revenues": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Revenues",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss",
      "http://euro-tech.com/role/SegmentInformationDetails",
      "http://euro-tech.com/role/SegmentInformationDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Revenue",
        "label": "[Revenues]",
        "terseLabel": "Revenue",
        "documentation": "Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss)."
       }
      }
     },
     "auth_ref": [
      "r145",
      "r146",
      "r230",
      "r243",
      "r275",
      "r282",
      "r283",
      "r305",
      "r311",
      "r315",
      "r317",
      "r319",
      "r360",
      "r416",
      "r417",
      "r418",
      "r419",
      "r420",
      "r421",
      "r422",
      "r423",
      "r424",
      "r553",
      "r666",
      "r854",
      "r1031"
     ]
    },
    "clwt_ReversalOfAllowanceForDoubtfulAccounts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "ReversalOfAllowanceForDoubtfulAccounts",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Reversal of allowance for doubtful accounts"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_ReversalOfProvisionForDoubtfulAccounts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "ReversalOfProvisionForDoubtfulAccounts",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/AccountsReceivableNetDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Less: reversal of provision for doubtful accounts"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/LeaseObligationsDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Right-of-use assets obtained in exchange for lease obligations (noncash):",
        "documentation": "Amount of increase in right-of-use asset obtained in exchange for operating lease liability."
       }
      }
     },
     "auth_ref": [
      "r578",
      "r888"
     ]
    },
    "clwt_RiskFreeRateForCompany": {
     "xbrltype": "percentItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "RiskFreeRateForCompany",
     "presentation": [
      "http://euro-tech.com/role/CommitmentsAndContingenciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Risk-free rate"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RisksAndUncertaintiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RisksAndUncertaintiesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Risk and uncertainty"
       }
      }
     },
     "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 Arragement Adopted [Flag]"
       }
      }
     },
     "auth_ref": [
      "r939"
     ]
    },
    "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 Arragement Treatment [Flag]"
       }
      }
     },
     "auth_ref": [
      "r939"
     ]
    },
    "us-gaap_SaleOfStockNameOfTransactionDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SaleOfStockNameOfTransactionDomain",
     "presentation": [
      "http://euro-tech.com/role/IncomeTaxesDetailsNarrative",
      "http://euro-tech.com/role/OrganizationAndBusinessDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sale of the entity's stock, including, but not limited to, initial public offering (IPO) and private placement."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SalesRevenueNetMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SalesRevenueNetMember",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Revenue",
        "label": "Revenue Benchmark [Member]",
        "documentation": "Revenue from sale of product and rendering of service and other sources of income, when it serves as benchmark in concentration of risk calculation."
       }
      }
     },
     "auth_ref": [
      "r319",
      "r958"
     ]
    },
    "srt_ScenarioUnspecifiedDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "ScenarioUnspecifiedDomain",
     "presentation": [
      "http://euro-tech.com/role/InvestmentsInAffiliatesDetails1",
      "http://euro-tech.com/role/InvestmentsInAffiliatesDetails2",
      "http://euro-tech.com/role/InvestmentsInAffiliatesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Scenario reported, distinguishing information from actual fact. Includes, but is not limited to, pro forma and forecast. Excludes actual facts."
       }
      }
     },
     "auth_ref": [
      "r198",
      "r260",
      "r476",
      "r953",
      "r996"
     ]
    },
    "us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock",
     "presentation": [
      "http://euro-tech.com/role/AccountsReceivableNetTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Accounts receivable, net",
        "label": "Schedule of Accounts, Notes, Loans and Financing Receivable [Table Text Block]",
        "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": [
      "r80",
      "r86"
     ]
    },
    "us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock",
     "presentation": [
      "http://euro-tech.com/role/OtherPayablesAndAccruedExpensesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Other payables and accrued expenses",
        "label": "Schedule of Accounts Payable and Accrued Liabilities [Table Text Block]",
        "documentation": "Tabular disclosure of the (a) carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business (accounts payable); (b) other payables; and (c) accrued liabilities. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer). An alternative caption includes accrued expenses."
       }
      }
     },
     "auth_ref": []
    },
    "clwt_ScheduleOfBankBorrowingsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "ScheduleOfBankBorrowingsTableTextBlock",
     "presentation": [
      "http://euro-tech.com/role/BankBorrowingsTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of bank borrowings"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
     "presentation": [
      "http://euro-tech.com/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Components of income tax (expense) / credit",
        "documentation": "Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years."
       }
      }
     },
     "auth_ref": [
      "r1073"
     ]
    },
    "us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
     "presentation": [
      "http://euro-tech.com/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Components of deferred tax assets",
        "documentation": "Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets."
       }
      }
     },
     "auth_ref": [
      "r1070"
     ]
    },
    "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
     "presentation": [
      "http://euro-tech.com/role/IncomeTaxesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Reconciling items from income tax",
        "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": [
      "r500",
      "r873",
      "r1067"
     ]
    },
    "srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis",
     "presentation": [
      "http://euro-tech.com/role/OrganizationAndBusinessDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investment, Name [Axis]",
        "documentation": "Information by name of investment including named security. Excludes entity that is consolidated."
       }
      }
     },
     "auth_ref": [
      "r357",
      "r358",
      "r359",
      "r525",
      "r954",
      "r955",
      "r956",
      "r1074",
      "r1075",
      "r1076",
      "r1077"
     ]
    },
    "us-gaap_ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock",
     "presentation": [
      "http://euro-tech.com/role/LeaseObligationsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maturities of lease liabilities",
        "documentation": "Tabular disclosure of future minimum payments required in the aggregate and for each of the five succeeding fiscal years for operating leases having initial or remaining noncancelable lease terms in excess of one year and the total minimum rentals to be received in the future under noncancelable subleases as of the balance sheet date."
       }
      }
     },
     "auth_ref": [
      "r154"
     ]
    },
    "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfInventoryCurrentTableTextBlock",
     "presentation": [
      "http://euro-tech.com/role/InventoriesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Inventories",
        "label": "Schedule of Inventory, Current [Table Text Block]",
        "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process."
       }
      }
     },
     "auth_ref": [
      "r16",
      "r87",
      "r88",
      "r89"
     ]
    },
    "us-gaap_ScheduleOfInvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfInvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTableTextBlock",
     "presentation": [
      "http://euro-tech.com/role/InvestmentsInAffiliatesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Investments in affiliates",
        "label": "Schedule of Investments in and Advances to Affiliates, Schedule of Investments [Table Text Block]",
        "documentation": "A tabular presentation of the information summarizing investments in and advances to majority-owned subsidiaries, other controlled companies, and other affiliates, as prescribed by the SEC. It reflects specified information about ownership, financial results from, and financial position in such entities. Includes the tabular presentations that disaggregate investments in and advances to majority-owned subsidiaries, other controlled companies, and other affiliates."
       }
      }
     },
     "auth_ref": []
    },
    "clwt_ScheduleOfMajorSuppliersAndCustomers": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "ScheduleOfMajorSuppliersAndCustomers",
     "presentation": [
      "http://euro-tech.com/role/SegmentInformationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Major suppliers and customers"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfOtherCurrentAssetsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfOtherCurrentAssetsTableTextBlock",
     "presentation": [
      "http://euro-tech.com/role/PrepaymentsAndOtherCurrentAssetsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prepayment and other current assets",
        "documentation": "Tabular disclosure of the carrying amounts of other current assets."
       }
      }
     },
     "auth_ref": []
    },
    "clwt_ScheduleOfOtherIncomeTabletextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "ScheduleOfOtherIncomeTabletextBlock",
     "presentation": [
      "http://euro-tech.com/role/OtherIncomeAndOtherLossesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of other income"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_ScheduleOfOtherLossesTabletextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "ScheduleOfOtherLossesTabletextBlock",
     "presentation": [
      "http://euro-tech.com/role/OtherIncomeAndOtherLossesTable"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of other losses"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfOtherNonoperatingIncomeExpenseTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfOtherNonoperatingIncomeExpenseTableTextBlock",
     "presentation": [
      "http://euro-tech.com/role/OtherIncomeTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Other income, net",
        "label": "Schedule of Other Nonoperating Income (Expense) [Table Text Block]",
        "documentation": "Tabular disclosure of the components of non-operating income or non-operating expense that may include amounts earned from dividends, interest on securities, gains (losses) on securities sold, equity earnings of unconsolidated affiliates, net gain (loss) on sales of business, interest expense and other miscellaneous income or expense items."
       }
      }
     },
     "auth_ref": []
    },
    "clwt_ScheduleOfReconciliationOfBacklogRepresentingTheAmountOfRevenueTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "ScheduleOfReconciliationOfBacklogRepresentingTheAmountOfRevenueTableTextBlock",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of reconciliation of backlog representing the amount of revenue"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock",
     "presentation": [
      "http://euro-tech.com/role/SegmentInformationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical analysis of revenue and assets",
        "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": [
      "r40",
      "r91"
     ]
    },
    "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock",
     "presentation": [
      "http://euro-tech.com/role/SegmentInformationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Segment information",
        "label": "Schedule of Segment Reporting Information, by Segment [Table Text Block]",
        "documentation": "Tabular disclosure of the profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss."
       }
      }
     },
     "auth_ref": [
      "r37",
      "r38",
      "r39"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
     "presentation": [
      "http://euro-tech.com/role/StockOptions"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Stock options",
        "label": "Share-Based Payment Arrangement, Option, Activity [Table Text Block]",
        "documentation": "Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value."
       }
      }
     },
     "auth_ref": [
      "r12",
      "r13",
      "r125"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationStockOptionsAndStockAppreciationRightsAwardActivityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfShareBasedCompensationStockOptionsAndStockAppreciationRightsAwardActivityTableTextBlock",
     "presentation": [
      "http://euro-tech.com/role/StockOptionsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock option activity",
        "documentation": "Tabular disclosure of the number and weighted-average exercise prices (or conversion ratios) for stock options and stock appreciation rights that were outstanding at the beginning and end of the year, exercisable at the end of the year, and the number of stock options and stock appreciation rights that were granted, exercised or converted, forfeited, and expired during the year."
       }
      }
     },
     "auth_ref": [
      "r125"
     ]
    },
    "clwt_ScheduleOfSignificantSubsidiariesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "ScheduleOfSignificantSubsidiariesTableTextBlock",
     "presentation": [
      "http://euro-tech.com/role/OrganizationAndBusinessBackgroundTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of significant subsidiaries"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfStockByClassTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfStockByClassTextBlock",
     "presentation": [
      "http://euro-tech.com/role/OrdinaryShareTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shares outstanding",
        "documentation": "Tabular disclosure of an entity's stock, including par or stated value per share, number and dollar amount of share subscriptions, shares authorized, shares issued, shares outstanding, number and dollar amount of shares held in an employee trust, dividend per share, total dividends, share conversion features, par value plus additional paid in capital, the value of treasury stock and other information necessary to a fair presentation, and EPS information. Stock by class includes common, convertible, and preferred stocks which are not redeemable or redeemable solely at the option of the issuer. Includes preferred stock with redemption features that are solely within the control of the issuer and mandatorily redeemable stock if redemption is required to occur only upon liquidation or termination of the reporting entity. If more than one issue is outstanding, state the title of each issue and the corresponding dollar amount; dollar amount of any shares subscribed but unissued and the deduction of subscriptions receivable there from; number of shares authorized, issued, and outstanding."
       }
      }
     },
     "auth_ref": [
      "r15",
      "r44",
      "r45",
      "r46",
      "r47",
      "r48",
      "r49",
      "r50",
      "r78",
      "r79",
      "r120",
      "r121",
      "r122"
     ]
    },
    "clwt_ScheduleOfSupplementalConsolidatedBalanceSheetInformationRelatedToLeasesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "ScheduleOfSupplementalConsolidatedBalanceSheetInformationRelatedToLeasesTableTextBlock",
     "presentation": [
      "http://euro-tech.com/role/LeaseObligationsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplemental consolidated balance sheet information related to leases"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_ScheduleOfSupplementalConsolidatedCashFlowInformationRelatedToLeasesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "ScheduleOfSupplementalConsolidatedCashFlowInformationRelatedToLeasesTableTextBlock",
     "presentation": [
      "http://euro-tech.com/role/LeaseObligationsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplemental consolidated cash flow information related to leases"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfWeightedAverageNumberOfSharesTableTextBlock",
     "presentation": [
      "http://euro-tech.com/role/NetIncomePerOrdinaryShareTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Basic and diluted number of shares",
        "documentation": "Tabular disclosure of the weighted average number of shares used in calculating basic net earnings per share (or unit) and diluted earnings per share (or unit)."
       }
      }
     },
     "auth_ref": [
      "r27"
     ]
    },
    "dei_Security12bTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "Security12bTitle",
     "presentation": [
      "http://euro-tech.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security 12b Title",
        "documentation": "Title of a 12(b) registered security."
       }
      }
     },
     "auth_ref": [
      "r920"
     ]
    },
    "us-gaap_SecurityDeposit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SecurityDeposit",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/CommitmentsAndContingenciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Secured by bank deposit",
        "documentation": "The amount of an asset, typically cash, provided to a counterparty to provide certain assurance of performance by the entity pursuant to the terms of a written or oral agreement, such as a lease."
       }
      }
     },
     "auth_ref": [
      "r974"
     ]
    },
    "dei_SecurityExchangeName": {
     "xbrltype": "edgarExchangeCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "SecurityExchangeName",
     "presentation": [
      "http://euro-tech.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security Exchange Name",
        "documentation": "Name of the Exchange on which a security is registered."
       }
      }
     },
     "auth_ref": [
      "r922"
     ]
    },
    "us-gaap_SegmentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SegmentDomain",
     "presentation": [
      "http://euro-tech.com/role/SegmentInformationDetails1",
      "http://euro-tech.com/role/SegmentInformationDetails2",
      "http://euro-tech.com/role/SegmentInformationDetails3",
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "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": [
      "r145",
      "r146",
      "r147",
      "r148",
      "r275",
      "r278",
      "r281",
      "r282",
      "r283",
      "r284",
      "r285",
      "r286",
      "r287",
      "r288",
      "r289",
      "r290",
      "r292",
      "r293",
      "r295",
      "r296",
      "r297",
      "r305",
      "r306",
      "r307",
      "r308",
      "r309",
      "r311",
      "r312",
      "r313",
      "r319",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r408",
      "r412",
      "r413",
      "r696",
      "r697",
      "r698",
      "r699",
      "r700",
      "r701",
      "r702",
      "r703",
      "r704",
      "r705",
      "r706",
      "r851",
      "r854",
      "r855",
      "r862",
      "r903",
      "r1104",
      "r1105",
      "r1106",
      "r1107",
      "r1108",
      "r1109",
      "r1110",
      "r1111",
      "r1112",
      "r1113",
      "r1114",
      "r1115",
      "r1116",
      "r1117",
      "r1118",
      "r1119",
      "r1120",
      "r1121",
      "r1122",
      "r1123",
      "r1124",
      "r1125",
      "r1126",
      "r1127",
      "r1128",
      "r1129",
      "r1130",
      "r1131",
      "r1132"
     ]
    },
    "srt_SegmentGeographicalDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "SegmentGeographicalDomain",
     "presentation": [
      "http://euro-tech.com/role/IncomeTaxesDetailsNarrative",
      "http://euro-tech.com/role/RiskFactorsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Geographical area."
       }
      }
     },
     "auth_ref": [
      "r176",
      "r177",
      "r178",
      "r179",
      "r186",
      "r187",
      "r188",
      "r189",
      "r191",
      "r192",
      "r193",
      "r194",
      "r195",
      "r196",
      "r317",
      "r318",
      "r631",
      "r632",
      "r633",
      "r634",
      "r635",
      "r636",
      "r637",
      "r638",
      "r639",
      "r640",
      "r641",
      "r642",
      "r643",
      "r644",
      "r645",
      "r646",
      "r647",
      "r648",
      "r649",
      "r650",
      "r651",
      "r652",
      "r653",
      "r654",
      "r655",
      "r656",
      "r657",
      "r658",
      "r659",
      "r660",
      "r740",
      "r741",
      "r742",
      "r804",
      "r807",
      "r808",
      "r812",
      "r817",
      "r821",
      "r822",
      "r823",
      "r824",
      "r826",
      "r827",
      "r828",
      "r829",
      "r830",
      "r835",
      "r871",
      "r891",
      "r892",
      "r893",
      "r894",
      "r895",
      "r896",
      "r897",
      "r898",
      "r902",
      "r910",
      "r1038",
      "r1104",
      "r1105",
      "r1106",
      "r1108",
      "r1109",
      "r1110",
      "r1111",
      "r1112",
      "r1113",
      "r1114",
      "r1115",
      "r1116",
      "r1117",
      "r1118",
      "r1119",
      "r1120",
      "r1121",
      "r1122",
      "r1123",
      "r1124",
      "r1125",
      "r1126",
      "r1127",
      "r1128",
      "r1129",
      "r1130",
      "r1131",
      "r1132"
     ]
    },
    "us-gaap_SegmentReportingAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SegmentReportingAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Segment information"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SegmentReportingDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SegmentReportingDisclosureTextBlock",
     "presentation": [
      "http://euro-tech.com/role/SegmentInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Segment information",
        "label": "Segment Reporting Disclosure [Text Block]",
        "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments."
       }
      }
     },
     "auth_ref": [
      "r148",
      "r275",
      "r277",
      "r278",
      "r279",
      "r280",
      "r281",
      "r294",
      "r296",
      "r297",
      "r309",
      "r310",
      "r311",
      "r312",
      "r313",
      "r315",
      "r316",
      "r319",
      "r849",
      "r852",
      "r853",
      "r854",
      "r856",
      "r858",
      "r859"
     ]
    },
    "us-gaap_SegmentReportingPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SegmentReportingPolicyPolicyTextBlock",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Segment information",
        "label": "Segment Reporting, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for segment reporting."
       }
      }
     },
     "auth_ref": [
      "r298",
      "r299",
      "r300",
      "r301",
      "r302",
      "r303",
      "r304",
      "r314",
      "r317",
      "r850",
      "r851",
      "r857"
     ]
    },
    "us-gaap_SellingGeneralAndAdministrativeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SellingGeneralAndAdministrativeExpense",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Selling and administrative expenses",
        "label": "[Selling, General and Administrative Expense]",
        "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": [
      "r95"
     ]
    },
    "clwt_ShanghaiEuroTechLimitedMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "ShanghaiEuroTechLimitedMember",
     "presentation": [
      "http://euro-tech.com/role/IncomeTaxesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Shanghai Euro Tech Limited",
        "label": "[Shanghai Euro Tech Limited]"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_ShanghaiEuroTechsLimitedMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "ShanghaiEuroTechsLimitedMember",
     "presentation": [
      "http://euro-tech.com/role/OrganizationAndBusinessDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shanghai Euro Tech Limited"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensation",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows",
      "http://euro-tech.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock-based compensation expense",
        "verboseLabel": "Compensation expense",
        "documentation": "Amount of noncash expense for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r7"
     ]
    },
    "us-gaap_ShareBasedCompensationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock options"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsDiscountForPostvestingRestrictions": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsDiscountForPostvestingRestrictions",
     "presentation": [
      "http://euro-tech.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair market value ordinary shares percentage",
        "documentation": "Restrictions on equity-based instruments during the vesting period, such as the inability to transfer unvested awards, are not taken into account in estimating the fair value of the award. However, restrictions that remain in effect after an award is vested, such as the inability to transfer or hedge vested options or a prohibition on the sale of outstanding vested shares (or other type of equity) for a period of time, affect the estimate of an award's fair value."
       }
      }
     },
     "auth_ref": [
      "r488"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber",
     "presentation": [
      "http://euro-tech.com/role/StockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Exercisable, end of year",
        "label": "[Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Number]",
        "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": [
      "r481"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice",
     "presentation": [
      "http://euro-tech.com/role/StockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Exercisable, end of years",
        "label": "[Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Exercise Price]",
        "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": [
      "r481"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod",
     "presentation": [
      "http://euro-tech.com/role/StockOptionsDetails",
      "http://euro-tech.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Cancelled",
        "label": "[Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures in Period]",
        "verboseLabel": "Cancelled",
        "documentation": "The number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan."
       }
      }
     },
     "auth_ref": [
      "r483"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod",
     "presentation": [
      "http://euro-tech.com/role/StockOptionsDetails",
      "http://euro-tech.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Granted",
        "verboseLabel": "Granted",
        "documentation": "Net number of share options (or share units) granted during the period."
       }
      }
     },
     "auth_ref": [
      "r1047"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
     "presentation": [
      "http://euro-tech.com/role/StockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Outstanding, beginning of year",
        "label": "[Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number]",
        "periodEndLabel": "Outstanding, end of year",
        "documentation": "Number of options outstanding, including both vested and non-vested options."
       }
      }
     },
     "auth_ref": [
      "r479",
      "r480"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice",
     "presentation": [
      "http://euro-tech.com/role/StockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Outstanding, beginning of years",
        "label": "[Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price]",
        "periodEndLabel": "Outstanding, end of years",
        "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan."
       }
      }
     },
     "auth_ref": [
      "r479",
      "r480"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum",
     "presentation": [
      "http://euro-tech.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Percentage of number of ordinary shares outstanding",
        "documentation": "Maximum number of shares that may be issued in accordance with the plan as a proportion of outstanding capital stock."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://euro-tech.com/role/StockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Cancelled in period",
        "label": "[Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Forfeitures in Period, Weighted Average Exercise Price]",
        "documentation": "Weighted average price at which grantees could have acquired the underlying shares with respect to stock options that were terminated."
       }
      }
     },
     "auth_ref": [
      "r483"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://euro-tech.com/role/StockOptionsDetails",
      "http://euro-tech.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average exercise price, Granted",
        "verboseLabel": "Exercise price options granted",
        "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options."
       }
      }
     },
     "auth_ref": [
      "r482"
     ]
    },
    "us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationOptionAndIncentivePlansPolicy",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock-based compensation",
        "documentation": "Disclosure of accounting policy for award under share-based payment arrangement. Includes, but is not limited to, methodology and assumption used in measuring cost."
       }
      }
     },
     "auth_ref": [
      "r477",
      "r478",
      "r484",
      "r485",
      "r486",
      "r487",
      "r488",
      "r489",
      "r490",
      "r491",
      "r492"
     ]
    },
    "clwt_ShareCapital": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "ShareCapital",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share capital 82,572,000 no par value shares authorized, issued and outstanding, as of December 31, 2023 and 2022, respectively"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_ShareCapitalPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "ShareCapitalPolicyTextBlock",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share capital"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://euro-tech.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair value options granted",
        "documentation": "Weighted average grant-date fair value of options vested."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharesIssued",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Balance, shares",
        "label": "[Shares, Issued]",
        "periodEndLabel": "Balance, shares",
        "documentation": "Number of shares of stock issued as of the balance sheet date, including shares that had been issued and were previously outstanding but which are now held in the treasury."
       }
      }
     },
     "auth_ref": [
      "r11"
     ]
    },
    "us-gaap_SharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharesOutstanding",
     "presentation": [
      "http://euro-tech.com/role/TreasuryStockDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Ordinary share",
        "label": "[Shares, Outstanding]",
        "documentation": "Number of shares issued which are neither cancelled nor held in the treasury."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShippingAndHandlingCostPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShippingAndHandlingCostPolicyTextBlock",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shipping and handling costs",
        "documentation": "Disclosure of accounting policy for the classification of shipping and handling costs, including whether the costs are included in cost of sales or included in other income statement accounts. If shipping and handling fees are significant and are not included in cost of sales, disclosure includes both the amounts of such costs and the line item on the income statement which includes such costs."
       }
      }
     },
     "auth_ref": []
    },
    "clwt_ShippingAndHandlingCostsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "ShippingAndHandlingCostsPolicyTextBlock",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Shipping and handling costs",
        "label": "[Shipping and handling costs]"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_ShortTermAndLongTermInvestmentsDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "ShortTermAndLongTermInvestmentsDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Short-term and long-term investments"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_ShortTermAndLongTermInvestmentsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "ShortTermAndLongTermInvestmentsPolicyTextBlock",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Short-term and long-term investments",
        "label": "[Short-term and long-term investments 1]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShortTermBankLoansAndNotesPayable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShortTermBankLoansAndNotesPayable",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Bank borrowings",
        "label": "[Short-Term Bank Loans and Notes Payable]",
        "documentation": "Amount of borrowings from a bank classified as other, maturing within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r67",
      "r747",
      "r1100"
     ]
    },
    "us-gaap_ShortTermDebtInterestRateIncrease": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShortTermDebtInterestRateIncrease",
     "presentation": [
      "http://euro-tech.com/role/CommitmentsAndContingenciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Average interest rates",
        "documentation": "Percentage increase in the stated interest rate on a short-term debt instrument."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShortTermDebtTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShortTermDebtTypeAxis",
     "presentation": [
      "http://euro-tech.com/role/PrcStatutoryReservesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Short-term Debt, Type [Axis]",
        "documentation": "Information by type of short-term debt arrangement."
       }
      }
     },
     "auth_ref": [
      "r70",
      "r1022",
      "r1023",
      "r1024"
     ]
    },
    "us-gaap_ShortTermDebtTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShortTermDebtTypeDomain",
     "presentation": [
      "http://euro-tech.com/role/PrcStatutoryReservesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Type of short-term debt arrangement, such as notes, line of credit, commercial paper, asset-based financing, project financing, letter of credit financing."
       }
      }
     },
     "auth_ref": [
      "r68",
      "r1022",
      "r1023",
      "r1024"
     ]
    },
    "us-gaap_ShortTermInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShortTermInvestments",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Short-term investments",
        "documentation": "Amount of investments including trading securities, available-for-sale securities, held-to-maturity securities, and short-term investments classified as other and current."
       }
      }
     },
     "auth_ref": [
      "r138",
      "r139",
      "r978"
     ]
    },
    "us-gaap_ShortTermLeaseCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShortTermLeaseCost",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/LeaseObligationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Short-term lease cost",
        "documentation": "Amount of short-term lease cost, excluding expense for lease with term of one month or less."
       }
      }
     },
     "auth_ref": [
      "r576",
      "r888"
     ]
    },
    "us-gaap_SignificantAccountingPoliciesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SignificantAccountingPoliciesTextBlock",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Summary of significant accounting policies",
        "label": "Significant Accounting Policies [Text Block]",
        "documentation": "The entire disclosure for all significant accounting policies of the reporting entity."
       }
      }
     },
     "auth_ref": [
      "r109",
      "r241"
     ]
    },
    "us-gaap_StatementBusinessSegmentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementBusinessSegmentsAxis",
     "presentation": [
      "http://euro-tech.com/role/SegmentInformationDetails1",
      "http://euro-tech.com/role/SegmentInformationDetails2",
      "http://euro-tech.com/role/SegmentInformationDetails3",
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement Business Segments Axis",
        "documentation": "Information by business segments."
       }
      }
     },
     "auth_ref": [
      "r145",
      "r146",
      "r147",
      "r148",
      "r201",
      "r275",
      "r278",
      "r281",
      "r282",
      "r283",
      "r284",
      "r285",
      "r286",
      "r287",
      "r288",
      "r289",
      "r290",
      "r292",
      "r293",
      "r295",
      "r296",
      "r297",
      "r305",
      "r306",
      "r307",
      "r308",
      "r309",
      "r311",
      "r312",
      "r313",
      "r319",
      "r384",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r408",
      "r411",
      "r412",
      "r413",
      "r696",
      "r697",
      "r698",
      "r699",
      "r700",
      "r701",
      "r702",
      "r703",
      "r704",
      "r705",
      "r706",
      "r851",
      "r854",
      "r855",
      "r862",
      "r903",
      "r1104",
      "r1105",
      "r1106",
      "r1107",
      "r1108",
      "r1109",
      "r1110",
      "r1111",
      "r1112",
      "r1113",
      "r1114",
      "r1115",
      "r1116",
      "r1117",
      "r1118",
      "r1119",
      "r1120",
      "r1121",
      "r1122",
      "r1123",
      "r1124",
      "r1125",
      "r1126",
      "r1127",
      "r1128",
      "r1129",
      "r1130",
      "r1131",
      "r1132"
     ]
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementEquityComponentsAxis",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement Equity Components [Axis]",
        "documentation": "Information by component of equity."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r79",
      "r83",
      "r84",
      "r199",
      "r227",
      "r228",
      "r229",
      "r246",
      "r247",
      "r248",
      "r250",
      "r255",
      "r257",
      "r259",
      "r276",
      "r361",
      "r362",
      "r410",
      "r455",
      "r517",
      "r518",
      "r526",
      "r527",
      "r528",
      "r530",
      "r531",
      "r532",
      "r541",
      "r542",
      "r543",
      "r544",
      "r545",
      "r546",
      "r549",
      "r556",
      "r557",
      "r558",
      "r559",
      "r560",
      "r561",
      "r565",
      "r567",
      "r582",
      "r686",
      "r714",
      "r715",
      "r716",
      "r737",
      "r797"
     ]
    },
    "srt_StatementGeographicalAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "StatementGeographicalAxis",
     "presentation": [
      "http://euro-tech.com/role/IncomeTaxesDetailsNarrative",
      "http://euro-tech.com/role/RiskFactorsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Axis]",
        "documentation": "Information by geographical components."
       }
      }
     },
     "auth_ref": [
      "r176",
      "r177",
      "r178",
      "r179",
      "r186",
      "r187",
      "r188",
      "r189",
      "r191",
      "r192",
      "r193",
      "r194",
      "r195",
      "r196",
      "r317",
      "r318",
      "r631",
      "r632",
      "r633",
      "r634",
      "r635",
      "r636",
      "r637",
      "r638",
      "r639",
      "r640",
      "r641",
      "r642",
      "r643",
      "r644",
      "r645",
      "r646",
      "r647",
      "r648",
      "r649",
      "r650",
      "r651",
      "r652",
      "r653",
      "r654",
      "r655",
      "r656",
      "r657",
      "r658",
      "r659",
      "r660",
      "r740",
      "r741",
      "r742",
      "r804",
      "r807",
      "r808",
      "r812",
      "r817",
      "r821",
      "r822",
      "r823",
      "r824",
      "r826",
      "r827",
      "r828",
      "r829",
      "r830",
      "r835",
      "r871",
      "r891",
      "r892",
      "r893",
      "r894",
      "r895",
      "r896",
      "r897",
      "r898",
      "r902",
      "r910",
      "r1038",
      "r1104",
      "r1105",
      "r1106",
      "r1108",
      "r1109",
      "r1110",
      "r1111",
      "r1112",
      "r1113",
      "r1114",
      "r1115",
      "r1116",
      "r1117",
      "r1118",
      "r1119",
      "r1120",
      "r1121",
      "r1122",
      "r1123",
      "r1124",
      "r1125",
      "r1126",
      "r1127",
      "r1128",
      "r1129",
      "r1130",
      "r1131",
      "r1132"
     ]
    },
    "us-gaap_StatementLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementLineItems",
     "presentation": [
      "http://euro-tech.com/role/AccountsReceivableNet",
      "http://euro-tech.com/role/AccountsReceivableNetDetails",
      "http://euro-tech.com/role/AccountsReceivableNetDetails1",
      "http://euro-tech.com/role/AccountsReceivableNetDetails2",
      "http://euro-tech.com/role/AccountsReceivableNetTables",
      "http://euro-tech.com/role/BankBorrowings",
      "http://euro-tech.com/role/BankBorrowingsDetails",
      "http://euro-tech.com/role/BankBorrowingsDetailsNarrative",
      "http://euro-tech.com/role/BankBorrowingsTable",
      "http://euro-tech.com/role/CapitalReserve",
      "http://euro-tech.com/role/CommitmentsAndContingencies",
      "http://euro-tech.com/role/CommitmentsAndContingenciesDetailsNarrative",
      "http://euro-tech.com/role/ConsolidatedBalanceSheets",
      "http://euro-tech.com/role/ConsolidatedBalanceSheetsParenthetical",
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows",
      "http://euro-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity",
      "http://euro-tech.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss",
      "http://euro-tech.com/role/ContractAssetsAndLiabilities",
      "http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails",
      "http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails1",
      "http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails2",
      "http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails3",
      "http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails4",
      "http://euro-tech.com/role/ContractAssetsAndLiabilitiesTables",
      "http://euro-tech.com/role/IncomeTaxes",
      "http://euro-tech.com/role/IncomeTaxesDetails",
      "http://euro-tech.com/role/IncomeTaxesDetails1",
      "http://euro-tech.com/role/IncomeTaxesDetails2",
      "http://euro-tech.com/role/IncomeTaxesDetailsNarrative",
      "http://euro-tech.com/role/IncomeTaxesTables",
      "http://euro-tech.com/role/IntangibleAssetsNet",
      "http://euro-tech.com/role/IntangibleAssetsNetDetails",
      "http://euro-tech.com/role/IntangibleAssetsNetDetails1",
      "http://euro-tech.com/role/IntangibleAssetsNetDetails2",
      "http://euro-tech.com/role/IntangibleAssetsNetTable",
      "http://euro-tech.com/role/Inventories",
      "http://euro-tech.com/role/InventoriesDetails",
      "http://euro-tech.com/role/InventoriesTables",
      "http://euro-tech.com/role/InvestmentsInAffiliatesDetails1",
      "http://euro-tech.com/role/InvestmentsInAffiliatesDetails2",
      "http://euro-tech.com/role/InvestmentsInAffiliatesDetailsNarrative",
      "http://euro-tech.com/role/LandUseRightNet",
      "http://euro-tech.com/role/LandUseRightNetDetails",
      "http://euro-tech.com/role/LandUseRightNetDetails1",
      "http://euro-tech.com/role/LandUseRightNetDetails2",
      "http://euro-tech.com/role/LandUseRightNetDetailsNarrative",
      "http://euro-tech.com/role/LandUseRightNetTable",
      "http://euro-tech.com/role/LeaseObligations",
      "http://euro-tech.com/role/LeaseObligationsDetails",
      "http://euro-tech.com/role/LeaseObligationsDetails1",
      "http://euro-tech.com/role/LeaseObligationsDetails2",
      "http://euro-tech.com/role/LeaseObligationsTables",
      "http://euro-tech.com/role/OrganizationAndBusinessBackground",
      "http://euro-tech.com/role/OrganizationAndBusinessBackgroundTables",
      "http://euro-tech.com/role/OrganizationAndBusinessDetails",
      "http://euro-tech.com/role/OtherIncomeAndOtherLosses",
      "http://euro-tech.com/role/OtherIncomeAndOtherLossesDetails",
      "http://euro-tech.com/role/OtherIncomeAndOtherLossesDetails1",
      "http://euro-tech.com/role/OtherIncomeAndOtherLossesTable",
      "http://euro-tech.com/role/OtherPayablesAndAccruedExpenses",
      "http://euro-tech.com/role/OtherPayablesAndAccruedExpensesDetails",
      "http://euro-tech.com/role/OtherPayablesAndAccruedExpensesTables",
      "http://euro-tech.com/role/OtherTaxesPayable",
      "http://euro-tech.com/role/OtherTaxesPayableDetailsNarrative",
      "http://euro-tech.com/role/PensionPlan",
      "http://euro-tech.com/role/PensionPlanDetailsNarrative",
      "http://euro-tech.com/role/PrcStatutoryReservesDetailsNarrative",
      "http://euro-tech.com/role/PrepaymentsAndOtherCurrentAssets",
      "http://euro-tech.com/role/PrepaymentsAndOtherCurrentAssetsDetails",
      "http://euro-tech.com/role/PrepaymentsAndOtherCurrentAssetsTables",
      "http://euro-tech.com/role/PropertyPlantAndEquipmentNet",
      "http://euro-tech.com/role/PropertyPlantAndEquipmentNetDetails",
      "http://euro-tech.com/role/PropertyPlantAndEquipmentNetDetails1",
      "http://euro-tech.com/role/PropertyPlantAndEquipmentNetDetailsNarrative",
      "http://euro-tech.com/role/PropertyPlantAndEquipmentNetTables",
      "http://euro-tech.com/role/RelatedPartyTransactions",
      "http://euro-tech.com/role/RelatedPartyTransactionsDetailsNarrative",
      "http://euro-tech.com/role/RiskFactors",
      "http://euro-tech.com/role/RiskFactorsDetailsNarrative",
      "http://euro-tech.com/role/SegmentInformationDetails",
      "http://euro-tech.com/role/SegmentInformationDetails1",
      "http://euro-tech.com/role/SegmentInformationDetails2",
      "http://euro-tech.com/role/SegmentInformationDetails3",
      "http://euro-tech.com/role/ShortTermAndLongTermInvestments",
      "http://euro-tech.com/role/ShortTermAndLongTermInvestmentsDetailsNarrative",
      "http://euro-tech.com/role/StockOptionsDetails",
      "http://euro-tech.com/role/StockOptionsDetailsNarrative",
      "http://euro-tech.com/role/SubsequentEvents",
      "http://euro-tech.com/role/SubsequentEventsDetailsNarrative",
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPolicies",
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetails1",
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative",
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies",
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesTables",
      "http://euro-tech.com/role/TreasuryStockDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r246",
      "r247",
      "r248",
      "r276",
      "r567",
      "r628",
      "r723",
      "r739",
      "r743",
      "r744",
      "r745",
      "r746",
      "r748",
      "r749",
      "r752",
      "r755",
      "r756",
      "r757",
      "r758",
      "r759",
      "r763",
      "r764",
      "r765",
      "r766",
      "r769",
      "r770",
      "r771",
      "r772",
      "r773",
      "r775",
      "r778",
      "r779",
      "r783",
      "r784",
      "r785",
      "r786",
      "r787",
      "r788",
      "r789",
      "r790",
      "r791",
      "r792",
      "r793",
      "r794",
      "r797",
      "r911"
     ]
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementOfCashFlowsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "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": "CONSOLIDATED BALANCE SHEETS"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementOfStockholdersEquityAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS' EQUITY"
       }
      }
     },
     "auth_ref": []
    },
    "srt_StatementScenarioAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "StatementScenarioAxis",
     "presentation": [
      "http://euro-tech.com/role/InvestmentsInAffiliatesDetails1",
      "http://euro-tech.com/role/InvestmentsInAffiliatesDetails2",
      "http://euro-tech.com/role/InvestmentsInAffiliatesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement Scenario Axis",
        "documentation": "Information by scenario reported, distinguishing information from actual fact. Includes, but is not limited to, pro forma and forecast. Excludes actual facts."
       }
      }
     },
     "auth_ref": [
      "r198",
      "r260",
      "r476",
      "r953",
      "r957",
      "r996"
     ]
    },
    "us-gaap_StatementTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementTable",
     "presentation": [
      "http://euro-tech.com/role/AccountsReceivableNet",
      "http://euro-tech.com/role/AccountsReceivableNetDetails",
      "http://euro-tech.com/role/AccountsReceivableNetDetails1",
      "http://euro-tech.com/role/AccountsReceivableNetDetails2",
      "http://euro-tech.com/role/AccountsReceivableNetTables",
      "http://euro-tech.com/role/BankBorrowings",
      "http://euro-tech.com/role/BankBorrowingsDetails",
      "http://euro-tech.com/role/BankBorrowingsDetailsNarrative",
      "http://euro-tech.com/role/BankBorrowingsTable",
      "http://euro-tech.com/role/CapitalReserve",
      "http://euro-tech.com/role/CommitmentsAndContingencies",
      "http://euro-tech.com/role/CommitmentsAndContingenciesDetailsNarrative",
      "http://euro-tech.com/role/ConsolidatedBalanceSheets",
      "http://euro-tech.com/role/ConsolidatedBalanceSheetsParenthetical",
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows",
      "http://euro-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity",
      "http://euro-tech.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss",
      "http://euro-tech.com/role/ContractAssetsAndLiabilities",
      "http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails",
      "http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails1",
      "http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails2",
      "http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails3",
      "http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails4",
      "http://euro-tech.com/role/ContractAssetsAndLiabilitiesTables",
      "http://euro-tech.com/role/IncomeTaxes",
      "http://euro-tech.com/role/IncomeTaxesDetails",
      "http://euro-tech.com/role/IncomeTaxesDetails1",
      "http://euro-tech.com/role/IncomeTaxesDetails2",
      "http://euro-tech.com/role/IncomeTaxesDetailsNarrative",
      "http://euro-tech.com/role/IncomeTaxesTables",
      "http://euro-tech.com/role/IntangibleAssetsNet",
      "http://euro-tech.com/role/IntangibleAssetsNetDetails",
      "http://euro-tech.com/role/IntangibleAssetsNetDetails1",
      "http://euro-tech.com/role/IntangibleAssetsNetDetails2",
      "http://euro-tech.com/role/IntangibleAssetsNetTable",
      "http://euro-tech.com/role/Inventories",
      "http://euro-tech.com/role/InventoriesDetails",
      "http://euro-tech.com/role/InventoriesTables",
      "http://euro-tech.com/role/InvestmentsInAffiliatesDetails1",
      "http://euro-tech.com/role/InvestmentsInAffiliatesDetails2",
      "http://euro-tech.com/role/InvestmentsInAffiliatesDetailsNarrative",
      "http://euro-tech.com/role/LandUseRightNet",
      "http://euro-tech.com/role/LandUseRightNetDetails",
      "http://euro-tech.com/role/LandUseRightNetDetails1",
      "http://euro-tech.com/role/LandUseRightNetDetails2",
      "http://euro-tech.com/role/LandUseRightNetDetailsNarrative",
      "http://euro-tech.com/role/LandUseRightNetTable",
      "http://euro-tech.com/role/LeaseObligations",
      "http://euro-tech.com/role/LeaseObligationsDetails",
      "http://euro-tech.com/role/LeaseObligationsDetails1",
      "http://euro-tech.com/role/LeaseObligationsDetails2",
      "http://euro-tech.com/role/LeaseObligationsTables",
      "http://euro-tech.com/role/OrganizationAndBusinessBackground",
      "http://euro-tech.com/role/OrganizationAndBusinessBackgroundTables",
      "http://euro-tech.com/role/OrganizationAndBusinessDetails",
      "http://euro-tech.com/role/OtherIncomeAndOtherLosses",
      "http://euro-tech.com/role/OtherIncomeAndOtherLossesDetails",
      "http://euro-tech.com/role/OtherIncomeAndOtherLossesDetails1",
      "http://euro-tech.com/role/OtherIncomeAndOtherLossesTable",
      "http://euro-tech.com/role/OtherPayablesAndAccruedExpenses",
      "http://euro-tech.com/role/OtherPayablesAndAccruedExpensesDetails",
      "http://euro-tech.com/role/OtherPayablesAndAccruedExpensesTables",
      "http://euro-tech.com/role/OtherTaxesPayable",
      "http://euro-tech.com/role/OtherTaxesPayableDetailsNarrative",
      "http://euro-tech.com/role/PensionPlan",
      "http://euro-tech.com/role/PensionPlanDetailsNarrative",
      "http://euro-tech.com/role/PrcStatutoryReservesDetailsNarrative",
      "http://euro-tech.com/role/PrepaymentsAndOtherCurrentAssets",
      "http://euro-tech.com/role/PrepaymentsAndOtherCurrentAssetsDetails",
      "http://euro-tech.com/role/PrepaymentsAndOtherCurrentAssetsTables",
      "http://euro-tech.com/role/PropertyPlantAndEquipmentNet",
      "http://euro-tech.com/role/PropertyPlantAndEquipmentNetDetails",
      "http://euro-tech.com/role/PropertyPlantAndEquipmentNetDetails1",
      "http://euro-tech.com/role/PropertyPlantAndEquipmentNetDetailsNarrative",
      "http://euro-tech.com/role/PropertyPlantAndEquipmentNetTables",
      "http://euro-tech.com/role/RelatedPartyTransactions",
      "http://euro-tech.com/role/RelatedPartyTransactionsDetailsNarrative",
      "http://euro-tech.com/role/RiskFactors",
      "http://euro-tech.com/role/RiskFactorsDetailsNarrative",
      "http://euro-tech.com/role/SegmentInformationDetails",
      "http://euro-tech.com/role/SegmentInformationDetails1",
      "http://euro-tech.com/role/SegmentInformationDetails2",
      "http://euro-tech.com/role/SegmentInformationDetails3",
      "http://euro-tech.com/role/ShortTermAndLongTermInvestments",
      "http://euro-tech.com/role/ShortTermAndLongTermInvestmentsDetailsNarrative",
      "http://euro-tech.com/role/StockOptionsDetails",
      "http://euro-tech.com/role/StockOptionsDetailsNarrative",
      "http://euro-tech.com/role/SubsequentEvents",
      "http://euro-tech.com/role/SubsequentEventsDetailsNarrative",
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPolicies",
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetails1",
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative",
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies",
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesTables",
      "http://euro-tech.com/role/TreasuryStockDetailsNarrative"
     ],
     "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": [
      "r246",
      "r247",
      "r248",
      "r276",
      "r320",
      "r567",
      "r628",
      "r723",
      "r739",
      "r743",
      "r744",
      "r745",
      "r746",
      "r748",
      "r749",
      "r752",
      "r755",
      "r756",
      "r757",
      "r758",
      "r759",
      "r763",
      "r764",
      "r765",
      "r766",
      "r769",
      "r770",
      "r771",
      "r772",
      "r773",
      "r775",
      "r778",
      "r779",
      "r783",
      "r784",
      "r785",
      "r786",
      "r787",
      "r788",
      "r789",
      "r790",
      "r791",
      "r792",
      "r793",
      "r794",
      "r797",
      "r911"
     ]
    },
    "us-gaap_StatutoryAccountingPracticesStatutoryCapitalAndSurplusBalance": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatutoryAccountingPracticesStatutoryCapitalAndSurplusBalance",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "PRC statutory reserve",
        "label": "[Statutory Accounting Practices, Statutory Capital and Surplus, Balance]",
        "documentation": "The amount of statutory capital and surplus (stockholders' equity) as of the balance sheet date using prescribed or permitted statutory accounting practices (rather than GAAP, if different) of the state or country."
       }
      }
     },
     "auth_ref": [
      "r65",
      "r676"
     ]
    },
    "us-gaap_StatutoryAccountingPracticesStatutoryNetIncomeAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatutoryAccountingPracticesStatutoryNetIncomeAmount",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/PrcStatutoryReservesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statutory reserve",
        "documentation": "Amount of net income for the period determined using accounting principles prescribed or permitted by insurance regulators."
       }
      }
     },
     "auth_ref": [
      "r676"
     ]
    },
    "clwt_StatutoryAccountingPracticesStatutoryNetIncomePercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "StatutoryAccountingPracticesStatutoryNetIncomePercentage",
     "presentation": [
      "http://euro-tech.com/role/PrcStatutoryReservesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net income statutory reserve fund"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_StatutoryReserveFundMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "StatutoryReserveFundMember",
     "presentation": [
      "http://euro-tech.com/role/PrcStatutoryReservesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statutory Reserve Fund"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_StatutoryReservesPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "StatutoryReservesPolicyTextBlock",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statutory reserves"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_StatutoryStaffWelfareFundMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "StatutoryStaffWelfareFundMember",
     "presentation": [
      "http://euro-tech.com/role/PrcStatutoryReservesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statutory Staff Welfare Fund"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_StockBasedCompensationExpenseAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "StockBasedCompensationExpenseAmount",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Stock-based compensation expense",
        "label": "[Stock-based compensation expense]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockIssuedDuringPeriodSharesNewIssues": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockIssuedDuringPeriodSharesNewIssues",
     "presentation": [
      "http://euro-tech.com/role/OrdinaryShareDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "New shares of common stock",
        "documentation": "Number of new stock issued during the period."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r78",
      "r79",
      "r122",
      "r728",
      "r797",
      "r813"
     ]
    },
    "us-gaap_StockOptionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockOptionMember",
     "presentation": [
      "http://euro-tech.com/role/StockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Options",
        "documentation": "Contracts conveying rights, but not obligations, to buy or sell a specific quantity of stock at a specified price during a specified period (an American option) or at a specified date (a European option)."
       }
      }
     },
     "auth_ref": [
      "r910"
     ]
    },
    "clwt_StockRepurchasePlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "StockRepurchasePlanMember",
     "presentation": [
      "http://euro-tech.com/role/TreasuryStockDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Repurchase Plan [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockRepurchasedDuringPeriodShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockRepurchasedDuringPeriodShares",
     "presentation": [
      "http://euro-tech.com/role/StockOptionsDetailsNarrative",
      "http://euro-tech.com/role/SubsequentEventsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Purchase ordinary shares",
        "verboseLabel": "Purchase ordinary shares",
        "documentation": "Number of shares that have been repurchased during the period and have not been retired and are not held in treasury. Some state laws may govern the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r78",
      "r79",
      "r122",
      "r729",
      "r797",
      "r814"
     ]
    },
    "us-gaap_StockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockholdersEquity",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedBalanceSheets",
      "http://euro-tech.com/role/InvestmentsInAffiliatesDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total shareholders' equity attributable to Euro Tech Holdings Company Limited",
        "verboseLabel": "Total shareholders' equity",
        "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r79",
      "r83",
      "r84",
      "r112",
      "r754",
      "r774",
      "r798",
      "r799",
      "r889",
      "r918",
      "r991",
      "r1011",
      "r1087",
      "r1135"
     ]
    },
    "us-gaap_StockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockholdersEquityAbstract",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SHAREHOLDERS' EQUITY"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedBalanceSheets",
      "http://euro-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shareholders' equity",
        "periodStartLabel": "Balance, amount",
        "periodEndLabel": "Balance, amount",
        "documentation": "Amount of equity (deficit) attributable to parent and noncontrolling interest. Excludes temporary equity."
       }
      }
     },
     "auth_ref": [
      "r53",
      "r54",
      "r57",
      "r199",
      "r200",
      "r228",
      "r246",
      "r247",
      "r248",
      "r250",
      "r255",
      "r257",
      "r361",
      "r362",
      "r410",
      "r455",
      "r517",
      "r518",
      "r526",
      "r527",
      "r528",
      "r530",
      "r531",
      "r532",
      "r541",
      "r542",
      "r543",
      "r544",
      "r545",
      "r546",
      "r549",
      "r556",
      "r557",
      "r561",
      "r566",
      "r582",
      "r715",
      "r716",
      "r735",
      "r754",
      "r774",
      "r798",
      "r799",
      "r815",
      "r917",
      "r991",
      "r1011",
      "r1087",
      "r1135"
     ]
    },
    "us-gaap_StockholdersEquityNoteDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockholdersEquityNoteDisclosureTextBlock",
     "presentation": [
      "http://euro-tech.com/role/OrdinaryShare"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Ordinary share",
        "label": "Equity [Text Block]",
        "documentation": "The entire disclosure for equity."
       }
      }
     },
     "auth_ref": [
      "r119",
      "r242",
      "r442",
      "r443",
      "r444",
      "r445",
      "r446",
      "r447",
      "r448",
      "r449",
      "r450",
      "r451",
      "r452",
      "r454",
      "r455",
      "r548",
      "r800",
      "r802",
      "r816"
     ]
    },
    "us-gaap_SubordinatedBorrowingInterestRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubordinatedBorrowingInterestRate",
     "presentation": [
      "http://euro-tech.com/role/BankBorrowingsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest fixed rates",
        "documentation": "Stated interest rate of the subordinated debt."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SubsequentEventMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubsequentEventMember",
     "presentation": [
      "http://euro-tech.com/role/SubsequentEventsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Event [Member]",
        "documentation": "Identifies event that occurred after the balance sheet date but before financial statements are issued or available to be issued."
       }
      }
     },
     "auth_ref": [
      "r562",
      "r591"
     ]
    },
    "us-gaap_SubsequentEventTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubsequentEventTypeAxis",
     "presentation": [
      "http://euro-tech.com/role/SubsequentEventsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Event Type [Axis]",
        "documentation": "Information by event that occurred after the balance sheet date but before financial statements are issued or available to be issued."
       }
      }
     },
     "auth_ref": [
      "r562",
      "r591"
     ]
    },
    "us-gaap_SubsequentEventTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubsequentEventTypeDomain",
     "presentation": [
      "http://euro-tech.com/role/SubsequentEventsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Event that occurred after the balance sheet date but before financial statements are issued or available to be issued."
       }
      }
     },
     "auth_ref": [
      "r562",
      "r591"
     ]
    },
    "us-gaap_SubsequentEventsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubsequentEventsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent events"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SubsequentEventsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubsequentEventsTextBlock",
     "presentation": [
      "http://euro-tech.com/role/SubsequentEvents"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Subsequent events",
        "label": "Subsequent Events [Text Block]",
        "documentation": "The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business."
       }
      }
     },
     "auth_ref": [
      "r590",
      "r592"
     ]
    },
    "srt_SubsidiariesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "SubsidiariesMember",
     "presentation": [
      "http://euro-tech.com/role/AccountsReceivableNet",
      "http://euro-tech.com/role/AccountsReceivableNetTables",
      "http://euro-tech.com/role/BankBorrowings",
      "http://euro-tech.com/role/BankBorrowingsDetails",
      "http://euro-tech.com/role/BankBorrowingsDetailsNarrative",
      "http://euro-tech.com/role/BankBorrowingsTable",
      "http://euro-tech.com/role/CapitalReserve",
      "http://euro-tech.com/role/CommitmentsAndContingencies",
      "http://euro-tech.com/role/ConsolidatedBalanceSheets",
      "http://euro-tech.com/role/ConsolidatedBalanceSheetsParenthetical",
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows",
      "http://euro-tech.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss",
      "http://euro-tech.com/role/ContractAssetsAndLiabilities",
      "http://euro-tech.com/role/ContractAssetsAndLiabilitiesTables",
      "http://euro-tech.com/role/IncomeTaxes",
      "http://euro-tech.com/role/IncomeTaxesTables",
      "http://euro-tech.com/role/IntangibleAssetsNet",
      "http://euro-tech.com/role/IntangibleAssetsNetTable",
      "http://euro-tech.com/role/Inventories",
      "http://euro-tech.com/role/InventoriesTables",
      "http://euro-tech.com/role/LandUseRightNet",
      "http://euro-tech.com/role/LandUseRightNetDetails",
      "http://euro-tech.com/role/LandUseRightNetDetails2",
      "http://euro-tech.com/role/LandUseRightNetDetailsNarrative",
      "http://euro-tech.com/role/LandUseRightNetTable",
      "http://euro-tech.com/role/LeaseObligations",
      "http://euro-tech.com/role/LeaseObligationsTables",
      "http://euro-tech.com/role/OrganizationAndBusinessBackground",
      "http://euro-tech.com/role/OrganizationAndBusinessBackgroundTables",
      "http://euro-tech.com/role/OtherIncomeAndOtherLosses",
      "http://euro-tech.com/role/OtherIncomeAndOtherLossesDetails",
      "http://euro-tech.com/role/OtherIncomeAndOtherLossesDetails1",
      "http://euro-tech.com/role/OtherIncomeAndOtherLossesTable",
      "http://euro-tech.com/role/OtherPayablesAndAccruedExpenses",
      "http://euro-tech.com/role/OtherPayablesAndAccruedExpensesTables",
      "http://euro-tech.com/role/OtherTaxesPayable",
      "http://euro-tech.com/role/OtherTaxesPayableDetailsNarrative",
      "http://euro-tech.com/role/PensionPlan",
      "http://euro-tech.com/role/PensionPlanDetailsNarrative",
      "http://euro-tech.com/role/PrepaymentsAndOtherCurrentAssets",
      "http://euro-tech.com/role/PrepaymentsAndOtherCurrentAssetsTables",
      "http://euro-tech.com/role/PropertyPlantAndEquipmentNet",
      "http://euro-tech.com/role/PropertyPlantAndEquipmentNetTables",
      "http://euro-tech.com/role/RelatedPartyTransactions",
      "http://euro-tech.com/role/RelatedPartyTransactionsDetailsNarrative",
      "http://euro-tech.com/role/RiskFactors",
      "http://euro-tech.com/role/RiskFactorsDetailsNarrative",
      "http://euro-tech.com/role/ShortTermAndLongTermInvestments",
      "http://euro-tech.com/role/SubsequentEvents",
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPolicies",
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetails1",
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies",
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ZHEJIANG TIANLAN",
        "verboseLabel": "ZHEJIANG TIANLAN",
        "documentation": "Entity in which controlling financial interest is held. Includes, but is not limited to, variable interest entity (VIE) consolidated by primary beneficiary. Excludes entity in which broker-dealer holds controlling financial interest but control is likely to be temporary."
       }
      }
     },
     "auth_ref": [
      "r1039",
      "r1091",
      "r1092",
      "r1093"
     ]
    },
    "srt_SubsidiaryIssuerMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "SubsidiaryIssuerMember",
     "presentation": [
      "http://euro-tech.com/role/AccountsReceivableNetDetails",
      "http://euro-tech.com/role/AccountsReceivableNetDetails1",
      "http://euro-tech.com/role/AccountsReceivableNetDetails2",
      "http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails",
      "http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails1",
      "http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails2",
      "http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails3",
      "http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails4",
      "http://euro-tech.com/role/IncomeTaxesDetails",
      "http://euro-tech.com/role/IncomeTaxesDetails1",
      "http://euro-tech.com/role/IncomeTaxesDetails2",
      "http://euro-tech.com/role/IntangibleAssetsNetDetails",
      "http://euro-tech.com/role/IntangibleAssetsNetDetails1",
      "http://euro-tech.com/role/IntangibleAssetsNetDetails2",
      "http://euro-tech.com/role/InventoriesDetails",
      "http://euro-tech.com/role/LandUseRightNetDetails1",
      "http://euro-tech.com/role/LeaseObligationsDetails",
      "http://euro-tech.com/role/LeaseObligationsDetails1",
      "http://euro-tech.com/role/LeaseObligationsDetails2",
      "http://euro-tech.com/role/OtherPayablesAndAccruedExpensesDetails",
      "http://euro-tech.com/role/PensionPlanDetailsNarrative",
      "http://euro-tech.com/role/PrepaymentsAndOtherCurrentAssetsDetails",
      "http://euro-tech.com/role/PropertyPlantAndEquipmentNetDetails",
      "http://euro-tech.com/role/PropertyPlantAndEquipmentNetDetails1",
      "http://euro-tech.com/role/PropertyPlantAndEquipmentNetDetailsNarrative",
      "http://euro-tech.com/role/ShortTermAndLongTermInvestmentsDetailsNarrative",
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "ZHEJIANG TIANLAN",
        "label": "Subsidiary Issuer [Member]",
        "documentation": "Entity in which controlling financial interest is held guaranteeing issuance of security by another subsidiary or parent. Includes, but is not limited to, variable interest entity (VIE) consolidated by primary beneficiary. Excludes entity in which broker-dealer holds controlling financial interest but control is likely to be temporary."
       }
      }
     },
     "auth_ref": []
    },
    "clwt_SubsidiaryMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "SubsidiaryMember",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "ZHEJIANG TIANLAN",
        "label": "[ZHEJIANG TIANLAN]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions",
     "presentation": [
      "http://euro-tech.com/role/OrganizationAndBusinessDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Percentage of equity ownership",
        "documentation": "Percentage of subsidiary's or equity method investee's stock owned by parent immediately after all stock transactions."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SubsidiarySaleOfStockAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubsidiarySaleOfStockAxis",
     "presentation": [
      "http://euro-tech.com/role/IncomeTaxesDetailsNarrative",
      "http://euro-tech.com/role/OrganizationAndBusinessDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsidiary Sale Of Stock Axis",
        "documentation": "Information by type of sale of the entity's stock."
       }
      }
     },
     "auth_ref": []
    },
    "clwt_SubsidyIncome": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "SubsidyIncome",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/OtherIncomeAndOtherLossesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsidy income from PRC government"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_SummaryOfTheFinancialInformationOfTheAffiliates": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "SummaryOfTheFinancialInformationOfTheAffiliates",
     "presentation": [
      "http://euro-tech.com/role/InvestmentsInAffiliatesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Summary of the financial information of the affiliates"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SupplementalCashFlowInformationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SupplementalCashFlowInformationAbstract",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SUPPLEMENTAL DISCLOSURE OF CASH FLOW INFORMATION:"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_SuppliersAMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "SuppliersAMember",
     "presentation": [
      "http://euro-tech.com/role/SegmentInformationDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplier A"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_SuppliersBMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "SuppliersBMember",
     "presentation": [
      "http://euro-tech.com/role/SegmentInformationDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplier B"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_SuppliersCMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "SuppliersCMember",
     "presentation": [
      "http://euro-tech.com/role/SegmentInformationDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplier C"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_SuppliersDMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "SuppliersDMember",
     "presentation": [
      "http://euro-tech.com/role/SegmentInformationDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplier D"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_SuppliersEMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "SuppliersEMember",
     "presentation": [
      "http://euro-tech.com/role/SegmentInformationDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplier E"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_SuppliersFMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "SuppliersFMember",
     "presentation": [
      "http://euro-tech.com/role/SegmentInformationDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplier F"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_TangibleNetWorth": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "TangibleNetWorth",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/CommitmentsAndContingenciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Tangible net worth"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_TaxEffectOfRevenueNotSubjectToTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "TaxEffectOfRevenueNotSubjectToTax",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/IncomeTaxesDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Tax effect of revenue not subject to tax"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TaxesPayableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TaxesPayableCurrent",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income tax payable",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for statutory income, sales, use, payroll, excise, real, property and other taxes. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r70",
      "r71"
     ]
    },
    "clwt_TemporaryDifferences": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "TemporaryDifferences",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/IncomeTaxesDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Temporary differences"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_ThePRCsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "ThePRCsMember",
     "presentation": [
      "http://euro-tech.com/role/SegmentInformationDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "The PRC"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_ThreeMonthPastDueMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "ThreeMonthPastDueMember",
     "presentation": [
      "http://euro-tech.com/role/AccountsReceivableNetDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "61 - 90 Days Past Due"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_ThreeYearsToFourYearMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "ThreeYearsToFourYearMember",
     "presentation": [
      "http://euro-tech.com/role/AccountsReceivableNetDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "3years - 4 years Member"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_TopsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "TopsMember",
     "presentation": [
      "http://euro-tech.com/role/OtherTaxesPayableDetailsNarrative",
      "http://euro-tech.com/role/PensionPlanDetailsNarrative",
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Tops",
        "verboseLabel": "Tops"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_TotalOperatingLeaseCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "TotalOperatingLeaseCost",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/LeaseObligationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total operating lease cost"
       }
      }
     },
     "auth_ref": []
    },
    "dei_TradingSymbol": {
     "xbrltype": "tradingSymbolItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "TradingSymbol",
     "presentation": [
      "http://euro-tech.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Symbol",
        "documentation": "Trading symbol of an instrument as listed on an exchange."
       }
      }
     },
     "auth_ref": []
    },
    "clwt_TradingsAndManufacturingMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "TradingsAndManufacturingMember",
     "presentation": [
      "http://euro-tech.com/role/SegmentInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading and Manufacturing"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain",
     "presentation": [
      "http://euro-tech.com/role/StockOptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Instrument or contract that imposes a contractual obligation to deliver cash or another financial instrument or to exchange other financial instruments on potentially unfavorable terms and conveys a contractual right to receive cash or another financial instrument or to exchange other financial instruments on potentially favorable terms."
       }
      }
     },
     "auth_ref": [
      "r327",
      "r328",
      "r329",
      "r330",
      "r331",
      "r332",
      "r333",
      "r334",
      "r335",
      "r336",
      "r337",
      "r338",
      "r339",
      "r340",
      "r341",
      "r342",
      "r343",
      "r344",
      "r345",
      "r346",
      "r347",
      "r348",
      "r349",
      "r350",
      "r351",
      "r352",
      "r353",
      "r354",
      "r355",
      "r356",
      "r441",
      "r453",
      "r547",
      "r552",
      "r593",
      "r594",
      "r595",
      "r596",
      "r597",
      "r598",
      "r599",
      "r600",
      "r601",
      "r602",
      "r603",
      "r604",
      "r605",
      "r606",
      "r607",
      "r608",
      "r609",
      "r610",
      "r611",
      "r612",
      "r613",
      "r614",
      "r615",
      "r616",
      "r617",
      "r618",
      "r619",
      "r620",
      "r621",
      "r622",
      "r687",
      "r876",
      "r879",
      "r880",
      "r881",
      "r882",
      "r883",
      "r884",
      "r885",
      "r886",
      "r890",
      "r960",
      "r961",
      "r962",
      "r963",
      "r964",
      "r965",
      "r966",
      "r1006",
      "r1007",
      "r1008",
      "r1009",
      "r1079",
      "r1082",
      "r1083",
      "r1084",
      "r1085",
      "r1086"
     ]
    },
    "clwt_TreasuryStockAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "TreasuryStockAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Treasury stock"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TreasuryStockCommonMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TreasuryStockCommonMember",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Treasury Stock",
        "documentation": "Previously issued common shares repurchased by the issuing entity and held in treasury."
       }
      }
     },
     "auth_ref": [
      "r51"
     ]
    },
    "us-gaap_TreasuryStockCommonShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TreasuryStockCommonShares",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedBalanceSheetsParenthetical",
      "http://euro-tech.com/role/OrdinaryShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Treasury stock, shares",
        "negatedLabel": "Less: shares under treasury stock",
        "documentation": "Number of previously issued common shares repurchased by the issuing entity and held in treasury."
       }
      }
     },
     "auth_ref": [
      "r51"
     ]
    },
    "us-gaap_TreasuryStockTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TreasuryStockTextBlock",
     "presentation": [
      "http://euro-tech.com/role/TreasuryStock"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Treasury stock",
        "label": "Treasury Stock [Text Block]",
        "documentation": "The entire disclosure for treasury stock, including, but not limited to, average cost per share, description of share repurchase program, shares repurchased, shares held for each class of treasury stock."
       }
      }
     },
     "auth_ref": [
      "r124"
     ]
    },
    "us-gaap_TreasuryStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TreasuryStockValue",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Treasury stock, 183,533 and 178,400 shares at cost, as of December 31, 2024 and 2023, respectively",
        "label": "[Treasury Stock, Value]",
        "documentation": "The amount allocated to treasury stock. Treasury stock is common and preferred shares of an entity that were issued, repurchased by the entity, and are held in its treasury."
       }
      }
     },
     "auth_ref": [
      "r51",
      "r52",
      "r79",
      "r83"
     ]
    },
    "clwt_TwoThousandTwentyNineStockOptionAndIncentivePlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "TwoThousandTwentyNineStockOptionAndIncentivePlanMember",
     "presentation": [
      "http://euro-tech.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2019 Stock Option and Incentive Plan"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_TwoYearToThreeYearMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "TwoYearToThreeYearMember",
     "presentation": [
      "http://euro-tech.com/role/AccountsReceivableNetDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2years - 3 years Member"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_UnallocatedCorporateExpensessMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "UnallocatedCorporateExpensessMember",
     "presentation": [
      "http://euro-tech.com/role/SegmentInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unallocated Corporate Expenses"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_UnbilledRevenuesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "UnbilledRevenuesMember",
     "presentation": [
      "http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails",
      "http://euro-tech.com/role/ContractAssetsAndLiabilitiesDetails4"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unbilled revenue",
        "verboseLabel": "Unbilled revenue",
        "documentation": "Unbilled amounts due for services rendered or products shipped. This element is distinct from unbilled contracts receivables because this is based on noncontract transactions."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_UndistributedEarnings": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "UndistributedEarnings",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/InvestmentsInAffiliatesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share of undistributed profits",
        "documentation": "The earnings that is allocated to common stock and participating securities to the extent that each security may share in earnings as if all of the earnings for the period had been distributed."
       }
      }
     },
     "auth_ref": [
      "r265",
      "r267"
     ]
    },
    "us-gaap_UndistributedEarningsDiluted": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "UndistributedEarningsDiluted",
     "crdr": "credit",
     "presentation": [
      "http://euro-tech.com/role/IncomeTaxesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate undistributed earnings",
        "documentation": "The earnings that is allocated to common stock and participating securities to the extent that each security may share in earnings as if all of the earnings for the period had been distributed. Includes the adjustments resulting from the assumption that dilutive securities were converted, options or warrants were exercised, or that other shares were issued upon the satisfaction of certain conditions."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_UnusualRisksAndUncertaintiesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "UnusualRisksAndUncertaintiesTextBlock",
     "presentation": [
      "http://euro-tech.com/role/RiskAndUncertainty"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Risk and uncertainty",
        "label": "Unusual Risks and Uncertainties [Table Text Block]",
        "documentation": "Tabular disclosure of the nature of the unusual risk or uncertainty, if estimable, such as the threat of expropriation of its assets by a foreign government, rapid technological obsolescence in the industry, risk of natural disaster from earthquake or weather events, and availability of or continuation of a labor force at a reasonable cost."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_UseOfEstimates": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "UseOfEstimates",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "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": [
      "r33",
      "r34",
      "r35",
      "r163",
      "r164",
      "r167",
      "r168"
     ]
    },
    "clwt_UtilisedForIssuanceOfBankGuarantees": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "UtilisedForIssuanceOfBankGuarantees",
     "crdr": "debit",
     "presentation": [
      "http://euro-tech.com/role/CommitmentsAndContingenciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Utilised for issuance of bank guarantees"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_ValuedAddedTaxInterestRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "ValuedAddedTaxInterestRate",
     "presentation": [
      "http://euro-tech.com/role/OtherTaxesPayableDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Valued-Added Tax rate"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_VehiclesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "VehiclesMember",
     "presentation": [
      "http://euro-tech.com/role/SummaryOfSignificantAccountingPoliciesDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Motor Vehicles",
        "documentation": "Equipment used primarily for road transportation."
       }
      }
     },
     "auth_ref": []
    },
    "clwt_VolatilityRateForCompanies": {
     "xbrltype": "percentItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "VolatilityRateForCompanies",
     "presentation": [
      "http://euro-tech.com/role/CommitmentsAndContingenciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Volatility rate"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "WeightedAverageNumberDilutedSharesOutstandingAdjustment",
     "presentation": [
      "http://euro-tech.com/role/StockOptionsDetails",
      "http://euro-tech.com/role/StockOptionsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Bonus shares adjustment",
        "verboseLabel": "Bonus shares adjustment",
        "documentation": "The sum of dilutive potential common shares or units used in the calculation of the diluted per-share or per-unit computation."
       }
      }
     },
     "auth_ref": [
      "r998"
     ]
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfOperationsAndComprehensiveIncomeLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average common shares outstanding- Basic and Diluted",
        "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period."
       }
      }
     },
     "auth_ref": [
      "r262",
      "r269"
     ]
    },
    "clwt_WeightedAverageNumberOfOrdinarySharesForThePurposesOfBasicAndDilutedNetIncomePerShare": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "WeightedAverageNumberOfOrdinarySharesForThePurposesOfBasicAndDilutedNetIncomePerShare",
     "presentation": [
      "http://euro-tech.com/role/NetIncomePerOrdinaryShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average number of ordinary shares for the purposes of basic and diluted net income per share"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_WeightedAverageRemainingLeaseTermOperatingLeases": {
     "xbrltype": "durationItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "WeightedAverageRemainingLeaseTermOperatingLeases",
     "presentation": [
      "http://euro-tech.com/role/LeaseObligationsDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted average remaining lease term : Operating leases"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_WithinOneYearMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "WithinOneYearMember",
     "presentation": [
      "http://euro-tech.com/role/AccountsReceivableNetDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Within 1 year"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_XuanchengLanjingEnvironmentalProtectionEquipmentCoLtdMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "XuanchengLanjingEnvironmentalProtectionEquipmentCoLtdMember",
     "presentation": [
      "http://euro-tech.com/role/OrganizationAndBusinessDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Xuancheng Lanjing Environmental Protection Equipment Co., Ltd"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_YixingPactEnvironmentalTechnologyCoLtdMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "YixingPactEnvironmentalTechnologyCoLtdMember",
     "presentation": [
      "http://euro-tech.com/role/IncomeTaxesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Yixing Pact Environmental Technology Co. Ltd."
       }
      }
     },
     "auth_ref": []
    },
    "clwt_YixingPactEnvironmentalsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "YixingPactEnvironmentalsMember",
     "presentation": [
      "http://euro-tech.com/role/OrganizationAndBusinessDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Yixing Pact Environmental Technology Co., Ltd"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_ZhejiangTianlanCapitalReserveMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "ZhejiangTianlanCapitalReserveMember",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Zhejiang Tianlan Capital Reserve"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_ZhejiangTianlanEnvironmentalProtectionEngineeringsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "ZhejiangTianlanEnvironmentalProtectionEngineeringsMember",
     "presentation": [
      "http://euro-tech.com/role/OrganizationAndBusinessDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Zhejiang Tianlan Environmental Protection Engineering Company Limited"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_ZhejiangTianlanEnvironmentalProtectionTechnologyCoLtdMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "ZhejiangTianlanEnvironmentalProtectionTechnologyCoLtdMember",
     "presentation": [
      "http://euro-tech.com/role/OrganizationAndBusinessDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Zhejiang Tianlan Environmental Protection Technology Co. Ltd (\"Blue Sky\")"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_ZhejiangTianlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "ZhejiangTianlanMember",
     "presentation": [
      "http://euro-tech.com/role/OrganizationAndBusinessDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "ZHEJIANG TIANLAN",
        "label": "[ZHEJIANG TIANLAN 1]"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_ZhejiangTianlanNonControllingInterestsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "ZhejiangTianlanNonControllingInterestsMember",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Zhejiang Tianlan Non Controlling Interests"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_ZhejiangTianlanPrcStatutoryReserveMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "ZhejiangTianlanPrcStatutoryReserveMember",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Zhejiang Tianlan PRC Statutory Reserve"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_ZhejiangTianlanRetainedEarningsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "ZhejiangTianlanRetainedEarningsMember",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Zhejiang Tianlan Retained Earnings"
       }
      }
     },
     "auth_ref": []
    },
    "clwt_ZhejiangTianlanShareCapitalMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://euro-tech.com/20241231",
     "localname": "ZhejiangTianlanShareCapitalMember",
     "presentation": [
      "http://euro-tech.com/role/ConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Zhejiang Tianlan Share Capital"
       }
      }
     },
     "auth_ref": []
    }
   }
  }
 },
 "std_ref": {
  "r0": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "05",
   "Paragraph": "4",
   "SubTopic": "10",
   "Topic": "360",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482338/360-10-05-4"
  },
  "r1": {
   "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"
  },
  "r2": {
   "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"
  },
  "r3": {
   "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"
  },
  "r4": {
   "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"
  },
  "r5": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "21D",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-21D"
  },
  "r6": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(g)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-25"
  },
  "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",
   "Subparagraph": "(d)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r13": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r14": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "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"
  },
  "r15": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(27))",
   "SubTopic": "10",
   "Topic": "210",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r16": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483489/210-10-50-1"
  },
  "r17": {
   "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"
  },
  "r18": {
   "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"
  },
  "r19": {
   "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"
  },
  "r20": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "14",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-14"
  },
  "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": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-1"
  },
  "r23": {
   "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"
  },
  "r24": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-3"
  },
  "r25": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-4"
  },
  "r26": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-5"
  },
  "r27": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1"
  },
  "r28": {
   "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"
  },
  "r29": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-2"
  },
  "r30": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-16"
  },
  "r31": {
   "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"
  },
  "r32": {
   "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"
  },
  "r33": {
   "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"
  },
  "r34": {
   "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"
  },
  "r35": {
   "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"
  },
  "r36": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "55",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482836/275-10-55-8"
  },
  "r37": {
   "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"
  },
  "r38": {
   "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"
  },
  "r39": {
   "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"
  },
  "r40": {
   "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"
  },
  "r41": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "360",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482130/360-10-45-4"
  },
  "r42": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "360",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1"
  },
  "r43": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "360",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1"
  },
  "r44": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "480",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480244/480-10-S99-1"
  },
  "r45": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481142/505-10-45-2"
  },
  "r46": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-10"
  },
  "r47": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-3"
  },
  "r48": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-4"
  },
  "r49": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-5"
  },
  "r50": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-8"
  },
  "r51": {
   "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"
  },
  "r52": {
   "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"
  },
  "r53": {
   "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"
  },
  "r54": {
   "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"
  },
  "r55": {
   "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"
  },
  "r56": {
   "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"
  },
  "r57": {
   "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"
  },
  "r58": {
   "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"
  },
  "r59": {
   "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"
  },
  "r60": {
   "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"
  },
  "r61": {
   "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"
  },
  "r62": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "825",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-21"
  },
  "r63": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "825",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-28"
  },
  "r64": {
   "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"
  },
  "r65": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "944",
   "SubTopic": "505",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477908/944-505-50-1"
  },
  "r66": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "205",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/205/tableOfContent"
  },
  "r67": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(19)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r68": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(19)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r69": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(19)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r70": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(19))",
   "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(20))",
   "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(21))",
   "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(22)(b))",
   "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(23))",
   "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(24))",
   "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(25))",
   "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(26))",
   "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(28))",
   "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(29))",
   "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(3))",
   "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(30)(a)(1))",
   "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(30)(a)(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))",
   "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(31))",
   "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(32))",
   "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(4))",
   "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(6)(a))",
   "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(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r89": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r90": {
   "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"
  },
  "r91": {
   "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"
  },
  "r92": {
   "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"
  },
  "r93": {
   "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"
  },
  "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(20))",
   "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(4))",
   "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(7)(a))",
   "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(7)(b))",
   "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(7))",
   "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(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r100": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r101": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "12",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-12"
  },
  "r102": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-13"
  },
  "r103": {
   "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"
  },
  "r104": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "15",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-15"
  },
  "r105": {
   "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"
  },
  "r106": {
   "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"
  },
  "r107": {
   "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"
  },
  "r108": {
   "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"
  },
  "r109": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "235",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/235/tableOfContent"
  },
  "r110": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-60B"
  },
  "r111": {
   "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"
  },
  "r112": {
   "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"
  },
  "r113": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "330",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.BB)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480581/330-10-S99-2"
  },
  "r114": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/360/tableOfContent"
  },
  "r115": {
   "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"
  },
  "r116": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-2"
  },
  "r117": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.CC)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480091/360-10-S99-2"
  },
  "r118": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "440",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/440/tableOfContent"
  },
  "r119": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/505/tableOfContent"
  },
  "r120": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-6"
  },
  "r121": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-7"
  },
  "r122": {
   "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"
  },
  "r123": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5",
   "Subparagraph": "(SAB Topic 4.F)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480008/505-10-S99-5"
  },
  "r124": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/505-30/tableOfContent"
  },
  "r125": {
   "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"
  },
  "r126": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "810",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/810/tableOfContent"
  },
  "r127": {
   "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"
  },
  "r128": {
   "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"
  },
  "r129": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "815",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/815/tableOfContent"
  },
  "r130": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(1)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r131": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(10))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r132": {
   "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"
  },
  "r133": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(13))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r134": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(16))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r135": {
   "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"
  },
  "r136": {
   "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"
  },
  "r137": {
   "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"
  },
  "r138": {
   "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(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r139": {
   "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(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r140": {
   "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"
  },
  "r141": {
   "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"
  },
  "r142": {
   "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(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r143": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "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"
  },
  "r144": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28"
  },
  "r145": {
   "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"
  },
  "r146": {
   "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"
  },
  "r147": {
   "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"
  },
  "r148": {
   "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"
  },
  "r149": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-11B"
  },
  "r150": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-7"
  },
  "r151": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-7A"
  },
  "r152": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "840",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/840/tableOfContent"
  },
  "r153": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "840",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "40",
   "Subparagraph": "(Note 3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481418/840-10-55-40"
  },
  "r154": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "840",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481501/840-20-50-2"
  },
  "r155": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "840",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481501/840-20-50-2"
  },
  "r156": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "840",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481192/840-30-45-3"
  },
  "r157": {
   "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"
  },
  "r158": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "SubTopic": "210",
   "Topic": "946",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477796/946-210-45-20"
  },
  "r159": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "SubTopic": "210",
   "Topic": "954",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477220/954-210-45-5"
  },
  "r160": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "270",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482989/270-10-45-6"
  },
  "r161": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "810",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-1"
  },
  "r162": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "SubTopic": "35",
   "Topic": "720",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483406/720-35-50-1"
  },
  "r163": {
   "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"
  },
  "r164": {
   "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"
  },
  "r165": {
   "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"
  },
  "r166": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "SubTopic": "360",
   "Topic": "958",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477798/958-360-50-1"
  },
  "r167": {
   "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"
  },
  "r168": {
   "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"
  },
  "r169": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-13"
  },
  "r170": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "SubTopic": "360",
   "Topic": "958",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477798/958-360-50-6"
  },
  "r171": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "SubTopic": "360",
   "Topic": "958",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477798/958-360-50-7"
  },
  "r172": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-9"
  },
  "r173": {
   "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"
  },
  "r174": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "b",
   "Subparagraph": "(5)",
   "Publisher": "SEC"
  },
  "r175": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "04",
   "Paragraph": "a",
   "Publisher": "SEC"
  },
  "r176": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "12",
   "Paragraph": "Column C",
   "Footnote": "5",
   "Publisher": "SEC"
  },
  "r177": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "12A",
   "Paragraph": "Column C",
   "Footnote": "4",
   "Publisher": "SEC"
  },
  "r178": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "12B",
   "Paragraph": "Column C",
   "Footnote": "2",
   "Publisher": "SEC"
  },
  "r179": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "14",
   "Paragraph": "Column F",
   "Footnote": "7",
   "Publisher": "SEC"
  },
  "r180": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "17",
   "Paragraph": "Column A",
   "Publisher": "SEC"
  },
  "r181": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "17",
   "Paragraph": "Column B",
   "Publisher": "SEC"
  },
  "r182": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "17",
   "Paragraph": "Column C",
   "Publisher": "SEC"
  },
  "r183": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "17",
   "Paragraph": "Column D",
   "Publisher": "SEC"
  },
  "r184": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "17",
   "Paragraph": "Column E",
   "Publisher": "SEC"
  },
  "r185": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "17",
   "Paragraph": "Column F",
   "Publisher": "SEC"
  },
  "r186": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column A",
   "Footnote": "2",
   "Publisher": "SEC"
  },
  "r187": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column B",
   "Publisher": "SEC"
  },
  "r188": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column C",
   "Publisher": "SEC"
  },
  "r189": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column D",
   "Publisher": "SEC"
  },
  "r190": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column E",
   "Footnote": "4",
   "Publisher": "SEC"
  },
  "r191": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column E",
   "Publisher": "SEC"
  },
  "r192": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column F",
   "Publisher": "SEC"
  },
  "r193": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column G",
   "Publisher": "SEC"
  },
  "r194": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column H",
   "Publisher": "SEC"
  },
  "r195": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column I",
   "Publisher": "SEC"
  },
  "r196": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "29",
   "Paragraph": "Column A",
   "Footnote": "4",
   "Publisher": "SEC"
  },
  "r197": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Staff Accounting Bulletin (SAB)",
   "Number": "Topic 11",
   "Section": "L",
   "Publisher": "SEC"
  },
  "r198": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Staff Accounting Bulletin (SAB)",
   "Number": "Topic 11",
   "Section": "M",
   "Paragraph": "Question 2",
   "Publisher": "SEC"
  },
  "r199": {
   "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"
  },
  "r200": {
   "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"
  },
  "r201": {
   "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"
  },
  "r202": {
   "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"
  },
  "r203": {
   "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"
  },
  "r204": {
   "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"
  },
  "r205": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483489/210-10-50-1"
  },
  "r206": {
   "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"
  },
  "r207": {
   "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(12))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r208": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(13))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r209": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(14))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r210": {
   "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"
  },
  "r211": {
   "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"
  },
  "r212": {
   "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"
  },
  "r213": {
   "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"
  },
  "r214": {
   "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)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r215": {
   "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"
  },
  "r216": {
   "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"
  },
  "r217": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r218": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r219": {
   "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(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r220": {
   "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(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r221": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r222": {
   "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"
  },
  "r223": {
   "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"
  },
  "r224": {
   "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"
  },
  "r225": {
   "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"
  },
  "r226": {
   "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"
  },
  "r227": {
   "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"
  },
  "r228": {
   "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"
  },
  "r229": {
   "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"
  },
  "r230": {
   "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(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r231": {
   "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"
  },
  "r232": {
   "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"
  },
  "r233": {
   "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"
  },
  "r234": {
   "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"
  },
  "r235": {
   "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"
  },
  "r236": {
   "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"
  },
  "r237": {
   "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"
  },
  "r238": {
   "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"
  },
  "r239": {
   "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"
  },
  "r240": {
   "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"
  },
  "r241": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483426/235-10-50-1"
  },
  "r242": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(e)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r243": {
   "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"
  },
  "r244": {
   "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"
  },
  "r245": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-04(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-3"
  },
  "r246": {
   "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"
  },
  "r247": {
   "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"
  },
  "r248": {
   "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"
  },
  "r249": {
   "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"
  },
  "r250": {
   "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"
  },
  "r251": {
   "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"
  },
  "r252": {
   "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"
  },
  "r253": {
   "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"
  },
  "r254": {
   "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"
  },
  "r255": {
   "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"
  },
  "r256": {
   "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"
  },
  "r257": {
   "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"
  },
  "r258": {
   "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"
  },
  "r259": {
   "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"
  },
  "r260": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5",
   "Subparagraph": "(SAB Topic 11.M.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480530/250-10-S99-5"
  },
  "r261": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/260/tableOfContent"
  },
  "r262": {
   "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"
  },
  "r263": {
   "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"
  },
  "r264": {
   "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"
  },
  "r265": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "60B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-60B"
  },
  "r266": {
   "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"
  },
  "r267": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "66",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-66"
  },
  "r268": {
   "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"
  },
  "r269": {
   "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"
  },
  "r270": {
   "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"
  },
  "r271": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1"
  },
  "r272": {
   "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"
  },
  "r273": {
   "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"
  },
  "r274": {
   "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"
  },
  "r275": {
   "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"
  },
  "r276": {
   "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"
  },
  "r277": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/280/tableOfContent"
  },
  "r278": {
   "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"
  },
  "r279": {
   "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"
  },
  "r280": {
   "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"
  },
  "r281": {
   "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"
  },
  "r282": {
   "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"
  },
  "r283": {
   "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"
  },
  "r284": {
   "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"
  },
  "r285": {
   "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"
  },
  "r286": {
   "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"
  },
  "r287": {
   "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"
  },
  "r288": {
   "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"
  },
  "r289": {
   "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"
  },
  "r290": {
   "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"
  },
  "r291": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-24"
  },
  "r292": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "25",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-25"
  },
  "r293": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "25",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-25"
  },
  "r294": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "26",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-26"
  },
  "r295": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "26A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-26A"
  },
  "r296": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "26B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-26B"
  },
  "r297": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "26C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-26C"
  },
  "r298": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-29"
  },
  "r299": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-29"
  },
  "r300": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-29"
  },
  "r301": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-29"
  },
  "r302": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-29"
  },
  "r303": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-29"
  },
  "r304": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-29"
  },
  "r305": {
   "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"
  },
  "r306": {
   "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"
  },
  "r307": {
   "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"
  },
  "r308": {
   "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"
  },
  "r309": {
   "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"
  },
  "r310": {
   "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"
  },
  "r311": {
   "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"
  },
  "r312": {
   "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"
  },
  "r313": {
   "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"
  },
  "r314": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "36",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-36"
  },
  "r315": {
   "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"
  },
  "r316": {
   "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"
  },
  "r317": {
   "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"
  },
  "r318": {
   "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"
  },
  "r319": {
   "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"
  },
  "r320": {
   "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"
  },
  "r321": {
   "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"
  },
  "r322": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-2"
  },
  "r323": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-2"
  },
  "r324": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-2"
  },
  "r325": {
   "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"
  },
  "r326": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481569/310-20-50-1"
  },
  "r327": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-2"
  },
  "r328": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-2"
  },
  "r329": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(aa)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-2"
  },
  "r330": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(aaa)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-2"
  },
  "r331": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-2"
  },
  "r332": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-2"
  },
  "r333": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-2"
  },
  "r334": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-3"
  },
  "r335": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-3"
  },
  "r336": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-3"
  },
  "r337": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-3"
  },
  "r338": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-3"
  },
  "r339": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5"
  },
  "r340": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5"
  },
  "r341": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(aaa)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5"
  },
  "r342": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5"
  },
  "r343": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5"
  },
  "r344": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5"
  },
  "r345": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5"
  },
  "r346": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5"
  },
  "r347": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5"
  },
  "r348": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5"
  },
  "r349": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5A"
  },
  "r350": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5A"
  },
  "r351": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5A"
  },
  "r352": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5B"
  },
  "r353": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5B"
  },
  "r354": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5B"
  },
  "r355": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5B",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5B"
  },
  "r356": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5B"
  },
  "r357": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481687/323-10-50-3"
  },
  "r358": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481687/323-10-50-3"
  },
  "r359": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481687/323-10-50-3"
  },
  "r360": {
   "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"
  },
  "r361": {
   "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"
  },
  "r362": {
   "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"
  },
  "r363": {
   "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"
  },
  "r364": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-11"
  },
  "r365": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-11"
  },
  "r366": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "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"
  },
  "r367": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-13"
  },
  "r368": {
   "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"
  },
  "r369": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-13"
  },
  "r370": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-14"
  },
  "r371": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-16"
  },
  "r372": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-5"
  },
  "r373": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479106/326-30-50-4"
  },
  "r374": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479106/326-30-50-7"
  },
  "r375": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479106/326-30-50-9"
  },
  "r376": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/330/tableOfContent"
  },
  "r377": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483080/330-10-50-1"
  },
  "r378": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483080/330-10-50-2"
  },
  "r379": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483080/330-10-50-4"
  },
  "r380": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "340",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479483/340-40-50-3"
  },
  "r381": {
   "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"
  },
  "r382": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/350-20/tableOfContent"
  },
  "r383": {
   "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"
  },
  "r384": {
   "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"
  },
  "r385": {
   "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"
  },
  "r386": {
   "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"
  },
  "r387": {
   "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"
  },
  "r388": {
   "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"
  },
  "r389": {
   "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"
  },
  "r390": {
   "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"
  },
  "r391": {
   "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"
  },
  "r392": {
   "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"
  },
  "r393": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-2"
  },
  "r394": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-2"
  },
  "r395": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/350-30/tableOfContent"
  },
  "r396": {
   "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"
  },
  "r397": {
   "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"
  },
  "r398": {
   "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"
  },
  "r399": {
   "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"
  },
  "r400": {
   "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"
  },
  "r401": {
   "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"
  },
  "r402": {
   "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"
  },
  "r403": {
   "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"
  },
  "r404": {
   "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"
  },
  "r405": {
   "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"
  },
  "r406": {
   "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"
  },
  "r407": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-3"
  },
  "r408": {
   "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"
  },
  "r409": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-4"
  },
  "r410": {
   "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"
  },
  "r411": {
   "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"
  },
  "r412": {
   "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"
  },
  "r413": {
   "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"
  },
  "r414": {
   "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"
  },
  "r415": {
   "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"
  },
  "r416": {
   "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"
  },
  "r417": {
   "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"
  },
  "r418": {
   "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"
  },
  "r419": {
   "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"
  },
  "r420": {
   "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"
  },
  "r421": {
   "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"
  },
  "r422": {
   "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"
  },
  "r423": {
   "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"
  },
  "r424": {
   "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"
  },
  "r425": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r426": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r427": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r428": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r429": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r430": {
   "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"
  },
  "r431": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1D"
  },
  "r432": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1D"
  },
  "r433": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1D"
  },
  "r434": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1E"
  },
  "r435": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1E"
  },
  "r436": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1E"
  },
  "r437": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1F"
  },
  "r438": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1F"
  },
  "r439": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1F"
  },
  "r440": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1F"
  },
  "r441": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1I"
  },
  "r442": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13"
  },
  "r443": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13"
  },
  "r444": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13"
  },
  "r445": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13"
  },
  "r446": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13"
  },
  "r447": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-14"
  },
  "r448": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-14"
  },
  "r449": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-14"
  },
  "r450": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "16",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-16"
  },
  "r451": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-18"
  },
  "r452": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-18"
  },
  "r453": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-18"
  },
  "r454": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-18"
  },
  "r455": {
   "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"
  },
  "r456": {
   "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"
  },
  "r457": {
   "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"
  },
  "r458": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479837/606-10-45-3"
  },
  "r459": {
   "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"
  },
  "r460": {
   "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"
  },
  "r461": {
   "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"
  },
  "r462": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-8"
  },
  "r463": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/715/tableOfContent"
  },
  "r464": {
   "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"
  },
  "r465": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r466": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r467": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(l)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r468": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(o)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r469": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(p)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r470": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(q)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r471": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(r)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r472": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(r)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r473": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480126/715-20-S99-2"
  },
  "r474": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "60",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480266/715-60-50-3"
  },
  "r475": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "70",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480794/715-70-50-1"
  },
  "r476": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480576/715-80-50-5"
  },
  "r477": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/718/tableOfContent"
  },
  "r478": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r479": {
   "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"
  },
  "r480": {
   "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"
  },
  "r481": {
   "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"
  },
  "r482": {
   "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"
  },
  "r483": {
   "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"
  },
  "r484": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r485": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r486": {
   "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"
  },
  "r487": {
   "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"
  },
  "r488": {
   "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"
  },
  "r489": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.C.Q3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479830/718-10-S99-1"
  },
  "r490": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.D.1.Q5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479830/718-10-S99-1"
  },
  "r491": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.D.2.Q6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479830/718-10-S99-1"
  },
  "r492": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.D.3.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479830/718-10-S99-1"
  },
  "r493": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "730",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "05",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483044/730-10-05-1"
  },
  "r494": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "730",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482916/730-10-50-1"
  },
  "r495": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/740/tableOfContent"
  },
  "r496": {
   "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"
  },
  "r497": {
   "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"
  },
  "r498": {
   "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"
  },
  "r499": {
   "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"
  },
  "r500": {
   "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"
  },
  "r501": {
   "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"
  },
  "r502": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12A",
   "Subparagraph": "(a)(7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12A"
  },
  "r503": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "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"
  },
  "r504": {
   "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"
  },
  "r505": {
   "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"
  },
  "r506": {
   "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"
  },
  "r507": {
   "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"
  },
  "r508": {
   "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"
  },
  "r509": {
   "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"
  },
  "r510": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-2"
  },
  "r511": {
   "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"
  },
  "r512": {
   "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"
  },
  "r513": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-22"
  },
  "r514": {
   "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"
  },
  "r515": {
   "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"
  },
  "r516": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-9"
  },
  "r517": {
   "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"
  },
  "r518": {
   "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"
  },
  "r519": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.1.Q1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479360/740-10-S99-1"
  },
  "r520": {
   "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"
  },
  "r521": {
   "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"
  },
  "r522": {
   "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"
  },
  "r523": {
   "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"
  },
  "r524": {
   "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"
  },
  "r525": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478758/740-323-25-1"
  },
  "r526": {
   "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"
  },
  "r527": {
   "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"
  },
  "r528": {
   "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"
  },
  "r529": {
   "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"
  },
  "r530": {
   "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"
  },
  "r531": {
   "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"
  },
  "r532": {
   "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"
  },
  "r533": {
   "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"
  },
  "r534": {
   "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"
  },
  "r535": {
   "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"
  },
  "r536": {
   "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"
  },
  "r537": {
   "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"
  },
  "r538": {
   "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"
  },
  "r539": {
   "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"
  },
  "r540": {
   "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"
  },
  "r541": {
   "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"
  },
  "r542": {
   "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"
  },
  "r543": {
   "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"
  },
  "r544": {
   "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"
  },
  "r545": {
   "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"
  },
  "r546": {
   "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"
  },
  "r547": {
   "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"
  },
  "r548": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480237/815-40-50-6"
  },
  "r549": {
   "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"
  },
  "r550": {
   "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"
  },
  "r551": {
   "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"
  },
  "r552": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6B"
  },
  "r553": {
   "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"
  },
  "r554": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/830/tableOfContent"
  },
  "r555": {
   "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"
  },
  "r556": {
   "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"
  },
  "r557": {
   "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"
  },
  "r558": {
   "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"
  },
  "r559": {
   "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"
  },
  "r560": {
   "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"
  },
  "r561": {
   "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"
  },
  "r562": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481674/830-30-50-2"
  },
  "r563": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "835",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483013/835-20-50-1"
  },
  "r564": {
   "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"
  },
  "r565": {
   "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"
  },
  "r566": {
   "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"
  },
  "r567": {
   "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"
  },
  "r568": {
   "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"
  },
  "r569": {
   "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"
  },
  "r570": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479041/842-20-45-4"
  },
  "r571": {
   "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"
  },
  "r572": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-1"
  },
  "r573": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4"
  },
  "r574": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4"
  },
  "r575": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4"
  },
  "r576": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4"
  },
  "r577": {
   "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"
  },
  "r578": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4"
  },
  "r579": {
   "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"
  },
  "r580": {
   "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"
  },
  "r581": {
   "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"
  },
  "r582": {
   "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"
  },
  "r583": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/850/tableOfContent"
  },
  "r584": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-1"
  },
  "r585": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-1"
  },
  "r586": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-1"
  },
  "r587": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-1"
  },
  "r588": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-6"
  },
  "r589": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481435/852-10-45-14"
  },
  "r590": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "855",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/855/tableOfContent"
  },
  "r591": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "855",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483399/855-10-50-2"
  },
  "r592": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "855",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483399/855-10-50-2"
  },
  "r593": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3"
  },
  "r594": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3"
  },
  "r595": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3"
  },
  "r596": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(bb)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3"
  },
  "r597": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(bb)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3"
  },
  "r598": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(bb)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3"
  },
  "r599": {
   "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"
  },
  "r600": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "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"
  },
  "r601": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "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"
  },
  "r602": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "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"
  },
  "r603": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "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"
  },
  "r604": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "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"
  },
  "r605": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4"
  },
  "r606": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481444/860-30-45-1"
  },
  "r607": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481420/860-30-50-7"
  },
  "r608": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-3"
  },
  "r609": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-3"
  },
  "r610": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-3"
  },
  "r611": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(4)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-3"
  },
  "r612": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4"
  },
  "r613": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4"
  },
  "r614": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4"
  },
  "r615": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4"
  },
  "r616": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4"
  },
  "r617": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4"
  },
  "r618": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4"
  },
  "r619": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4"
  },
  "r620": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4"
  },
  "r621": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4"
  },
  "r622": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481229/860-50-50-4"
  },
  "r623": {
   "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"
  },
  "r624": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "912",
   "SubTopic": "330",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478411/912-330-50-1"
  },
  "r625": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "920",
   "SubTopic": "350",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478609/920-350-50-1"
  },
  "r626": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "920",
   "SubTopic": "350",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478609/920-350-50-1"
  },
  "r627": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "920",
   "SubTopic": "350",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478609/920-350-50-4"
  },
  "r628": {
   "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"
  },
  "r629": {
   "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"
  },
  "r630": {
   "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"
  },
  "r631": {
   "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"
  },
  "r632": {
   "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"
  },
  "r633": {
   "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"
  },
  "r634": {
   "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"
  },
  "r635": {
   "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"
  },
  "r636": {
   "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"
  },
  "r637": {
   "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"
  },
  "r638": {
   "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"
  },
  "r639": {
   "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"
  },
  "r640": {
   "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"
  },
  "r641": {
   "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"
  },
  "r642": {
   "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"
  },
  "r643": {
   "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"
  },
  "r644": {
   "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"
  },
  "r645": {
   "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"
  },
  "r646": {
   "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"
  },
  "r647": {
   "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"
  },
  "r648": {
   "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"
  },
  "r649": {
   "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"
  },
  "r650": {
   "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"
  },
  "r651": {
   "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"
  },
  "r652": {
   "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"
  },
  "r653": {
   "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"
  },
  "r654": {
   "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"
  },
  "r655": {
   "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"
  },
  "r656": {
   "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"
  },
  "r657": {
   "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"
  },
  "r658": {
   "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"
  },
  "r659": {
   "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"
  },
  "r660": {
   "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"
  },
  "r661": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "940",
   "SubTopic": "405",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478779/940-405-45-1"
  },
  "r662": {
   "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"
  },
  "r663": {
   "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"
  },
  "r664": {
   "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"
  },
  "r665": {
   "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"
  },
  "r666": {
   "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"
  },
  "r667": {
   "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"
  },
  "r668": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(1)(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r669": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(1)(h))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r670": {
   "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"
  },
  "r671": {
   "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"
  },
  "r672": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r673": {
   "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"
  },
  "r674": {
   "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"
  },
  "r675": {
   "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"
  },
  "r676": {
   "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)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r677": {
   "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"
  },
  "r678": {
   "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"
  },
  "r679": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r680": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r681": {
   "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"
  },
  "r682": {
   "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"
  },
  "r683": {
   "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"
  },
  "r684": {
   "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"
  },
  "r685": {
   "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"
  },
  "r686": {
   "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"
  },
  "r687": {
   "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(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r688": {
   "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"
  },
  "r689": {
   "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"
  },
  "r690": {
   "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"
  },
  "r691": {
   "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"
  },
  "r692": {
   "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(3)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r693": {
   "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(3)(d)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r694": {
   "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(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r695": {
   "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"
  },
  "r696": {
   "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"
  },
  "r697": {
   "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"
  },
  "r698": {
   "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"
  },
  "r699": {
   "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"
  },
  "r700": {
   "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"
  },
  "r701": {
   "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"
  },
  "r702": {
   "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"
  },
  "r703": {
   "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"
  },
  "r704": {
   "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"
  },
  "r705": {
   "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"
  },
  "r706": {
   "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"
  },
  "r707": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r708": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r709": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r710": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r711": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r712": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r713": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4E",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4E"
  },
  "r714": {
   "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"
  },
  "r715": {
   "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"
  },
  "r716": {
   "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"
  },
  "r717": {
   "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"
  },
  "r718": {
   "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"
  },
  "r719": {
   "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"
  },
  "r720": {
   "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"
  },
  "r721": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480424/946-10-50-1"
  },
  "r722": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480424/946-10-50-2"
  },
  "r723": {
   "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"
  },
  "r724": {
   "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(f)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3"
  },
  "r725": {
   "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(f)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3"
  },
  "r726": {
   "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(f)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3"
  },
  "r727": {
   "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"
  },
  "r728": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(i)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3"
  },
  "r729": {
   "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"
  },
  "r730": {
   "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"
  },
  "r731": {
   "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"
  },
  "r732": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480990/946-20-50-2"
  },
  "r733": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480990/946-20-50-5"
  },
  "r734": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480990/946-20-50-6"
  },
  "r735": {
   "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"
  },
  "r736": {
   "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"
  },
  "r737": {
   "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"
  },
  "r738": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477796/946-210-45-21"
  },
  "r739": {
   "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"
  },
  "r740": {
   "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"
  },
  "r741": {
   "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"
  },
  "r742": {
   "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"
  },
  "r743": {
   "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"
  },
  "r744": {
   "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"
  },
  "r745": {
   "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"
  },
  "r746": {
   "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"
  },
  "r747": {
   "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)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r748": {
   "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"
  },
  "r749": {
   "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"
  },
  "r750": {
   "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"
  },
  "r751": {
   "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"
  },
  "r752": {
   "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"
  },
  "r753": {
   "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"
  },
  "r754": {
   "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"
  },
  "r755": {
   "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"
  },
  "r756": {
   "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"
  },
  "r757": {
   "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"
  },
  "r758": {
   "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"
  },
  "r759": {
   "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"
  },
  "r760": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r761": {
   "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(5)(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r762": {
   "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(5)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r763": {
   "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"
  },
  "r764": {
   "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"
  },
  "r765": {
   "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"
  },
  "r766": {
   "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"
  },
  "r767": {
   "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(7)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r768": {
   "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"
  },
  "r769": {
   "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"
  },
  "r770": {
   "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"
  },
  "r771": {
   "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"
  },
  "r772": {
   "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"
  },
  "r773": {
   "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"
  },
  "r774": {
   "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"
  },
  "r775": {
   "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"
  },
  "r776": {
   "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"
  },
  "r777": {
   "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)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r778": {
   "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"
  },
  "r779": {
   "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"
  },
  "r780": {
   "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)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r781": {
   "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)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r782": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(g)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r783": {
   "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"
  },
  "r784": {
   "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"
  },
  "r785": {
   "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"
  },
  "r786": {
   "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"
  },
  "r787": {
   "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"
  },
  "r788": {
   "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"
  },
  "r789": {
   "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"
  },
  "r790": {
   "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"
  },
  "r791": {
   "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"
  },
  "r792": {
   "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"
  },
  "r793": {
   "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"
  },
  "r794": {
   "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"
  },
  "r795": {
   "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"
  },
  "r796": {
   "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"
  },
  "r797": {
   "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"
  },
  "r798": {
   "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"
  },
  "r799": {
   "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"
  },
  "r800": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477968/946-235-50-2"
  },
  "r801": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477968/946-235-50-2"
  },
  "r802": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477968/946-235-50-2"
  },
  "r803": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477968/946-235-50-2"
  },
  "r804": {
   "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"
  },
  "r805": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "12",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-12"
  },
  "r806": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "19",
   "Subparagraph": "(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-19"
  },
  "r807": {
   "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"
  },
  "r808": {
   "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"
  },
  "r809": {
   "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 E)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6"
  },
  "r810": {
   "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 E)(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6"
  },
  "r811": {
   "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 E)(Footnote 6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6"
  },
  "r812": {
   "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"
  },
  "r813": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478448/946-505-50-2"
  },
  "r814": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478448/946-505-50-2"
  },
  "r815": {
   "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"
  },
  "r816": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478448/946-505-50-6"
  },
  "r817": {
   "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"
  },
  "r818": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "954",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479196/954-310-45-1"
  },
  "r819": {
   "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"
  },
  "r820": {
   "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"
  },
  "r821": {
   "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"
  },
  "r822": {
   "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"
  },
  "r823": {
   "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"
  },
  "r824": {
   "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"
  },
  "r825": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column E)(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r826": {
   "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"
  },
  "r827": {
   "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"
  },
  "r828": {
   "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"
  },
  "r829": {
   "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"
  },
  "r830": {
   "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"
  },
  "r831": {
   "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"
  },
  "r832": {
   "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"
  },
  "r833": {
   "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"
  },
  "r834": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(a)",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-13H"
  },
  "r835": {
   "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"
  },
  "r836": {
   "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"
  },
  "r837": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-1"
  },
  "r838": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "8",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-8"
  },
  "r839": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r840": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r841": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r842": {
   "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"
  },
  "r843": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483426/235-10-50-4"
  },
  "r844": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483426/235-10-50-4"
  },
  "r845": {
   "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"
  },
  "r846": {
   "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"
  },
  "r847": {
   "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"
  },
  "r848": {
   "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"
  },
  "r849": {
   "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"
  },
  "r850": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "47",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47"
  },
  "r851": {
   "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"
  },
  "r852": {
   "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"
  },
  "r853": {
   "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"
  },
  "r854": {
   "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"
  },
  "r855": {
   "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"
  },
  "r856": {
   "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"
  },
  "r857": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "54",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-54"
  },
  "r858": {
   "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"
  },
  "r859": {
   "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"
  },
  "r860": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "80",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479294/326-20-55-80"
  },
  "r861": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479081/326-30-55-8"
  },
  "r862": {
   "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"
  },
  "r863": {
   "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"
  },
  "r864": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481639/420-10-35-4"
  },
  "r865": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r866": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481568/470-20-55-69B"
  },
  "r867": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481568/470-20-55-69C"
  },
  "r868": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69E",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481568/470-20-55-69E"
  },
  "r869": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69F",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481568/470-20-55-69F"
  },
  "r870": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91"
  },
  "r871": {
   "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"
  },
  "r872": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480482/715-20-55-17"
  },
  "r873": {
   "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"
  },
  "r874": {
   "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"
  },
  "r875": {
   "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"
  },
  "r876": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "100",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-100"
  },
  "r877": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "100",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-100"
  },
  "r878": {
   "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"
  },
  "r879": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "101",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-101"
  },
  "r880": {
   "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"
  },
  "r881": {
   "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"
  },
  "r882": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "107",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107"
  },
  "r883": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "107",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107"
  },
  "r884": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "107",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107"
  },
  "r885": {
   "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"
  },
  "r886": {
   "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"
  },
  "r887": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482949/835-30-55-8"
  },
  "r888": {
   "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"
  },
  "r889": {
   "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"
  },
  "r890": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "860",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481395/860-30-55-4"
  },
  "r891": {
   "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"
  },
  "r892": {
   "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"
  },
  "r893": {
   "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"
  },
  "r894": {
   "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"
  },
  "r895": {
   "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"
  },
  "r896": {
   "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"
  },
  "r897": {
   "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"
  },
  "r898": {
   "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"
  },
  "r899": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479401/944-30-55-2"
  },
  "r900": {
   "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"
  },
  "r901": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "9C",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9C"
  },
  "r902": {
   "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"
  },
  "r903": {
   "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"
  },
  "r904": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "9E",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9E"
  },
  "r905": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480078/944-80-55-14"
  },
  "r906": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "18",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480078/944-80-55-18"
  },
  "r907": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480078/944-80-55-9"
  },
  "r908": {
   "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"
  },
  "r909": {
   "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"
  },
  "r910": {
   "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"
  },
  "r911": {
   "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"
  },
  "r912": {
   "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"
  },
  "r913": {
   "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"
  },
  "r914": {
   "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"
  },
  "r915": {
   "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"
  },
  "r916": {
   "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"
  },
  "r917": {
   "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"
  },
  "r918": {
   "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"
  },
  "r919": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12"
  },
  "r920": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b"
  },
  "r921": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r922": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r923": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-K",
   "Number": "249",
   "Section": "310"
  },
  "r924": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Number": "249",
   "Section": "220",
   "Subsection": "f"
  },
  "r925": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16K"
  },
  "r926": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16K",
   "Subsection": "b",
   "Paragraph": "1"
  },
  "r927": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16K",
   "Subsection": "b",
   "Paragraph": "1",
   "Subparagraph": "i"
  },
  "r928": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16K",
   "Subsection": "b",
   "Paragraph": "1",
   "Subparagraph": "ii"
  },
  "r929": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16K",
   "Subsection": "b",
   "Paragraph": "1",
   "Subparagraph": "iii"
  },
  "r930": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16K",
   "Subsection": "b",
   "Paragraph": "2"
  },
  "r931": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16K",
   "Subsection": "c",
   "Paragraph": "1"
  },
  "r932": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16K",
   "Subsection": "c",
   "Paragraph": "2"
  },
  "r933": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16K",
   "Subsection": "c",
   "Paragraph": "2",
   "Subparagraph": "i"
  },
  "r934": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16K",
   "Subsection": "c",
   "Paragraph": "2",
   "Subparagraph": "ii"
  },
  "r935": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16K",
   "Subsection": "c",
   "Paragraph": "2",
   "Subparagraph": "iii"
  },
  "r936": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Number": "249",
   "Section": "240",
   "Subsection": "f"
  },
  "r937": {
   "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"
  },
  "r938": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a"
  },
  "r939": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "1"
  },
  "r940": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "106"
  },
  "r941": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "106",
   "Subsection": "b",
   "Paragraph": "1"
  },
  "r942": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "106",
   "Subsection": "b",
   "Paragraph": "1",
   "Subparagraph": "i"
  },
  "r943": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "106",
   "Subsection": "b",
   "Paragraph": "1",
   "Subparagraph": "ii"
  },
  "r944": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "106",
   "Subsection": "b",
   "Paragraph": "1",
   "Subparagraph": "iii"
  },
  "r945": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "106",
   "Subsection": "b",
   "Paragraph": "2"
  },
  "r946": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "106",
   "Subsection": "c",
   "Paragraph": "1"
  },
  "r947": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "106",
   "Subsection": "c",
   "Paragraph": "2"
  },
  "r948": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "106",
   "Subsection": "c",
   "Paragraph": "2",
   "Subparagraph": "i"
  },
  "r949": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "106",
   "Subsection": "c",
   "Paragraph": "2",
   "Subparagraph": "ii"
  },
  "r950": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "106",
   "Subsection": "c",
   "Paragraph": "2",
   "Subparagraph": "iii"
  },
  "r951": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-T",
   "Number": "232",
   "Section": "405"
  },
  "r952": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "405"
  },
  "r953": {
   "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"
  },
  "r954": {
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478156/740-323-50-2"
  },
  "r955": {
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478156/740-323-50-2"
  },
  "r956": {
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478156/740-323-50-2"
  },
  "r957": {
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef",
   "Topic": "855",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483399/855-10-50-3"
  },
  "r958": {
   "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"
  },
  "r959": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(1)",
   "SubTopic": "20",
   "Topic": "842",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4"
  },
  "r960": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "a",
   "Publisher": "SEC"
  },
  "r961": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "b",
   "Subparagraph": "(1)",
   "Publisher": "SEC"
  },
  "r962": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "b",
   "Subparagraph": "(2)",
   "Publisher": "SEC"
  },
  "r963": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "b",
   "Subparagraph": "(3)",
   "Publisher": "SEC"
  },
  "r964": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "c",
   "Subparagraph": "(2)(i)",
   "Publisher": "SEC"
  },
  "r965": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "c",
   "Subparagraph": "(2)(ii)",
   "Publisher": "SEC"
  },
  "r966": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "c",
   "Subparagraph": "(2)(iii)",
   "Publisher": "SEC"
  },
  "r967": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "13",
   "Subsection": "01",
   "Paragraph": "a",
   "Subparagraph": "(4)(i)",
   "Publisher": "SEC"
  },
  "r968": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "13",
   "Subsection": "01",
   "Paragraph": "a",
   "Subparagraph": "(4)(iv)",
   "Publisher": "SEC"
  },
  "r969": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "13",
   "Subsection": "02",
   "Paragraph": "a",
   "Subparagraph": "(4)(iv)",
   "Publisher": "SEC"
  },
  "r970": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Rule 15c3-1",
   "Number": "240",
   "Section": "15c3-1",
   "Publisher": "SEC"
  },
  "r971": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Staff Accounting Bulletin (SAB)",
   "Number": "Topic 5",
   "Section": "Y",
   "Paragraph": "Question 2",
   "Publisher": "SEC"
  },
  "r972": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r973": {
   "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(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r974": {
   "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(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r975": {
   "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"
  },
  "r976": {
   "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(26)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r977": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r978": {
   "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(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r979": {
   "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"
  },
  "r980": {
   "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"
  },
  "r981": {
   "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"
  },
  "r982": {
   "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"
  },
  "r983": {
   "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(7)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r984": {
   "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(9)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r985": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "16",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-16"
  },
  "r986": {
   "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"
  },
  "r987": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28"
  },
  "r988": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r989": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-8"
  },
  "r990": {
   "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"
  },
  "r991": {
   "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"
  },
  "r992": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r993": {
   "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"
  },
  "r994": {
   "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"
  },
  "r995": {
   "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"
  },
  "r996": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r997": {
   "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"
  },
  "r998": {
   "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"
  },
  "r999": {
   "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"
  },
  "r1000": {
   "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"
  },
  "r1001": {
   "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"
  },
  "r1002": {
   "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"
  },
  "r1003": {
   "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"
  },
  "r1004": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/310-10/tableOfContent"
  },
  "r1005": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-2"
  },
  "r1006": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-9"
  },
  "r1007": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "321",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479536/321-10-50-3"
  },
  "r1008": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "321",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479536/321-10-50-3"
  },
  "r1009": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "321",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479536/321-10-50-3"
  },
  "r1010": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "321",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479536/321-10-50-4"
  },
  "r1011": {
   "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"
  },
  "r1012": {
   "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"
  },
  "r1013": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-14"
  },
  "r1014": {
   "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"
  },
  "r1015": {
   "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"
  },
  "r1016": {
   "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"
  },
  "r1017": {
   "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"
  },
  "r1018": {
   "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"
  },
  "r1019": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482130/360-10-45-5"
  },
  "r1020": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-3"
  },
  "r1021": {
   "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"
  },
  "r1022": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r1023": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r1024": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r1025": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482017/420-10-50-1"
  },
  "r1026": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/450/tableOfContent"
  },
  "r1027": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-9"
  },
  "r1028": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480102/450-20-S99-1"
  },
  "r1029": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482425/460-10-50-8"
  },
  "r1030": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A"
  },
  "r1031": {
   "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"
  },
  "r1032": {
   "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"
  },
  "r1033": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iv))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A"
  },
  "r1034": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iv))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B"
  },
  "r1035": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1036": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479837/606-10-45-3"
  },
  "r1037": {
   "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"
  },
  "r1038": {
   "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"
  },
  "r1039": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(n)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r1040": {
   "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"
  },
  "r1041": {
   "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"
  },
  "r1042": {
   "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"
  },
  "r1043": {
   "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"
  },
  "r1044": {
   "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"
  },
  "r1045": {
   "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"
  },
  "r1046": {
   "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"
  },
  "r1047": {
   "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"
  },
  "r1048": {
   "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"
  },
  "r1049": {
   "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"
  },
  "r1050": {
   "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"
  },
  "r1051": {
   "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"
  },
  "r1052": {
   "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"
  },
  "r1053": {
   "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"
  },
  "r1054": {
   "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"
  },
  "r1055": {
   "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"
  },
  "r1056": {
   "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"
  },
  "r1057": {
   "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"
  },
  "r1058": {
   "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"
  },
  "r1059": {
   "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"
  },
  "r1060": {
   "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"
  },
  "r1061": {
   "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"
  },
  "r1062": {
   "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"
  },
  "r1063": {
   "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"
  },
  "r1064": {
   "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"
  },
  "r1065": {
   "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"
  },
  "r1066": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "720",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483384/720-30-45-1"
  },
  "r1067": {
   "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"
  },
  "r1068": {
   "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"
  },
  "r1069": {
   "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"
  },
  "r1070": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-2"
  },
  "r1071": {
   "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"
  },
  "r1072": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-6"
  },
  "r1073": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r1074": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478156/740-323-50-1A"
  },
  "r1075": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478156/740-323-50-1A"
  },
  "r1076": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478156/740-323-50-1A"
  },
  "r1077": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478156/740-323-50-1A"
  },
  "r1078": {
   "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"
  },
  "r1079": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "54B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482134/820-10-35-54B"
  },
  "r1080": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r1081": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r1082": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(bbb)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r1083": {
   "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"
  },
  "r1084": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(bbb)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r1085": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2E",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2E"
  },
  "r1086": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6A"
  },
  "r1087": {
   "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"
  },
  "r1088": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482925/835-30-45-2"
  },
  "r1089": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482900/835-30-50-1"
  },
  "r1090": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4"
  },
  "r1091": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-1"
  },
  "r1092": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-1"
  },
  "r1093": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "850",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-3"
  },
  "r1094": {
   "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"
  },
  "r1095": {
   "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"
  },
  "r1096": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "912",
   "SubTopic": "730",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479532/912-730-25-1"
  },
  "r1097": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(1)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r1098": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(13))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r1099": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(10))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r1100": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(16)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r1101": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r1102": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r1103": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r1104": {
   "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"
  },
  "r1105": {
   "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"
  },
  "r1106": {
   "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"
  },
  "r1107": {
   "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"
  },
  "r1108": {
   "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"
  },
  "r1109": {
   "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"
  },
  "r1110": {
   "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"
  },
  "r1111": {
   "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"
  },
  "r1112": {
   "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"
  },
  "r1113": {
   "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"
  },
  "r1114": {
   "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"
  },
  "r1115": {
   "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"
  },
  "r1116": {
   "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"
  },
  "r1117": {
   "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"
  },
  "r1118": {
   "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"
  },
  "r1119": {
   "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"
  },
  "r1120": {
   "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"
  },
  "r1121": {
   "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"
  },
  "r1122": {
   "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"
  },
  "r1123": {
   "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"
  },
  "r1124": {
   "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"
  },
  "r1125": {
   "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"
  },
  "r1126": {
   "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"
  },
  "r1127": {
   "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"
  },
  "r1128": {
   "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"
  },
  "r1129": {
   "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"
  },
  "r1130": {
   "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"
  },
  "r1131": {
   "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"
  },
  "r1132": {
   "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"
  },
  "r1133": {
   "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"
  },
  "r1134": {
   "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"
  },
  "r1135": {
   "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"
  },
  "r1136": {
   "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"
  },
  "r1137": {
   "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)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6"
  },
  "r1138": {
   "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>155
<FILENAME>0001654954-25-004888-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001654954-25-004888-xbrl.zip
M4$L#!!0    ( -J#GEH_ZN@]D2(  !#% 0 1    8VQW="TR,#(T,3(S,2YX
M<V3M76USVSB2_GY5]Q]X_G*S5>O8LI.9R=1DMV1;3ESK6#I9V=G9+ULP"4F8
M4* &(&UK?OT!X(M( B! V;=$ZK!5.[& !MB-!V_=:#1^_NOS)@X>(:$HP1^.
M1F].CP*(PR1">/7A**/'@(8('04T!3@"<8+AAZ,=I$=__<M__L?/_W5\_(^+
M^6UPE839!N(TN"00I# *GE"Z#GC69T!32(Z/"^J_Y]_Y*3A[<_[F],<J_0)0
M5BK!H@S+'%4Y5ZR^(%D&(:]9%#U]>W)^>G)V>O:N(KI/END3(#  )%RC%(9I
M1D <1)"B%0X8XT$NT$_!^+_#X&H-R 9L"=P S(4*QH_IFZJNRV2[(VBU3H/O
MPC\%_#/!S?'=9!%<9!1A2&EPG\099X7^.;C!X9M@',?!G)>@P1Q22!YA5%1'
MPS7[2,!:&-.?GN,/1^LTW?YT<O+T]/3F^8'$;Q*R8I*<GI_\XQ;AKT<%)8%+
M+>GW)RRW) PS0AA8NXI:4%(8OEDECR=E+F^KMV41AN@*@.TQ2-.JU!+0!U%_
MD7G",@EZR%*&<U&,HE#]$9;1J!\^AVLU)<]ID"+\"&FJ)L[S&/GH_/AT='P^
M*@MAN.(]3-L^[T]($L.3@JPJ!5!(U5\26>TF2G=;2)7M(W(:Y#3=$DW;L)PZ
M:8/II_.2Y=')/S[?WHNN<E3U%=8=5.2C]^_?GXC<DE2B;'8LGOW 1E=5,\M%
M'?0(\Y$>-NBC%D@%\;N3/+-!BI2DW^>DJ.JX2893HNNW>683DY1T0,YR*S1(
MJD.ORFK4'*6D5:!1/\L^X=F\S"GOBF>C^J=X9]-\2F0U/P616F*6T2#$V<;
M#:. !(55@01;E$GP<:L<XU/)O&K*T$\7C?$?1IKA'T8-PC!^VG\;9B0Y9O/V
M^DV8; 39Z(R/^6HBND[(Y@HN01:S0AG^/0,Q6B(^P&$,^=+3(*AEIX"L8'H'
M-I!N00A-7V2S=A#\##!.4K'<B-\\9;M%>)D4/UD"'U<_<8@7K&D#_L>7^8VF
M=C$C729LD3T*$&N>_,^JKK*V""X11N*KI_Q_H^!XO[(>!Z+4SR=MTG8M&5M)
MI_@OXF^VQE%66$C"%YBB=$'253($<9C%!Q3<<Z8O5Z26K?>B1L4TB5'$Y_H+
M$/.)ZWX-84K+AM9E=S7^:,2&^BEK\7O6<K!L_>G=_?3VYFJ\F%P%%^/;\=WE
M)+C_-)DL[CTF=IC,V X-IVN8(B:) : FK1&MD3U:P7>-NO_DT=.B5[4HG2ZG
M6T@$\W2,H\MDPQIB#3%%CY#M@9,-O$VH8M#UKJ$3:39'=X_+^P7[Y_/DCJ$\
MO0ZFL\E\O+AA!,'X[HI1?I[-)Y\F=_<W?Y\$-W?L]R3X[G9Z?^_[@%T?N 1T
M?1TG3P:@]V2=:/[ USA[-"_']Y^"Z]OI+WZ^M41K#? *TAM\S_1=N$[BB"G?
MD]\SE.X,^'44-"+:.1.W$/TTOOLXN6=#D4W-8S8TI[=7D_G]?P>3__ERL_C5
MP]R ^89-E0R(!0'<DC$F!*QRP'(P]=E=D+U__^[MVW=\GXEH&"<T(Y#]*.H*
MBLJ"6FT>E.;8VSVPL0'#C+#!,4?TZV> BZ9BB]Q]RA8\N-KM&[<8>'U+&2!\
M]^ZT#6'C$P'_1K#_B+"(E9^IE?/@-L"=DA7 Z _!)\.EM/]=@/#KBB09CG(T
MS61&^$9M^.IU"K0JX^.^6H]6 ZW[;+,!9#==WJ,59LI_"-AH"H4MB<UA,[;0
MA0@6DZ4EK1&WLS9N1<7<8$WW50>@JCO8%I5[])KHP16?F6[P,B$;P6V!E)QN
M1.5<0B6O)$#[6GSS-YJ_Z/QT#D.('L%##.]@FB.@SC*"\+8-0EE/0*J* @Q3
M#T0#B!F!6[ 36RVVEDS3-227XA@G'5-:V;6,5$9XI#U?K4JQX"2\TB _0F(3
MF*C68]56O-@>*BS:G %QB\ #BMGWX5Y#UE,8,?I>VM05U15P")SB?8T>GI;"
M],CD2TB%1CW!V/@_R$I15=HW='/M7B<D74"RX1T\P2O^YXTXOZWIIR8B(R _
M2JLZKY&Q0C;Y0&"5YK_0OEJ/5&MU2;:0I+M9#(2JR8TZ6]Y0U6K?26'$Z+V\
MJN35!=L8%'HG+&OTJ[]BRDH!7B&V-<I7C H6588)C>\EH\"^EF(%^;/'0,+@
MEG72+Q0*AYZJ_=N)QK:7-'I>0\"8#H1OD6]XN>$O /YZD1"2/#$]N5@U6FG&
M9I<4<EY!\%#5X)M<VB(5*^4-'B^7;",)TOIV295I!$'2OVLUL<4Y %5='HX&
M'!^3)'I"<7$V7OTR-KBD:Y=%??LV#;I<IYV!';<]<&UL'(8D@]'D>0LQ+;N]
MB<B(AJ1:BQJ#;5&EV 2!O-( %K5ZH&2@%N 9T@*(&C2-9",8D@Z=@Y'R2DI(
M?.,WS1I@BU(0%Z[,A2&CF69L=DE[+BH(2%Z#;W*YO^=>,*4]CWO#-*8D9;81
M"$EKSOL_$I75#'VQJ,_#TE0%(*!P^A"C5>ZW5.@"[50C")):+*H(DGT=ON%;
M)Z\1PH#LA -*><I:3S(U^0^2[EN6#RBOP+=WH[T7A'7(C#5NFH1?\_9N)AG;
M6])WR_(!Y17X]F[9X4+N(Y6E"=D5:VIULJ/(,;:^I/;.YI?\QE9>3[GH^EE&
MN^I6AIY6FK'E)5VWL;YZ(X]L<> -(_;PI95AGV!L;4G1S4OGVWG?THV69MTW
M;YT9)(KU5)]M1$%2<%E=98_?LLZ?^*6VX[",+X?3;6T_V4@Q-KZDT(KB0;+U
M^TC%.LOO%R28'V85RVLMP=C4DA);E!:'6;ZE&RW-/4RO0<BV&T6OKB<86UK2
M4H7#ZC(O[EM::NDQCK[@$)(4(%QZ\RO2C>TN*::BW<5)U;X:W_[-]H<QOS Q
M R3=+0C E/72_62NS35A\:.DL195!5M>5Y#6*O.(M/RP-AN4EMYPW$D*X17$
M8<T-2T]@Q$72;&NU%:$E:O5Y:%I.V0\4_IXQ&2>/-5^@=JH1!(6C=5E% !^]
MI\^!WO"'>,5;>\?_*/MA6WO'!]^5G_%W,WM>2EF(4T;+JRD%L1%*2?&VN: 2
M?)=7[R$\9&S6<>Q5P@BFI+_W&9<>4KOK*PWX=+E&J&1M7[[*XC'I<:>E#DL7
M@1$9R3B@N=_BT3GLHDL=*$M:(V:2F<'FTHL'L/_MESIX%G1&X"0[A>$FC,?,
MVK]\L7>OTN::\'EOZ6E>P.)1Z?0XKR&BS#&B8>-[[J&P\$&O(:'*, )A\D;W
M()@N[M47$CG9"(#2$[VHPZ\1_>^(-3=E1CHC/I)9P71?S(/6ZR)'>_CH28Q0
M*8($:2YU>(P.NGW0L-M9D1HQTSB_=]Y$\.C9^0+7X=+D&?&1; B27[!'P\)!
MN&GQEC.,.,A.\@T/)@^"T7]2FKP:R48 )/V^X47IF]_D2ME<Y]O)AN;__E2A
MON_=*GWS][RS4],:#31&8.2X<%VW=[PZV<\1MCYJ3$1&J"1=O],IU@\JLW=L
MXP1-3C<B(KL?U#UE/0*]G:F:5GT3F1$?2?GO=*SR>/7R![F"*4!QMQM(26-$
M2K[1WO;^>"B]/[XK*O4P'>+ST4"M7Q$CB+(K00^O#X_JRU$='0#KR(RK9$0X
M -=@Y)%] ;)W@/"7+<I@"0>6-2(M1\ [ .GJ>QYQDPM7<S;69AMQDZP;2B<N
M/\7V@V5DP,4\=8XDNT<7,'Z.M(;FS #-F1D:R?+1"<V9A\82FG,#-.=F:.2[
M&%W0G'MHN@^2&JN,+M,(BF3L4!PE^16F#R"C3D0L5A?)OJ&'Q*\MEJ"<=8)B
ML:Y(IHP.4/RJ8@?*>2<H%BN*9)KH ,6O)W:@M'12(Y41)!MG!:]D'G(GI;$#
MZ*0P@B29"+2W4OQFH#= (S-"%ML"R1I@@LAO#OJ =&8&R;Q-.),L T:0_&:A
MYP6OQJQG2VP$3K(;V%WQ\K-A[SM>#?QL"(W8288%XRTO#]NAL(VL<3,O:6>2
M\<$6.+^T'0#=F35T%@N=P@G#$CJ_X/6'[MP:.K/6?":9,JRA\SIT?^C>6D/W
MU@Q=WY?]]M"]]=#UANZ=-73OS-#)+QO80O?.0]<;NI85JU<)(Y22L<0:2F_?
M,E_=;>@'BG0C/)*AI'%YUV_]+0%H#:$N A,DYXJ+(C(D?G0<^%"JQINL9R$C
MB+)KA<5#JA[=%UV<;QF[S(1&%.4G'XQ7Y_V4>2AN(VO@S-:2<\E:8HV<-Y<<
M@%UK.NU5PHCE 0$L_#S:/TA5:R^IS3?BI8ABH0Y4Y>?*GMB,3.!8S(R26<2
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
M8O0(H^:5*EMB-R^:+!(&3?-&$#_7*H739[LI3OU2S SL&G? -'F.]L%?(+<
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
MJ:(D5ZZO(9"-I$U?=$WU1Y0X%F"UB-$[K&(#SE<BL N. LXHI0#\XG\4V[#
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
MGWAIT9F#GC+=B=?6J?FP:-F=6C7=BC"979$#+; ?9[UT+1 E.'I;L-N-$7T
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
M(_KFGX=:WZZ<4DEHD9V4LN0V^F"XYJ6V<<04%EE%+,00\=(F#I@3L5>:_<%
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
M8>D'25BB&)T@^?D(SV6OC+0!YPJ9-YAZ7X]@Z]+NW[QH@F AY1X0+"!80+"
M8 '! H*%PX[1'G;HA-";)$M7 L^6IT8WD6?PLXQ6UQ8T)+#SDD(KP88X[]!9
M'X*<<]WE94^&>3.).N63MS>'("U<DW=[DL ;"=0IY;N#+>IS>759MR9IMY%
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
M*JTK9.EV7;L7-)NNB3S[E?JD<W8HB%T4[7^W;U>9I2K+,6_SV49@SB88N;F
M0QQE?Z9*VB2;!5KAB%U,]\Z=+8X=?TZQ)17$68F2BW4(;;"(KBQFC[7GR8./
MW2]Q7CMV@?Y,$&758_M&SNP==9;<F+KK4M/Q,%_+^6RP:$<1A[C3T^Q]5[Y[
M[:>SP7[=)"S?(C*3QDY9DR0Y5%H>'Z6N!R@^09I#H=*XA--*![:,+*_#"O4]
M(.@W^J ?9-07S 49]9!1#QGU3R6C'EJ5]9Y=G_> H+B(=]&9$W<:>)_"8/6/
ML#:E(+W/KB2S!7FK)1DDHYZCT?RA])F76%1E0C38%A6+^#<;8L@-7V;N# 54
MD=*N;W(Z&ZRB*<H0H8$+M$3TJ:PT9/X<K0U'36:#WO4D,=O%C//'VYCHOA<J
M.AOLHRF*V0YEG+O&.Y>2T$(3J?8N0YW%&MOF*=A$98OW!F*4U;!?;7&-#UIQ
M/ZBE 9$_B/Q!Y \B?Q#Y@\B?*4@U3>)U2'"\4]]FE-'8L8UI"&(X.[:>-56*
MK)QJ%*G+Z@6G9:329O?FR9AI#!O@$*8J;H9OX1ADI,<@KWN-Q_/@VYR$U&.E
MZT*:9RL<;=Y9UWG-B]%(H2A<S8:B\YD<K)#+%161U=S!08*#U2PK]$(7TAE:
MA@05_/O+[S%QPKP62>K"W88!>VNI^BAK*]Z)2+7;#?10\VNC82!G(#V8+J"?
ML[Q E#L7^[A0D[L2NIK&5XARRS(G\QR\ WU]$Z_R:]C/8ZQ;.[U)/D2Y_]DC
M(G2_>\3II8*0[!]Y'<P)#LGOR"&BJF::M#88K($X0QP$WJ/--B1TM[C RR7=
M&P)76*F^?J@M.J[GWNPAG^ MI7NVA[S$C3%U1?,WM?$F5S^)#=9J(Y?9L\ &
MK+(K@U1AZVG@7:!'Y(=;06.3YEH03?TT;2Z2=HBV!^R#23<--YXM67^%($&W
M(?.,_J _N@_I;T4[IIK.!N-HBF*V98)@Z:3) U/OCT1<HU:^]JH3V&"RIC*5
MVS",PG;G:R=84?>FD*N3E7ME#9+2$?M.*(W-VFAN^RW>2-Q\,7P8)-421>?T
M^3C.M_%IG&TK^%'BSAVE+VI,8(.]FLI4.2PUFK[QJB9]X]T+O?2-5Y"^ >D;
MD+YAP[DGI&] ^@:D;XP]?0-.+(U=W"KC:?JGL.M#Z=I!>;PMH%4BPA!WM"J/
MTP]8ZY%:JW=90-O0>7$G3_VIN>)-?.U>SW32,B"E9]]@YR&O22-X6Y14-JA>
M2Y!QW.S:\T;_PG]6B&VS2L?3P)NZ+DD</Y+U_&WP2O7P+!N6P8#BC^/6V5ZB
MXQM8#59"F=!FLY9E,7OKK-VJ.VYP)FL;UM?\-EN\I<B=CJ@4 #5VOCLI;_0O
M7O8S-X^Z7U$VV,=?%-MN-H4-=FLN5:<3*.&A V_)R!: \&#A>) MZBWSW>G4
MIO]-CZ*P!EM8.MH&S4L%&-<9C:S7QKN7>F<UT&$#SFS&?V;3Q#S[Z."=XZ/9
M,NTKI>BR(2:QXQ1'+8?A-GT%?M@]B=GRGCA!Q JOAH&RRX,&[2@NLBE77ME<
M&H*9[I(RJ-W&<#8TF.U&>UC$=Y*/*%P19[O&KN.+#[@EP^W8&^4R#'&I5V6
MS.)%7F1'JY+AQ@^XE6NI: 2Q'$-<V3V1$<:PA?5EB!-<R!75L6?1@K6#+ZG7
M<T^=GAN\P3%2-+^1TXS U=3^=AY5J)>+-<BMW-_Q=U8(G[)V&3QB$@;,OH[/
M'A^$?KC:G8<WL=P:S::PU3C-I.QVM5?4KRA?%Y1?UJ&5+Q>=-T:/U%;;Z$G'
M;=+K<>RG?\BOL?]C!+J5?X&KZCPPS55FZ#1UGRA]=&/U./F]]?WA7B8?P1NC
M&^+I15ZS-\NS"@J"<'\^J#C&(NL4V3:;YO,E\' 4$_R0L(0\AP1T1XTNL,_^
M*5:[G,HB0\@%*6?TG/ ,H-B::)97@4B[MHM[[;Q[53X(H)/PGD#4R9[P:A*3
MB$UT@A9!Z9=]MDT+7$CX?EWF.Z6;A!DA- F"<XLG=6YQ15]"^A%V_.N ;CT)
MXTY^:B$DL",NIY+"<.0[]3F6B+!TDSM$'K'+"O,L:]B-[BD;4?VO5#'R?I\R
MBE,0Q3HNF;]?!1@NT6C?FAE#^-+XNCE!A_4>/MY[S"2,->RWW<I0\]![B%>C
M @,J<G?KU=[=: Q0GSD46)R'&Y;#F/G7A+#<.";0V>XP9.[LTC7_S2%>#HYG
M"4NI"U@XZS91&+W_1YE?-/H(L'_IS08YN@KTD0Z,H^N NHDXE'CL?3_G!UHS
M9='-!FRZ2G,5DB7"K&?U"59-[<-^H*53*W^G>V*=U\]O"*_6,?*FCX@X*Y3M
M@GG$*Y6EN$<>"@N)UTCK"2U:!ZUE-'L_K>ORO?R.B(LCYM0/#4MJ'F71^AA
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
M   05 @ %0   &-L=W0M,C R-#$R,S%?;&%B+GAM;-R]>W/D-I8O^/]&['?
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
MP1ZN$NG;<_CPROO-,45F&WIKU[-@KY%AJP4L/3V9-U$9X.Q65$DI:K2Z=4,
MMJXB%4(Z&V,TV3H3:S1%"E%4@A42UI\-*\X%3%XWH4O^<_7/O?\. PPMV:07
M,(X__/#E+S#8BXX\BKSZ%*O58,J*IL1(9W6Q6$]&R +%ZP"YIHB8E_4G(W]
M!RF&=?(1X<_(=[ -1A#RPW,::/7IG!1L6<>XA,Q#Y\Q&$%J@4PH0JSIT8*%:
M9'H;9!<IR2-R$%;F;8#ND' ;Y--JW 9E8(^V01XA\Y1XT_G,BFVP&6+-;LI8
M0%SPG($020(L!IR+AQCMH.]>?=NA,$%X7;U/7U%\M+GS9D:!C3DIULO)5-<5
MP3N*MU'1N(P[7:UQU\(>B( /XEU)Z X2$7[@E"T;T[M(BREM_W9TKA-#ZZ8%
MRT<;K%55_#UC!ADWU4?*#YB LSQ:U+2[F-RSD>/!;WZ*-]<DC=ZR,8HW*3F+
M1LM: ?J102VAIS,Y64T<9-(%U!XI+]"'<#8N=P/.RTWXCA4[BC\$\U#^G8YF
M-4:KA:Y['X6=2 RPELJ;4?K(],[">^F28>G\3EOKP]J"3Y +JK;,%U1G -.9
M7LM5[ AC%D.C;5#?6=?3\6QIC^N5"ZV65$:Z(-ME=#+T=WB*6KAB>>2ZE44,
MN:XW=5KF\'3&:&*#-:F&LJI-F/[3L2Z9]LT^Q-$.Q>G' \:98J.8^/EVY,PE
MWG?D+#K/+,W0CP\K8GHZ;5-GOD13"Y1+'6G]S,PXS\".\-)S"LJYS;D^R+Z:
MI/0H?Q-N/,\/?)BBI'P]BC^HR*'_B@?\GY$?IG_!Y'O\:D4V1F>!S 9$L^UB
M9)>1VM.(>%9M)AKX(8"%< MLW).UHL_7J-N*MNR3&-NP]O4T#*YI7_X(\,*X
M<=\AGB>01N#PH#-0?M09.#SLC#+1YX'\@9(CPH"Z\SF*W*]^$/#4(/^-[1/C
M^<*=V;/(\<%5YRJG,KP\5=^R8"PZ%PWEB1_KFG39IUQ'5/LJ<Q+31^U[;#5!
MDAQUBV""'OV7U_3>^S5!U,P7#*^!1Y]6*($OJXJ4@<Z6.T80VG#.:@&UJEP%
M*P@(+X@)\Z?(^[0G#OS,;2^UB%54SPF^LHC*\60ZICI%_N7OE\A#^)SG/L-O
M[*A8&9^(:'BMD<,C:L*G8!%J8V\]-QG2KX*ME@.9D8,4?C/I2#\.?3CX#IHC
M.0ZT=*3;U78]U>5(4]C6U<#:'=;1-#F*0S87%G2"/HUM6.F;$=:LAY(&$9XS
M<. R;5!P%_WJC[H=L&)W*_M2YYZWM.$,R,-4<\S?/V]N@16!T;<^W.+3(TW_
M"%W:?.TU"EP4)\1QEWXT..C5V?7I2]LAE35*E9?-[VSM:CNARG2N&^JJ5M[>
M;,YO;I]OKI[ YNX2/'W9/%Y]N;^]O'I\^C=P];]^O7G^JSW*JA;*+V,PHI *
M0?UB:A9N,7&Q46*7TDEQBL+[@P._Y")IP&EY>HWB]!G%;^<P_.,V@B'Y>.ZB
M%"4/\$.8*MS$Q((ZD3O=ZHH[53!R6Z*N54+ 7& ;Q7'T%1])3;O>E>>M[4O0
MFG,\G/)-3-;:Z "U9AI3WD^$&5#-H^S4@4T%@$R"<3,Y"]#.X#3$N@B(]8?3
M\^'RXNF/*;-8D^UX94,]#16,PHCZ'6.R,-PUWU0_Y-JDQFHV_%4TE*8PV"H?
MR]$:N]YR98'>M4<L#(LM&4!&[!\60W[\'>%%&O]+O$=NR;SCNN%5F=G+6'O+
MM47Y'1W1U[ST-(H^6TW8#@69"(!8L+UI6ZGU''=]45KOC/0I[L2&XWT'R#6;
M*DOXR'? 3 H+)<A4MB3(M&EU?'.FN"DV,9FZU%39".4<+.1@Y(ZG-F3!ML$J
M.OR36N.D;'3D@2 *7SZEQ-B/*I>>2AND%GU\AM^0FIW/I=2G>1*@977CD+&K
MBK4[GMA0]:P18#U.T,&F&+TEM<.ZK[O'E/UH9GV3:CY)YC :N2ZR(2FB"9\\
M,\*>=:8T#N4<B08>(ZJDEBTA96#[B.NX$QN*Z[6 *LN;4/-YFS2Q&H,'%/B,
M&UKR<()&)E;G;+KRIC9LA2WAUF[U5,PK&DM&C#'GV#ZS9SEL_BX-+74-"QN+
M[IK.MW-=^1J*R]@Q,'Z$ KL1OB%7PD8\5!?1VYO/XMY)*:>(M@! H2-X[1)R
M5M;2G7C(HHAR9;QU%V+!R.I3E5F->[4;YTS]->CU8?>J;-K*V<B]U0H@:[ZB
MJGH=\9EV#;4.4;(C**E=&%)#",]RO%I.;#AWJ>*LU9ZV+[:(*#UI?H8')*WI
M6"/3NT+Q(%:7I3(-N\! 'MR:K#BMAJYVO1*[?@CC#Y"\PAB=@<GH;#2B_\_^
M!:].^_0UBOU_(9<N5&$$=C &[T3T_PN69ZOU^FPUG=#?#G_SDV2?,43[-"$-
MA8A1#!-B %\BA]8Z!M,Q>>!D1NGP'Z:FHPU<ES:+@,$#]-V;\ +N_!0*K\=%
MU!KC#>2 CP(.^*14.^:NN[#BYE<)9"WDH& "I ;7)S\$#N,S8E _Q_CDMX\_
MY&M(G8K5N/06J^$S-]9L)D+T0HK,R\SG)ICU'MN,'B2$X0R,5].S^71*/_#Q
M<G4V*ZTK*;:ID_2L<5$X YA\AVCGW>##]"V%<'8;WYS6.XI3E'!J0TTT&;::
M-5VHW1-3.TI_HA4M2-Q[>+P@73WVI K4(TI0_%[5 #&9IN0]"<0B?8]#PP*[
MMLYL9G+^U=#5ZIH\7N E)^,@ZP5A,;+\;QQG_[8/R,)*XP%([^<8O:(PP<L7
MNT&[C9+D#J7WWC/\QMVJVXE@7B9OO)SI,C\5_"XGC8$35)@+RZN\EL6! $LR
M;3IVF_;3WIKFT%83>CVU(?6P,_#:1E769!8N="0+9%?LWQ-Q/] B@\0VPC)-
MNX0>40K]$+E7, Y)?D)I()?(\QU?G C;S*@S)59U&,?)L4U<['YHOIC/;>C+
MT!9O/?.:\0.4";#.'ZGL*S/K?U3S.]+)<!8K;VU#<FT3/GZ<!SW495S_1DO*
MI1_XB)?&_G:?TC#(- )7^S@"S\AY!5\P)5$LNOS!\ /<^F\^5D_#BO:+'T8Q
M1GX3I@B_5]&:5B?3IV0BB&45J]*PFRYO.O%L6)WDZ#BA'>3J#4L-B ?1SYCL
M6Y+PUAWLB5(_L'O]34GYGZ/C833H5U_"32Y]I[P.^7+913*[*AFMQC,;@LV'
M&%/M^H>S(-L3:L)-H6\.J!"PV5/WH"%2A<O#JE0M%ZN5#:%0[= VQK386N:
MU(,17:#1G_1VC.->,^)_9X5;X=*=VG ]4T?$:^=FNH(P[UV6?F8*[,ZGGD45
MLH3X[.Y 47GCXD$9JIRKH@I66 1<4+(:M:;]047M@68UX),:* /1H!@\.K;:
M+::.%7TIFA'6K4!2YH&&)OL''G.IT-AVQ?!\DES)&B0("I *:)DGPG4]:-':
MK0:VOI#G#/W5&NTGE5DR1XHCUYZHW(=:S6S(@6E&*,@Z+JE3WG%.WJ%HJ,OG
M6QBZ376&I80L7FWIHID%+<):(*TEA9#XE7U>5WBX2L)-+UQE)-I"$_K1CIG)
M2T%%>+7OE*,/IHTXDK>D9L-Q*36Z7<1 CSPM=;*L7,-L"6W(%6@$*,XL4S+?
MC/07$UV:U\C,]1/C1B-4:+**0MYZ;4/E1SDZ_AU<6.L>9L[0/R\J&0H-L0,)
M6S57:.[I>O6J9KT(H]W5&P4S(!^@=J.]O8I8D=\I!":PS ^D!JSQO!":O 1%
M VE687WK3G7%)S19Y*I83ZL+=X)1WOS>U8:CS3#O3U'F)@TM98"<A,RZ:ACX
M8.F:P:G,(\B&5^7)/HOE:*2KNE73)]P:-+\P8$HD]%..2/ IMYB1EN/3]G$/
MJ51S726XA9][*Z2"3?I(C89)',F[#'V.\*<1DH/<YQCR]P,AJ>;N3P*HM1Y0
M%3KF^)Z,D&/<3Z.$4-@/ZJ7@ B^$S;2[AE<@J3F,P\P17 JVL4(5R_99KR?0
MAI1J!8C-)_*A34X:\,7/6.;\KFDEX8$JEH_RCVROG\/ES.09KP$6-\8N3S8&
MJ\G9?#FAJ?/E)/EZ'OV9(#U>E H[S5-A)ZJIL(.=$MA014F%QS^SF^GY;#G2
M%77<>&R4X*M',K%9;<PE/.64R'V=8L3Z3H.MYWEN\O94"JI^TCN>63,MFHOT
MUJQ<- G])<=/WT%)\5N&E,1A[N-=L$_.84 Z4O.VT9,$YC5"7,>BN(H>1W1B
MNK"FC((>-*+/5Z@W?\"ZSV%N0^9I3\.HM_\IE/\@&!22S\#A]WRU)"9()OX,
M9 \P?7]=*G5$3;%D4]A8@O<IY3!294H$7%!PJDK.#-3%:&0T)J(U4%ZUQ2C,
MJ\8<3&7;%.R&&NZJH\^I#2K6,6"I4C'2K!L+7'HV]$%0 BE7)G;6LDV1[@_'
M/M6A'[$85"D.=*E>E>BSXE'.>&R#6T<=J5S#2D=XFZI39<.C(Q.\ 0F]H5I5
M/-#"DE5E8K8DX/E:V9#CK BSJ7P:<QT93_0A-4F(18C>FELE"*EU)@!) 1\G
M W%)F6MH/9UN;>C#J 2RMD3=WSW=W]Y<;IZO+L'3,_[/+U=WST_@_AK</UP]
M;IYO, '-SKRX_^7A\>K+U=W3S5^NP,T=_OL5^/[V_NGIAT&\7H_H'85[=(WG
M[#F&9-7$)Y=?8+CW\*#V<7U'5.;2Y!U3'T#A,6MF816P5LNQ8[SZ6ENP]54,
MLFJO^,CX5F;3[[ N#>4J?/%#A)JFIT3&/K"5![5M*4T.;!6<U=DH$0[].7->
M<3-Z$Y]M1UTP69Y'!5O-S5,B,N/FS@!S3;G\-^89&"W6*UTKGX+SF0^N7BB+
M4AFOS7;\D@5#T5MG37'>;4B^K@&J?4<YA7F'9Y+>>QF:!D-<0*O3<2 !>^PQ
MX!"RR7#68RNJ$2M K/L($EJ\,69,DEYD@]WB4M"J)JJ4FFTQV\546[/>YA!P
M9;@]V*<GA8(KS(+RR#0&A/>K/.;C Y0@<DJ+"Y3%2#8'&8+,>*U1L$C'\<+1
MMHRJ?;A"B+J/+\)W*L6L^3-L/^7&(V_%L&2G%# V<TXYVM\;;126L[N"Z]7@
MP>_JK3HD"!M,$YN,6I7!&3-BU13#BDIM7%2<I">F"!FAZ>/-YSA*DH<X\H35
MQ(\H]&D!!UA9!TH_L^IM"")D,B^F$5A5$R@AV%%*T\G+>0O=JV\[%"8H:3CG
M2N@--$D6@>8V1ZX29\XF9XEL6$,48=;R\HH6R"CC.[$-M\!PN_9#$H-&EC!N
M M[Q[YK,-1ZHPE(K_Y@5[QW-ER:+OC; JDYM1DG[=IFI+?$9A5B[2*CCQGWS
M0Y\H)$F&R%24NSC+6=BZZ$Q&X\'SEM5MN5:8:VLY8Z8G5GC$7GR1IO=YM5EL
M]U*TV@/#J.'8"IM!%6C-FBPKWC$OR)C-'.X^0S\D#77NPTL_V44)[19Y[[$2
M.]RYDC&PJ&IGY@P?P]9BP5!'7"\QA2V_* 0N9<33A\\#V!#$NWCZ<09VF#:E
M,TI*R.](_(GIQ4-E-MN\'JT+1_^J.+:A:8PBS/J2@?FR;E=$!TO,1 T?,C4$
M#U0+KW(-/,/K2=8O =S[;,'Y#),#/?F'9Y_F4.;_9OIL6[.F5:UNH\<8I>,+
MG=_MU%U/;;C-;8 G/JY<V6$<%8 .C>6:1EJF-* L=:!<=3F0,?MU[-G1\:(1
M8*UT<SE$$EP_WO]R"*DTK3RDFLE=%$;'8\I4N\F3HLBLN4Z<\G!JY>,:.;/T
M_MG:BC(373#SJR+YE/%$OTL/@>.L41$;!D4F&#F74F? N!#H<;!XC8R9UK,5
M7-G0'Z 1(*<(/67(%,:POK &0T_(V<>T3,KU^YW_B&! $@%S U,P<C56?1K5
M9BAE%5/A8X5GW(FSL"'ELSWBV@T_:Q:)#P),"XGE#SW/#WQ\ZAVF5DY69I\\
MK=[=@$NALU);#=AQ4;;BY\P5L]T:-:,:@<FV*&N:7@BWW4Y[M3TV4GO;*"MT
M/)JO;<A]:H.57X,KLDS=#J<,$L9/RH[ZX1X/+#N&1&%RCKPHSOJ*T[J&5]^P
MY1?%KA_"^.,F16])JW:B@SY1=UK?H"^NGAHXR..R]"G'&=NP@VL;J. <?7YU
M??]8)!X^;_[[ZLF*3Q2/-%MFSE&(Q#$I0FK=GX80<%VM:Z2L"?/875F4\=H
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
M0V%MV$%;PJWI9TDI#_P@%V#3/O>$7L@V_(AVY*H\?&EJU2$DUZB%#9"/]$Y
MR^X2\1D"ZCHB2]5-"65-RQ@7\$,OBM^HD65F&ZN@5S2_%=CH^+W)&LYTN:!4
M-K"VN$^:-R.+@/H94XG3W-+0LRI:L36UP"K2O(+9[L-7\H@<Y+^3J*T[E*J=
MOT0\VH]@<O"<4QB?(2N+L4)6U(%N 973+(&R@KC@!2$R$TEW&\$P(7W3$A(M
MA#8AJZM_&)6J"ZF3(%:.;KN$,PNBGGL<B<*,G\FG7,OB<M+D]_'6="Y&%FBZ
M#9OF:>BKBDVEG='&B_@_5")U=U*9H"34TNWU(48DS#U/-,Q>QB9)4)JPXA!-
MFVTK"1I;T;<?V%%#>G7VS.^(9M"&8CZ=@==RBHB@K$T]T>BLJQ$3 2 5:*8Y
M/?(0!N%>1 D>$BO0ZO\+N=G(CX>LN*2=*I.5SUJ,ITL+"J\/,ZA^]4/+XM:7
MIO3\7G4N@]9^+#:8 KT-I)80F D&5/(9*,D^ YGTLY*=P)YP;"+04Y$]A@(M
MSHDWC=_\]/5BGZ316_9B\%NZ]>'6#YJ;.[>4H;/%:8?!';<_;2& J<W4FTQL
MB*8[ 7JM^7,F*EO]J8('F0C=%ZLTXU-I; VKWDF"V*EX-G$]"^R"'D?2V\R?
MD!-]ZN3V\5:TY5K;H<DF-^U^T->RO1LTU_2V>Q.^8W,ZBDN#:MADI1SZME0%
MX.4-5$+.YF[EK;<F2W2T!EI/2F6,IB*,.,"E5KZ,GIT,Y\YJIJNH@\)Q5QUP
MIZDQ];DWG4;E+$8_^-/TRX83HA)(D3I]#./S%57X>XWB]!G%;V0KC,(7\D>"
MA)7B31KWCZY"=%7_ZSJ\0RW MA)8JO@6+4;0M-US(O;:Y3\1]RG%0IB]@R6R
MO_D'F09.:S!Y)?]/"K>\PX!F:X5NP] EENY)XMB.L83(T;4.-9[<>AQ/OPIQ
MRB&NESGO[S7I.]!9I^SF#W?]C('3N:)9N4V?\Q[B:(?B].,A(''&H4O>P>Y-
MY?:UD4_GG:OB((YO6AN8V,0Z6V=ALJ1,1[CU6S/&#G8!35/ ^HAR"18$Q A'
MIWX>:2?" N54/*^TX6?6%W*<I<E&'Z<C%VGO&4]]#:ONYRARO_I!@ =X$Z88
MM;\-4/7JKF$U;2E#G_)V&EQ9>UL)8$W:O=74,=ECM0?H]9-YSI^Y>QN"$ =U
MEXB&TN U:61C/2(6<S2UH.1#9]RG3ITF=YWR)+9_'WJ==X-JHQVN/'6L$N7C
MA6H,[-F[Q=OLKPEZ]%]>TSN4JGGR%)@TG725X1>'V4:.K,WQPEL;;P+>$FLM
M?IB84/L$@9@(T+\=R<<@]C<TL[!QK^=PKBLLMLF!UA;S27,UQ/<N]7NI<)G^
MXD_6)^,^JA8X:WXHCOY(R\N?H$+G,/SC/(KCZ"OIZJZV8S3S:%(?5?"%\C0Q
ML&RT]62Q,KY=M(-:KX0>_@&V!;O^G4($7_QA-W(PLQ^Z8VNZ[[:$W'F2!OB^
MI3N$ I/A+_Q4-3*^/:C#K.T.%;4Q?2%1NF*Y"3>>YP<^3%%2+M^(CT*10_]U
M$[K_&?EA^A=,CD?;5!^K)]EZ8UMZ>QG5()B3!;.>[6BQ,EIS?\ A\0)LLD<
M/P2P>(BQP+K#@$-WX[Z3=B7)<W08?6,DE+* + )_,5];<*SJ800]S*V!]5!Q
MED]Y3>;6-STJ;-U2I8JZ26/Q(2\71'IH'D2U2NK2<)FDZ.25D+,,XL5JH:T+
MF,)BI(RW.I$YHR47F>J7"5(._9>4/>F5#2N$"D:1&ME:\0%^T((49+USG'@/
M@R9S7<JA,8"C&?A1O(:8G+EY5_.%%>T,E('62B[3W.%=QDXW'D@$(#=O_&W&
M(,Z+_60#R\>%B@PM7[G43$=1K&/3=#;5UI!;85_J92R]ZH#6 FX=M:&?EVBB
MZ)MA];=A^SP5O[",6":0&=N9OI=D:KV>IY_@,_R&\F&J7;<HL6GRQ[880N&1
M5>!AEQG3B3<WWER]-5K^0IL2"?ERJ__Z13(*L>M<A2EKASU>;2WP*G5$?=*,
M#?/]2Z]CU/C,KP ]:);Q>YE62&M7,QQ-&NKB/JL4](@2%+\K[B3-/-IRFM3
ME[*6Y QL29Z/1N.Y:0UJ![56'X5Q@YBQF\BMY,.7990U<&0C'J_G%L09=X'<
M>9(&^+X;4AH;F0Q_X:>JD?$-0AUFO8+,L=H,M3/03>@F=**WHJKG;90D2#&Z
MJQ6[3J.CW9".;0\U7N;U]Y:NT7IKIZ'F&[<^E50JOQE0888.)O)Q-9B1BLRL
M;>MZ/%O9LNET1]_3G Z[IC0?893Y[5E5>M1%XSM7)\2"(XY ]TQ?6=TBF#0&
ME56)-!;6Y\([JIA_1,'<%LYX,C%95T8%6RT#@M"":!OX+[17D9G[)8;XWKM%
M6#F;C%!E)C;R^7BRMB .N2/J$^9+XX>L,'-M7X/^SWT0];/ASD8=*5?;$M*)
MD_%:&@!!RA\TEJJN$NE3+SZ\LBX=4["*#>N9-[:A/*8,6[UEM.N'I'=K\@IC
MO3ZQ'.Y3BA7R-0I<%"<,.NGDHOA-*S.SH]QV.7,LZO+4$7W72=33O+#M='9]
M)UH;&>K341OVG_:(JRK)N(:_^'^.\8:WCS\H8IGO34"HZ3PLA5D<?+E4;/V&
M*P07IH^Y"OBJ>I"S@(3P&-E?CE!+/U0^)<LT7"V<]=*>G4,%:M>YT+)-R&=%
M:;0Z-X!>E,B&I;T!GE!G*/WPZ_E#[#RE,-V3TLW919#(Z:1 KVEU5P%=+/(R
M8E8@UB6%"TVO]>HP:P7J'B_P"I.QYC=R!NY#>",0.YVEU,S\AMO%5%<MP:8;
MCQ9P3YV?GK]FZ65& X/![_D4S3%^/Z$&L78AP=<4T[ZC\F6+W('$I=1G,TB
ME@T&#AF;DK&[&-G@3VH$*+U$-5)-JP3Y#J5*5XUE.M9HRUVCI:YB-2UNN,5
M9?,P7*FLAG>M, H3U]*=U<+X8MX$3GJO3-7 ] K.P#_#;\I%@:4<.G/T&X$?
M9^0+R>EL><OE&NJ*H9&M\,I ZWGW=(VG8=F&"G_4D#<421#3L\A4;S):6)2Q
MJ ZXV]R8^N";ZW3(6(Q^\J<IF U.("60 GW"7+9>*L,X)&6['E#\1"["FJZ7
MA>0:+YH;(!]=.0MHF=-WN_5F*PM42PUE5;>P(9.?%W;85HG,WTI7QR']Z(7$
M=-3.?#7?ZIH;A2U%$6U/<V3DTV_:723TYC[^$U3,ADVE&6'MDCCC )@%4!Z;
MMA,*Z!PFR+V(WD@9!QJ^U["I-#%I#%E0@G\4IR#E8 <!;SQ!-O33:8.UUFB/
M7F5%.W/1LT_.*W+W ;KW^..@".\9P(V3^N]^^D'KELGC3$Z62M_;:@%'2PLR
M.X8:5D=UT+/F]*88O;]$K6N7S=^'#7MMCT.IMR'% C]1B:3$"VV*MXEC3(+(
MG\\ $WL&<KFM2BKJ*:^&7P/9#;)4G(<([PHH]6,Z@',4(L]/+Z(PC?WMGKVB
MAN)KW>5I+,UVZJ"/"K=U%<:.>;/MR+'A,-K3,&HWZ$PL;<!GQ'Y0&9=J?:NN
MLICS<>EM9Q;<D?4[F&[S;<W2UJ*46W=Q=BUL6I3=AHW_Y %4=?NQX 8YNTV'
M\$L4^^_8I'E'-R$>ZIZV3$4I](.&/5N%49\.JP^CK*W-7&R?6JX<H\'A7?'6
M=-%/_@ >)HMB,^=RW@!(3=@OR'WQPY?,XE6O'7F*//;%CKPQLJ <7/\#ZC;W
MQM:<MEK0XWLSO4Z9_0 L7=9:#Z*J[P>AH"25EGW(Y(*#8$LO7,DW2U[$KUBO
M8KS,AP1KP[[<P*-/U97 EW59RI!U-=AN)S;T_VD!E;L.TR:)!>^'D;WXUW"?
M[&' '8ITS5%BS#:C[6QET<5L!^2G39^65:+51'9Y(SI7#1U::<$"T@YM50DS
M;D#9J38>";#/8?R( I@B]P'&Z<=S#,,$+Y,*?N%F-HW;F>(0CG:T!AZ6YS5;
MK:>ZCB#23:T5VKJ?@W*#'6$':8G?R.XF&HRB7=V"G>5GN[,QM"!W[63\?4RK
MT25%_<S82H+YA68@S;5A-^R"6:2H5 @H2['T<'<1O;WY:7[6);=D^$R*0L=7
MJ';;488^)>XTN+(:MQ+ .JFZ:.S:$#IU O1:M>Z#*&KF.65A1O95I<%)%ZAV
M$E@U630?(8LJ%IXRA)ZFV)XEJFF;;2O$LD6J;UVV8;_M"+M)=8\$6;KKDA;=
MZ)][C/GJG8Z_(=Q82*XQ6*\!\E$(GH"6Y3$C=P%MT#\UE+7 N8(+(,IF)K2X
M@ET>$2DB9B-=+Z:NKO+(*H' :FA/F!<CGWACZ*Z8WMQ'?H):V?B%*X3%'K2(
ML=BT:_R:H'OO*DG]-]+C7.33K1!I=)ISX1UYQX\H6/K&>NEX-A1GEV&K>;Y)
MJ6\/H)S:N($<)E'@NS0F_ '_R?EH-H=E+#J-WV;HQZ:NF)YYAE?C$;3A<E8=
M:56[SF'BT]K>3EF$33I&5DG?]6&,+>S[.*M4\HX_!VJ%'TB1>X5M<7(9Q%Z
MRJOJ+MN0UI[Z,H3JW54PRX.:.IZKJP:V\G?0SY!XFW8NU4P6.2V#_ M*7R.W
M-![Q/$L9Z&!GJ\5T@33-GTHVN3KB>D6)@ASX(8">YP>^!=NFTJRU>0WZ>Q?T
MJG(F&W^V0RDH0\[80%G??F><_04A"*JCW>$9(QE&48!I7V["%.$WD^.6%DM3
MY=14.ZW=0(I2:FIL+"9M/)EM39;#Z@RX5BHC"C^5A.#%+9-BQB6$7HC./Z)=
M%!,'*!N*@DVMQ,ANB!;+V<*B^((.R&NV Q.!Y\Z+XC<;+.U6\]CEA6AU* VO
ME+K*]4L=3:W0BG2P8#\#V;;5^_;50\#+.PKWZ!$YT4OHJSL<%/AT!K<H#N(X
MI*6!*:N7OG)7-JAD2[CU0!;*#N(#OW'-2Q!^DZ^;T+W$X()H1SZ:JV^D&@*2
M&NU*G#JU3WD@Q_K7R):U*%Q/5S84E&X-N*Z#3 "]UG4/(H 328TL+>JX<;&!
MDOH)7JXOHD937YE+GQHJ#J"L@@TL;(-SX6RNJ[*J3/U:@:VJ7HF9:M\.O[J(
M+((P (AIL.%*N K3):)EWK3)>KO0=4G7I@*N%.R?H?JMVDH@)C=0]?9491K;
M\,$W(Q37NNUF<0]YQ0 3LG&2_Q#OUCL,#GXP^0V9"B.[WG3A7)NAH!+/V!YY
M+18,\[+X1?('=)!B^O:LS6QV>2U:;[^&5\VQ#=$C+>$*=9'^H23A3[+68.L[
MC7TG1:[L1:C/LYH\]GVOMNY$5ZF3SBM3EP%QCCB9#+ID6;E,M5.$'E^=^47-
MX#<PMB$9LY]1M%@92]]#S^NG)A^5@S#,;8 4-W<9@TZ/5!/L8T>4B)I-N;>&
M4UW% N7^)S6<M;._XT1[<GD<%P*H'L(@B+Y"_#*!%\7 C?;;U-L' &;DAMP!
M)$HUBE6N5$2T]&V,YG.(K&J(HP*6%VI"N,PG+35-C.)P]7H#>M*EL0V1),T(
M1<KS89V!_A!'.Q2G'P\8;XKW6[(94D^XPDRI\C)_Z&B\UM:,4J70:R?PM<*N
MF90S6MHUI8LYRB69KO3:<FH[OB"ME5QU:>O8AFJ8[1&+U?.A4,]"BL7&[LW;
M#OHQ 7D?7_K)+DI@<._=1N'+K?^.W$V2(%4?5S=1&K?&$X9ZM&UVD,,LGIDW
M7=N0)G/Z"&K;;B&1Y#P$6!((B"@ J2S32EX$DZH;<@)ZO9:<%'35E.,2LR2Y
M!5RZ-GAC%6%6M8MHYJ<4Q6_ +P085JE;A!4;W2*8J'H)I!SZU$H!>%FQ).19
M<<JUN[4A1449:$VY" N A[8I9IP GZ/(_>H' ;8^;L(48_&W 6(K<?Z3V%&I
MS,R2/*8+#UG4-:HC^NI$YK2&5X;6$]GU;>A<-31JY\2&+ML=((O4D1X%#D(
MDW(&\M\M/AQ<1S'R7\*+?1RCT#FNY!BZ]*\!C;97W )/D*=/U4\>=%GU.PMC
M:5*KA:<M54/V.?0TC.HGDHD%3B:7%84,;$C@(!W:8O1*6KB06O(DQ*A-#H<Z
MN]8:5:V&5*E.I<3+*H NH.O9X-;IAII3F^H@)6NKK-5$I+EN]UD/9]KS[Z@P
M!^=G]MEMMZ.E!273&_%57WA.VT>[:D&J)_]MB@%K2]UL/\T3DS$&4E#5>?W]
M>&+-7,-46U\K+'X-+-FI9.1Z%M65;(7YS]P^7FT_;N0RUTJ^)P6<V& G*@-M
M;B]O\;&(W\>7]=JE!T8'A:1;$+D)D@?6=9)DNB^]TD";F]5+Q3"7W6KM(5WE
M4V1J??( N'W,/VUIXV:G)'(06Z=4$EU4Q$E"I\GND8$LK!\>$7W1:V<U'9N\
M65.$)VN)8#[<Z2*BBAQ3520-82YBY/HI^9/P@"7AT%K*JPEXI4"7B#P++')=
MUX[SJR+0^I&UQ*CW/H-^"=?87L0432FI3;19Q;#1<F)!W^IV8&NN+L;81]:S
M8)E7>.>*(]&VZ/>I)A.33>S5$=;.Q$>*8=JRO?J6HM#%6U@<N7LG_8W>BJ8?
M4ANV@4?CP4H%_-&Q2L; 7%3SR1K:<!_5 FI5PS+:D\T+P;)#*O63@NOL6BOK
M 4#^X=:'6S\HU7^4+D>=Q&A:IDX88K%\=9#!3$>(5B.31_M^T',,%,J?W886
M/1_HOY6$&C_I^[L=Z1L<NE\PQ" K0Z'F<U)EUGF>;S.<XR.\"B?S*CJCN6=#
M*8$NF&L']4P&5=#73,J 1MPC2OV81B$17X*J+:?"I>T<KSJ TJF^B87-T=)Q
MER:34CJ!K9_X<WZ:QS"@*CVE,-V33!A2@2E^5]J%FWDTJ9$J^$*)FAB8/V[J
M.MKRXX0JU YJW768<8,X8S<=) 3]^"\PV*-?$"0MF@[1O8I!0>K\&H. V@[J
M*.A'E3D[%BYF8QN\W!UAUSP=6 QX)W+ VT&0:2V]0U^SE&!2V3..PHAT72_5
MI593UO9B].ELUR&65;>M#&;EST<0V5"L\#3T]:V:^%#SU'!B]^V.1)HO4Q#
M)/$]WV%N7L%+X=!I+4K !UFI17!,Q'*-UNOQUH9+[09X'+4Y(C>L)K01S;WW
M0*R%,(79E>63_Q)2A&%:^F+(UX$/W4V+X&DB]2E?'T,OZ^DI\MBI8.Y,MS9<
M+/4W$F'?HUU)]C".QZ.O[-X[]E'=(9+'V]('>:)$7>[(7@9^\$R>)(YJPV+L
M+*;&SU5]#J3FKSR2G?7U8MY*F.5SA(AE?0<JWLL!5[UJOLJU'_HIHHF]XJN0
M1J8L1'HT&UE5;K85ZGJMD"(IIS2)QG.5%:>O[;O0F[L\F Y:496J!52)TN69
M8(S[$V4?+NQ1L(U^CO"'%I(#S6=R35C.DI!NEFI\FK;$-H,H-CX5IJS ^&B+
M3*I=1[CUC,1< G@A(AIS64[Q/I.0R0NX\U,8J#B>9>2Z?,[-D _N9C$M:\DQ
MFDX<XXD9RBCKUUZ8$3B,4W_X&+;5,O5&\5%R2=.TJ#*RB(FE,X:Z+I2: LNZ
M(=>8N"'JF==RJKJ,65_?/"UZ-S-9B:4CW%K8FE33]&9V94L=][*_^=Y0C8\=
M)$8C;V1!.]?NP$V'-[2<I0[CU6@M#*]P,PLLB)9H:PN%1,6,+!-1G#ZC^(WX
M@J+PA?RQUJ)6-GEMV-FWMUQY:PO:;9Z,O[YV8%FL*A=U>W%J= VUB'29P^ZO
M0>.2HELY9\8C2[N"YJPSS>H(Q@:6G+LHO.C6C%F!C?F91@L7Z:K!UGB0Z8"[
MAY[,I[7];C%![<>JL^WWP)HV,QY_V19L_> BTJUAW*M/SBMR]P&Z]TJWJT_[
M;>*[/B0E[I]):P+Y;M56A*[MJMO0#OM5.WXZI]N9LT;&,[U.0EZSHS)AY%(Q
M.8@#24G>(*HI+'K]:X*\?7#K>Z@8QU:DG!V$:%+/SL,K%+2U!!9/-H)KHZU[
M^\ N4]+=<)7X&Q=1T@D[=/S S^[XSZ'S1Q"]/*(LW 2OZ,^O:/-&@E<(->U_
MW6:)[>4!VA?@'E\+9WGN07JV!*X6(Y/9E$./2_;5Q$</(_^R98_#OQR>!])7
M!"!](F.BSS021U+:Y- +^;3Q>\%'+&IU>5'\1L=Q_I']*,\>ZR:*9=0C;XV6
MY@\WO8ZEIBB,&ANCA0C3F8^GS7X_+TUK;J0=ZFY#E?Y3\<N6P5S3"Y&@)/,,
M;#\*BM_I2FM3V:_2QD&7Y>0::Q#)S(]#&%SLDS1Z0W&2.;)*G33./SZCZ"6&
MNU=LV6/]15!^ZM/Q0!,?UE"OC?_M]?TTYK*:3T=3&SJCZ1IG+8:HQ(PM?QA\
M9/'>F:G"FBSVT/2E\2CP"_Q'%#_M=[O 9P,M!BVW^F1\V@WWYD%P['$Q$[,R
M1J/%Q'B,07NX556C?"#)&5E+^)S5L$F<MQ>]BU*4W$:0UD%GI7SPGG9H6JJX
M5K46QT[K2P>-+*B,U?MX%)JYVA"JW8,Z]/<&S6SI5GP'=MG,W<<@LYMSJ6>
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
M]SS?0?%#C-[\1+#*R @UG>BD,(NC&Y>*%3R:3]#$9-]R57RU7EZ4!>0LP_@
MHC2-WB1S7R'0=8KGP3H<T\N_9L[Z]6QK_C NQE7S]#!2_9XZIE1*'Q-'5^?.
MUH.ZWG-3L:QFE":^*-D+;D*O>4WMK 66K*8B:#7_5F7>A[D'?HYVDNDN_ZII
MDNN BJD]_,0,D>UTY1F?5!&HFG6$Z0S;X-?[./1);VILV5W[W\B?Y*<T&8,^
MN[L9=MGB%E.S:ZKU%+HV=&-6Q5G5HX+O#.1LM"U#MEH,:WS?XB?]FB!:@EZ\
M:O"H-*T>8H#%*E(G86OP:N9-C=_8-X&K>8#(U&,&0#F&"M*F3O'\7.C+[ ,)
ML;YP;3G<<LPVGY(EPTZGGF>\4( B1I['.:7+0HG1\.YSOO<#<DN'1Y/_4=D!
MK<BK;T]J-9CR]J3$R$[8ZZFWM*&9>P?(M8-CQL>V*BO=U@_[;> [OZ99MT+A
ME>#U'@5XP?7VP:WO(<$KZRI,X[W;2<,]NJ'K)(GEQD[=Z=)D-9\^QU#/+6!"
MSL"N6(U1D<RXIU) X+]KSCA@VXKB>+DW4V*5Z%LV>\&C\7BMJU18D_=FL,$-
MH3VG&'W]*\A KU&?8?DG^F;,)QP.,*":@TS]&S$=<G%!=(N$P;(&;LD?YQ_G
M*'1>WV L:PO5S*;/8% =0MDT:.+)P]!'<QL\,NW0<L*<#]R L(."VXZXGZ<4
MIO0#.]\G^$B8)$_HA7YOLL9D<AZ-!054P!\5!Y QL.8DZ^5B9;)R= >H]6Z.
M&2O(>4'.W-"K;("YHDVJBJ(%-TFR1W'])"RFHD,=+=TYTA5J(S'W5&$.V]FF
M6[<XZ1PTCD];A[=3545;-C/OXU7!)FDKR!C [XQ%LC4,N:;" "59$/X=DD0Q
M<0E9A1]ON=!63E7RM;9 6IV4C-KTYBR;"Y5!:MV,3U<<HTVK%.$)-*5LUS5^
MOJ>D1^Z3-'I#\7V(Q!<N'")=J8\B>(=$QRH%N[1 R^7,>-13 [::=9^1 TQO
MJ$!(@C#Y*SX\7V(U#")ZR+WZ1MJ&<]VR4@9F5$ZWG@V65@?$]2^3L5(7@'M@
M!DZ4&+]94)JZ-N]";U&/WO7.CB(>*B@YQ3M*>E9B!!FG&3ON%[P5H93=T&U<
M_*6E?D*J-8HG2<Z1=5Q%H[&NT['"ZM &<G7>2O1TYG;X]47$3P,#@)@ TXN$
MVARV>B<ZEXE!5- &$U$19FVE*/BHPI45L'FIT*)P-V\[Z,=D\;KW2/HJS5ZE
M.:O)%Q20Z@Z_"O5.D5>?^K4:3%D+E1B9X]=Q1S,;DG0Z0*[U>R]$D J/ 4E>
M#FCR,J1BC&QB%]';6Q0^I9'SQ],KQ"^->DA<WJ0)2+,4[96[TK5P*&Q;2ECK
M=PF$"22$ZPSXE&/0"CR_^>EK?L1I7U*CBQ3-]7G:#[!6KD==!$O:G;@3\[WW
M3@5?/VCE1>MVI:)U4<$]B)9F?I=K/*V\\=R$3DRND2\1^R_O/;06H4D_.PZM
M4,Z6_&QRW3$LQ2 8TLR3D(L\<^3-@J+@U%<L#^0"ST N$GR?"QVF=<+13?"A
MJK;@\^23ZEL>95#+:R"/CI6]<,?SA<DSO3I"^9W]KN R<&?W$$?NWDGOXR<4
MO_L.KU2+F$S/?9T,8GY;QZ/)<DH16ICT^JJAXX3A$0YP'X.,I^%:_914O*R;
M) WW#_<>7L)H@4Y)>EX#AZZ4/27@AS0^*7GFR5E.E\9;IK4!6DOWR[I[LAR,
M$K/^8-^K\,4/$2(/%Z7"U$E8=*KG3<>VA-XV8:PURCS0#]-05?A:Y:CUM4[M
M/.\3X_&C,F U7UN)&$R&N8O]-80!I4?N1=8. V6.O$0R^TILFM2AQ1 *_5#@
M8=FJ[F*Y,%ZJMC7:JB:5!(!"0NZP-=H8@AOBF/_&$L^]F;O0E4N3HKCI+I<'
MK77HS8 O]AZ;^Y XZ$E3G#=T&R7<=\PA8T?1^<J9ZGK="G[&1IRUJB(Y ^WP
M\X; 3^#[ '-)SL0#SL8EVL7(\84M(LJ_LS/=?.$B7<4?%-Z_&&#UQ9<IA_$_
MP)V?PH N6RXM%9!\CDOJ?71L%M+J\D T@#VX( 2$++AOC;;>RO3^HP:QYH1@
M7.PB.F,[ R^$T<BGR*Z2>!\A^X4%2DVV$.GR;BM\?CQHM2@ <Y=;MS[<9JE0
MO!=;^ID9**/E=&31YB+$5RM'<2 <QD7RBAX>+V0%BXX)=#E >+ ._H[RKRR.
M;;3T'/.5B\2X:MZ,5P0P[2!S^B4*7_XKDAZB:R2:YE4 K9C9RN_LVX#CV=:X
MZTJ*K#J[A!@0ZF%*RY&BHLEG%+W$</?J.YL804F!.0FUKC)SC8 /Q>:$I&PK
M6FV7YMV8JB!K)P3*-XA.',# 8(,/W1^)G[!HEN 0S<(;BR*C)DUI-8Q":92X
MV'KL+4=CDV6GN^*MJE)9!("9C):Q1R>HV]-^MPM\K,P;\<)3I]&D1")PA;Y4
M"=C%PPBOYL:7%CFT>OH;HP:;86?Y7&&6STW-\GG3+)^77^5L[$#C?E4Y-.$L
MGP\[RQ<*LWQA:I8OFF;YHO0JT<)=+HUG1,FA"6=YF$-! >92898O3<WR9=,L
M7Y9>I3,;C\T?^N30A+-\.>PL7RG,\I6I6;YJFN6K\JO<CE?FHZ'DT(2S?#7L
M+%\KS/*UJ5F^;IKEZ]*K7,Z]Q=QX<5 Y-.$L7]M6#"E')O ^2N@-EC^J@I;6
M/<J)6=C_:+V=V5#U4!&F4)&@XY &Y>0.D31R?8MB!-)7&(+Y_T/.=I_C:+_[
MMP3L,.97.%3G@CR^5V(HU$@T9\B+S(3*[^R:R/%F]F3'<Y$)<^.',1)R\1(;
MH4:B>8)%%D+E=^9NFT\<QYH)YB(33O P]D$N7G:BJ]-HGF+AB:Y*D"4J.&-H
MW-:70Q/.\C GN@*,Q#M3I]$]RR+O3)6 O4IG.S7?548.33C+PWAG"C 23VN=
M1O<LBSRM58*L+Q-<:\LH;9YE+C3A+ _C:<W%2PYT-1+-<RPZSE5^SZHK>M!\
MJP<I,N$$GWB8:YC@S\T3_-G0!']NF.#/9=-UL81&Z\PW(Q-.\.=!)_A+\P1_
M,33!7QHF^$LY"62T\&;FDZUER(03_&70";YIGN ;0Q-\TS#!-T?E5L?.V&21
MZ&9DP@F^L<W?EB-3=0L=Z WZVZJ@I?ZVG)A]@EMHJ;^-#U.D2$F3PRU]1873
M+;:BJFF19$#K_%]$22IX-3Q"C9V]A3"YJ2 %%0NKVRZ@8T--NR9\X@R0@)9%
M(+4235?!?8WB]!G%;TWZPB/46/]6"/.H^&V-BN4P(@].3.8JJ.*K^?T)_:<4
M,]BC,-=^2"K0T!'<A!@;2AHJ:THY-#8U;09^U-543,[.$3-W;31KMS706DVR
MC!A$8:9>P2&9@.2H!7L7N6 ?NMBD(II'=KQLEZ-9]@D*@CSC'KIO?N@G=*M]
M1[;4>"R_&]JO\][[-4$T?G*#]_+4_Q>OQ%9K;C-*K# @D4)+6+.;I_%X;D/I
MO4Z@:VE()4JJPT30I\C[M,<Z/V 0['.4PJ#1().3:NL!+H5::@C.I6/O'[G>
MV'B K!+">JMPD@\8V6>>-5EE1HPQJ0UV_,:=M;,>F:Q\U@"+KPC63/^Q'C_
M#]IG2.DT<B V=:JKPA6?[')*=I&VA=.1KA(XZJ<[/D;Q"<^!R2OP@NAKPFKD
M51:787:<\G8IT!8)G::]1@:RV&AX1"Q("J+)PG@MQ69X5<W(.&IZX67_WH=6
MG-XXX=C$NM^FT ^1>Q->?7->\6C0=10??Q9Y_O&'X",Z2:+&I@NG#_RH3DQW
M<:Q^RW0*9S9LF[T-I%:(IFZ#@RB3CL^>^ #)Y%.W*]N/#S5O$_!]B.<4?TD_
M_&S^A.FGB%8$Q^=IC-C?!NQ=)><?O\!_1/%%@(<G:?C82H+6DV;;@55.FZKL
MS&<Z1FBZMD#C.P/G+/A8T"<J"1Q$ 28+;#\ E0:HN,9^I4-MQO2;/=2B%N7=
M\\E86IJ[7"]U710VE2Q4P5DKH5%=708QS>0ONGD,VLRSTS5B:CQVJPE<K:!A
M30?,]!4ZWDHKFV_S.:K"P *:QN,QTI70VJ9L6C/BINNS5GX\;;-6&$ 7^SC&
MYX+F::MR,#V=+SQM+1M;SYL<<OT^G1*!'?'#,A\L+4- ;[:J7C>EA5C_;-YA
MSM83>F!BML)R/EK:/Z<BU+6-4V4.ST"(Z,U1)A*\05*6^?2"53T[UYH.LA8<
M4EL<0&5GL@F<PI$--Y=*(-5<]<' 9=!^0V2O0>X&?U7P!15-62AR<J-_/!:N
MTZV]#$T67]?!%;9@6P%9+Z;M8FV\TL9IT*O*F4L#D(D#<=&]A^DI72U_!O>]
M.H-[7@DKK^323V@,W"-,4=;F0^E[5A%C:NU4'Z)X46V6P:S9+<(KF76K;5OT
MC9KN9A( K>#]<XO[C@%G?>,X^[=]0,J+EXL XS\'B/R!M)@L!0<\Q 1U^O&
MAYKBWZ[^N?=IMUF>-O0EFX6BKN!J.W@X_9II28A>"&J993C,X&J!&8>G +?T
M&!I1Y!]:)I(JV<87R;YU:: WKG-1_=-\7C8$?_8^H)H3J_PYE1]Q!HJ'L-ZX
MI<><@?Q!^$_D46>4I'B:&3^8</!W?#>8C)[EC$S62VT9"0HG;W7 G/Y8V73M
M""^=+91ST\.V5<9D<KTG]=5_P4;PV_XMORJ_W*.*=TQJK#0+,65(J@Y/;$8V
M26#7J&@YFMD7$],.>U63_XI@#$@!?FPC7B*'NNC!='P&L$K-_QQ*?!,^?XW(
M.-1BLI3D6*?*]4%VT.:#$%8S:[5TH0W7O2?"K^HT5J3%GT-U3WL?%JKI"<J9
MA:K,QLZ?2"6/0<L"67<9DYE&' B?W9# U?MKF+L-D'OUS<&DV#;=\[?-3H)8
M2=7E>+L=_ B@?KCN823U&(8D^9D<F?<IC9]BF3W&@]=/F/H^WIG>H'CC>FY#
MQO5IZ#EQ&43<6<EA3B6>@4+F&2A+!4PL8')M".+H?$VWFLT]1U<K@NZ7Q<=8
MN=N0:<==R=UQ[U'T[E% 3=51(Z;7Z%IK GWD*Q,1,V-UZHP6-MQ *,*4IN]9
MDEBZ874ADD=\;O7?X39 O(9_C=1:7;4RP!7/*X^4)4Y!SUV9O+1M!;(6AQ21
M6B!."N*"R]"]5!!$7TG:QW447T;[;>KM@_J(N).CQ,E<B+/);#*XTZC%G5('
MZ'P[%^:2:': F\G*B[487QM:36ZGEZ1UY="AJS:$([6$R[M^H;3@0'P&-D>J
M>A$CUT\!Z15LQC:MCT=PH\(ES,K=CR8C76G>*HU(FY%R[IW93,6EF9+>G/S9
MOR]OXJVT]37#!P4_<I]2&*<][0<%_.I,GL. ?EPP!5OTXH<TU"KR (/PI]@(
M'BC4F]")B4%\B=A_3WIG(I&V;1KRH;=7=;X\9E$LD+<R6:^R_Y'45C77_1GL
MXNC=3\A)B>PWA:$T3%3L(\+K<P*#>^\A?RQG5+RP2U5.31&P[092Q+VJL=%9
M<Q<+N#+>A* +8+X)'F>2Z&)[I',MS''C"]!OL9^B>\_CGX/;B6"Y$NOM>#'X
M/MOWF4LP!O[,?R7$GR+/(U/_YSQ[U:;]M+=FW\;:NU[;<+70%?>)![4S0$5B
MA3=T9--R_G:G4VT-,9EQ?A7VY2TJP$M.!RAT[3D79,.XBU*4W$8P3#:AR^K#
MX./+87#G'X<_/V,\DB(2IXG4[X8^9>@\-T47>2PV'3FKM16K6V\C$7H[J&A
M90,L'!322PLA./\H_XT\ 9!'#%0RGX8)2FHA5"FT%<SG 2O5RR__S$H+3L83
MHX7N&H$)DK('F=C[$/T2A>EK\@"3]'*/Q!,LHM0TT7*@Q83SR9AK:KR>&JUU
MKPRPJ@!C\ E,1^ 2?B2 L('+4ZO7B[7A.7K^&E&$*AHAI-:G%0V RYHA(&5G
MJ<5Z"HT?^U5!5C5D2E1DH4-%GO&O2$T_A*2Z2N7*H1Y*Y?+ILB(TTX5K?-%0
M0EC5B071B;4.G?@EBM'S*PQ;Z$8CBR8=481>Z$H#/?/[HI'9"FGMD59UYW.,
M8(IB0 0 ?,J^^N<>!B"-P'I,]6D0-<KP28S,*H4F)>$#*W3B^&<6[;V>S&8F
M<QD;@=6RU89<('[STU<_Q)L;2<P03R^73%=I#3'$0_6,.@TK,HS64-N=K7"V
M&]'5*@-0!C &'YAA*'N2@*$FC7SJ193Z[$@)T+(-R2%CH6QH.9Z;C-U4!E@[
M79#IQZ;"A.I! AC/,,8C0X7AD4U)KA%B6EWF8P/8@_TH(&1U.1;XK1L_5ZA!
MK.7(,87 AT\-JI$#2YZC:SSP!N604.L\74@!'Q\PN*3,"G/@S&C7JU8@:T?/
M7$EFPRM)CHM ]-\96K&2R*AU5=!O!'RHHR\D9<OW=(Y<X^N(*LBJDLQR)9D/
MKR3W[RCVFK7C_^_NVYKCMI5U_PK>=E*E[#7WRWHX5;(EY^C$L52RDE0J#Z=
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
M\KLXR],C*>]]_3V2Q<:*"$T6RI;!/"^+W:1B&ZX_G4Q<* NBPL>7O/9R<&(
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
M,C=QP8LV>E8H91ZNH .*NCM@\7:ZHY26/>TZ7ZG#O$WZW@<7,!<JZ&J!Y'0
M$Z@Z&Z!\X ?&^:,=%? ^V>^3F%8KH04=L[LL.R)A36,)*;N$V(;APM0MB3)%
M6@NIP+.Y)Y88X;H"$>6P\DF>4@2S8_I*\1=3H;,0?10I,>MN,5F%B]$S3?0K
M$FFBY3+849;]FQ7'R4BY41+.7XS$OI<;2^?^F&<YC .\MK763XV>Z8WM=CUW
M*#1?'_ (/2(O;UQ <+.%?W-,,>0'E$9)P&;R"7VC/\DV4%UF@RT,.DV'JYBE
MY&3F4+A!,Q<2HOM@Y@O!?"MU1A)B@_NDWL?Q.Y*1']$!OX87F*$'C$5>>+2%
MV)0_4@7WY)N44;)*KXNI[]GW4^IAY*O18C9PX@.$$?S%6.T89%I;B5@=H^TV
M6#O094L3)7?DHMU+R)9.^&SO'K+/H)JCT3VAOZRX4"Q%CHP[/3'2*U CMIVU
M5'CFOZ(8C_WZ4&B0@)1V:3V62UD,'\L5T 67)$+Z(@;-\P,7,IKTD;9K'U#N
M" &I9D\Z+.)C>PSV,/V";#?)J"X<2#_<)_R@EC;%$EJ3*JH%[+F:$A REVJ
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
MHB)X#$OZA=A.'3U313]E?O1Y<@'2)!-NM[OT2MJZ,FZ1H_%?\5M2R[87W#]
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
M5:3UQW'#_(I/0\=]K0SJ1^A_N0]_I25-H4?M'9$5I<=GR$3M,HG*6-5A8O'
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
M@(=!?Z@,;DB476S"F/5SL5[3?,NS[COTOO8P&4A@\PZ#_MC0A>U0NN.=#AK
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
MOUIQT9LNV2B>AX4X3__(LLQ ^].LQ9-8P-^A"WI,-!0!-SU $!F1IKN*.M3
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
M].G7+:T1\=U04]3OV@M(<.XZ-NMVF\ZP:-I:(\?3B*NH:'H!U5+-J;;BX K
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
M\5-UM4BC1;[O;(%WO2U>>7=BGF0?@1JV:[IID*GYKB[HM=U$8\4GCB]+^1$
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
M[$D^QM25)&:Z@YL04Y7#4-U4+11=6=ZRM',8;*I64%0V51TS"'W9',I]XH"
M4=M4-2/LVJ)7"(3-8TQ5#DKP,T>F;L9K6A:POV',3)YC-M.VR1LOWW_!OZ?9
MU1+G \]41W2"+-<DH21^TC';W12,7#^33[;[ 7_!*SKTR'5D1^P<"'19]M I
M<AL[ 7J9<(Y)<'Y?E&/CT!(=W@/;0:&^* Z)"^3C?5$=OHYC.ZKW)4E[8Z3;
M)@XEN?"8NE*:SI !L%R2"I:I.S3MCYP!4.?B$1FRJ$LC69YL=IL' !]C%[*I
MZ<%E$_C.EW.UR0IF0B5^3(=H8!#RIQ!Y)S1U:U%V /R2)F2BV/>D*'1#2B51
MLF:2? LZ8:4LSR7\T2)'GJ7;CL0W1Q,$O<-TCL#"WVAQ>-#P@LT!_$P?:*%D
M\"$4$<:'@^JZ5AK;#;(CG5!9GDI#Y7024K$QBH>C.@)1W#6DFV3]P/AP3S,R
M8K,=[@EYF#J!O!&/(Y;D"+#'@9$?*^T+0C:KS;*P ^LUC]G?E[1D>!+60Y?O
MLY3A7+_?+W&R9K^[_L<F?EWUSH*YOH"P;@42%^3IG1VS,Z&:-2[X />W!WA"
MGXM!"#S .[%]Z;/0^JB01JF#94E2,G)F@(!5TO84+,C;<9O=FES6&7&;+2:U
M[,3;;!S:N)G_0L1YGG_>%'72?V&:R&JSXI$PGS9TI,4\U _2C# *)5';.J0!
M.,?!,,4^< 0.^B9Y^IK^%\49.,X.T!7R72UR1(>\GD_2+4C%QHL!QWVRB)&N
MZY$CB<)U!L'N\(E]67E+\YS2#HO^UR2L3 <:7G\CK"E3$S=]V_2D[I#K>F$@
MR?7Q&%&?AG;O)E%-B9[-"V8YOB/+(\/I:[R)9^]#^;-HS%]P5B!^HVV:LSM"
M<]YUI)(&[6(O\@5YQ.J6^5U4#BP<N%#L)$&>9F)+DAOE#AZW>S &$0E.@W=!
MRJT^?Z"$QF]%Y!&SH'MRX7G'2X9WL,AV/2P2NA:;$:\5U?#JZ25#GN.HEB^/
M8,V2Y0X>QMS65=2!2O%8:RVT BK)GM;!X7YI-*&H'&MMVU[H2+)60.* @%$[
MUMKV]4!XUG<(FT&".0*EYK/@2*.A+OK^'\;@AE &("G\++AYMOZ4I7G/<=1!
M@"*3N%02C\8)"L,0/+%^YXOE,OU:O*O]G&:?TDVPCC;+YHA[A >B1[J.@T!T
MU/0,LAR'=G2 GC3>J58>C316D&$3#TMR@33K JZ#FS,.3R)[NS6MEC_6X!:4
M7.LL)G?D!G8SBDUJDQL;>D1$OP\<Q5R(R<U1*6YR$UMS ]E"7@XY##6Y.125
M36XG]+1(DL,*) X(&+5-;E,S34UT.@8(F\>8W!R4FB8W<37+$!TI F,PU.3F
MD%0VN3_&B#,"CTA7Q+=Y"IUBN7&(4Y_3O=(L3D,VN&PM_7RX+\=ZDY"LN K\
M1+=_GCI+VGLMXF"I)YNV,^O<&0!^4L19QX.>!\KVGAPO[Z+[+'V+<\;%EB&V
M2+2@AA$CE^I!)-K).E9P$_")#2&#3;'?LGA-[Z*HSYDZKB/D!#JQ_]3KLHE5
MW:"Q#SKH35>W3-%:WGD/>@YQ:I39]J"_3D)9'7AMR08-;;0#3TS*P;,X\.S0
M]RU!^_M$!QZEKF]*HG'#F MQX'%4BCOP- ];IFQY!@XY#'7@<2@J._ "7W=M
M2>*@0>* @%';@8<MRS5$KQ (F\<X\#@HP?D)^7;\)5W3_#;%27Z1A-L<V7'R
MO-^D+]_W?W]BX^E/6'A*KXB&EN]*<MTT9D.<!;3@E(:'(QO*6]C6&D5:H+F2
MQ(#.(I)68?="5S,E84A,*CQX%[9I0IWR'))T*0FK5\/]J0@/&Z$@#*2I/MH[
M_9M.M XDM?R"\['V+J&_I,GZ);_'^?K3AO:RN+TQ,^LM*KS(]316#R#B+)]F
MP':S_"E]^IJ6'P:RO8, Z;X1>*)WH<FL'T+%V3]OI4_V6PKF?4=KY.FZ;4AB
M^(QD_! DSO5ISP8[N/Y+FM&G%YR,X_X %8H\'$22^$Q'2@$*C4MC6J*K#FE4
MG^H_4 \;(=TTL"?Z+<8T7G<@X:QM3*!36/M;O'Z)$[:Y%;DO>OG;TA+I5NB'
M:AZE?7 XIQMQ12>>H\6GRD-DD-GMC1'60]^6I!3D^/.S#Q%G><,3=-+9N?T4
M^V:Q:PTRO:MY4<G;=QL[FA)L'\3$+SJGF;-]2DN93><I_9QNLF'6=Q*P1>D%
MPI/IGZ"Z]*/B[)^W_E_UK>*S\=MV!+WL[R9 [%2W0M$!EM/8#T#%V3^OD?I&
MLPC$]Y:62 NB"*LYW_O@<$[/:IO"+O*[HIN U$@/J1M)LOWW7,PUY3$6X.B(
M1GF"7N9XBV81:F+9[B:&Y Q"-+4*P)IF8I^?W6?TM<KE=I&$=^L7FE7NQFU)
ME.[,+X9^',=2ZVN!DW"1%KTMJISY"USV)S8-3#G".+S^]DJ3G'+ 6Z0<]F"
MRXA.D(MU0AK/IZ4.=R&N09J&F9A%.H75K:NW Z/BP2]AA(DGB=.Q@\/]TFA"
M43GXQ3"<H%EL5V)Q0,"H'?P2Z9ZAB18)A,T@P1R!4O/UFA\9@7"_,8S!#:$,
M0%+X]=HG^IKF<:7T=1]"!\V0AWTB7?!E\TQI/8/:D8C- W.H[G %)PDA);F&
M:9'C$TWB9R:]XAH!3W!:\4)#[7>-5$V/6R+#"GU=-G4.*)].,"<]Z>KP2E5K
M-[]G,^)SFEW&81@GS_=9^CLEI1W[1%>O:<:V:9ZGO,-!-;XC1$W-]26YD0,+
MZ42LYZB#=I.0=$6?\#<V:=*BO%.[C5JT;6N*7$I=*HF9.DH.O6A.JEG6Y2TO
MEB:(T2TM$:5!$(C6H*?PN0^,V&)A32?&P"%QT)9!CBQ#MB0I8XZ)=CC[4ESB
M5:]#3],T5R#RJ&D:\GJ[1ZA;'< 4+J?%C+_2:[A%Q/#QT@>%$=CM\C:.7=Z\
M'^[=+MS>RWU78KW=?'!%),[5)E^S8V<KPAK>]V%_]ZAND$T,SQ.D>T_T>&NA
MHX62F+'3F WQ>7.4BON\33>0YC5N!X>A/F\.Y3P^[S,\8\LOWR_C)?OR<X%F
MD\_WE*VK9Q2&1+<5%/=LP'>30_23MOQ@G/#';6UTB.H>EJ5>TFRB:IT(0$:<
M0\P?<^M%G4 S)2EO!UJA$# "WB#.>.NE.8XI]9-OSN8QMUX<E. WOK\F3 =;
MTK#(;)7T/9FH"-K;(U,S2/,-A^@@Q-XMJG5[&X!7>SJJT!6E&5H,@)SKYV@U
M0*\H.:3:HU'5KB@[3:/>2,0^*F1$-(HD>2[98R"TKCP0L*DI--5PT;3EQS?,
MJ3X:07GRA7AI L?6FYE I?;2^*9A84F>9DUC-L1+PU$J[J6A.G8-V6Y)#SD,
M]=)P*"I')I* :*%HA6:,."!@U(Y,U$W;UD6+!,+F,38:!Z5F9*(9>-@1[6N$
M,1BL]E>0E(Y,W ZWLC#[8A,/&B)#MZ4I7==SKK2>0UU8_MSZ?&NZ7&NR/B\F
M;:X0?=[R--.;EDU!E#ZO1Z%E2Z(B3F,V1)_G*!77YXE%?>DJ1QQR&*K/<R@J
MZ_-NZ-C-)_42BP,"1FU]/J0ZL46+!,+F,?H\!Z6F/F\9?HA%GS P!D/U>0Y)
M87W^+&Y\+Y)%E>@Y<::X\;? IJK]S?0"XF6]TZ?&"7M'AG1B_/_M?=ERW+B2
M]JOH >:"^W(S$?+6H_^X+86L[HZ^0H  */%TB=1AL6QKGGY 5J$V$F"2524
M]A]QEFX;8.'+Q))[4N<GXG8?F;:6U;)ZN[(]NEWZ\-GMBM="YB(_BX+<$.,^
MF*?3X1TG0YFG@N^ZA^RIX.%L%=S_=51PUV%N;%?@,TUI&AI2+G4>L2$JN$!I
MN0KN<KTJ-2U6X9#"4!5<0+%:!8^R(-<=8S>%'1 PEJO@-$TCW4'%$#)/4L$W
MH.Q4P7' DD!W#AR,P% 57$#2IX)+I?1EL[Q9ET.@-Z5X4/D?W=4584M9$OSH
M/)2X3I[K=HR./R=#TCD4VDF%/Q2=@<L5^XCKDM%WJ^9+U?S-FG==O*R$%ZHI
M_/J(J&.N0U/.!A"J2_1F[OC/!<B/RZ9X[LX^7T)1/BYORS_:-/R7!>-_N-T6
MJ@,"_PJ*DC0*3'.6@(_+#*"7J/&QB41?/E0?^$HDG#D<A,(H),3<S'@YX24X
MM/5(/L]QNBD__F@OV=M<X#O*%CC/>1O]&93&3N;] @<23HFY'9?MB"/9A<SO
M&;&BV4:LX-<Q8L6ARYAE[9DCFE'=*L9)Q(88L01*RXU8(>7JDVEV_D,*0XU8
M HK51BP_3E(S<W>'V0$!8[<1BS'L:B_2""'S%".6 &5)NV8-=2Z"C+J1(:_8
ME(OQ;,!_SCH7/DM=[2%(YV;5X$8 $D)#G8LSF+&C,(FTM^&#7;%0,[: )!AB
M8239F4HQA!'S7$,<J\!3-'@"1^ )1EN8^?]N$IN'1B/7PZDIK8=.8;(2G&"Q
M;Q^+I9KS;W4UZ+D:T[B[>2C,4NR86R58Z)"#K 9"TUNR7F[Q(&3UO%JT+]5^
ME[3W?$L6S>=Y/!W])LI)ZA)#(IK.QF\X[%\O<#1P,Y^:Z_(99OAT>#L/VT]S
ML<\/]X^C(#9%8#O;(=\'-MGO9THW08!O9N?GVO/-Q+-],^&OXYM),C>-SNIC
M'_K]AQJW?2'X"G['Y2KG?[NJ^;]/N*0E7T I#9Q8=WC>292'W>)C^"\1:C2T
MCH_E([^3V$3N[<U">1P:4\'^DAP;PJRWB]!&P?O$J3"TX)N2+%;=)N,4X/^A
M#_B'RD8Y^6/(8[Y+#''4G8/U9R#%.64P\][E+[BN^8]]8T/O<S+[?=Y^]M=Y
MIRDFI._!TP=XN\+-YF\;XCR6Q?\.!J%"\A1[WT&YZX2F>*_F,0LLK .H</S
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
M_\W_Z*'B?RN[LL?FH21Q<FJ:Z0QT?X.AZ6W8*MF476C$-?WW2MY@2KVKCS^
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
M]O;VX&[@.P>>/WK=.*P?O;9=QW;YOS]U+_;BR\/\ZY-+7X<^<X.AYT]8",O
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
M?OM4OXV.GA75%X7J-]'2,V^F9@%A'B? ]$SN FP]'12IU;\H=U,%N!UR)E7
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
MM<:[=TK>J]5^-#+Z*>RG3&@$,#/''$ ,FMX/PQ9P]9/L N*1MV#R[_]PO5O
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
MB]_$1+#S<QK%M4V+XJ2^L[1\(J%\4B0@PZ*NKMLXB@H,1I3'YYW+YF6K0\.
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
MT0!)VFY-R)<)($U(7<P),VE,BYB?)&&^B)&4F;/R(-[Z?@ZX4RP 88^PTWF
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
M!/R&KIKW1L'#-6=4/]D0*9_B%HHOR(TQ:=[)KJK9U\4UD.N^%P0]/5B^-T
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
MCS4S C9[>;-%_Y+[G4X]/=-"=?L7X'.7GC521CSZ.)Z@ENPE4"]RJ6LRS>,
MB(J9$-EK#XPOH@JSEM6UEXB]FASP@1$"TA[EIQH-EHAM5U]II;D*2C;_72_=
M3[K3HZUIFW"3[\3CVD3!@@:\Q;0QX#C],YF*2$#((0QI7-/\3^ZD<1\>"Z<X
M\D%%0T(HK['W.862R4#<N;[@5$,G73IZ0YV5&^I2-$LUF$VYS'#0BFPH2^B:
MT.*3=-:=T-1B]#T)NX:R"S-M=>-!O;J^28&F-=O/TI6:/;2L)VU-;299X=/T
MIMTQ=%V>R/-R^^,=5)&!!T0&P JDF</ 35 Z>=&"T/1BV,:Q;K*4:>Z*;K++
MOF:Q/8CR+Q\KLX4;,O.WXVHB+M<;M2#FH"TBQ4!3A"&12B.$V(/F4.1-M@(2
MXTUKZDD.F;)BXA*=5'8T_+X^R5US6]1PY# ]=.*Y/$35C*AQIL[RQI9F,@=>
M*(,%V)@BE)%V3SL-W9$FF:[2ME=TXMG(IO$3K'(" B-")9%/IO";_;<*E4<A
MT./?L4=85JU04" 0#BI,$HF'78A@C7*]Q"<MKDK>(A4*9B%Z"V5ZXED ,?$W
M#6XB;WH2*P F+N;+QMXX3U.$\";3Q[)GD4L@6B:-XAY1Y&>- 'RSC.M#>=^%
MJSNS0)</Y40+/#E,HE#1J 1GQ!B>Q/ONYC#*:.<$S9I.\(22DA96F$6OCHN\
MX@ZHTM:<4Y,05QH>4]_&)H'XO0P$J8SZ *,Y8+69J&WZ*#\&RO>;3EMG$ZR)
M3[HJ"W.B&=@X2H4P(/8E9V^..VLE=^,EJ=Y:-2W:HHDN49\*J#J<:96L26T
M;=I)YI]S'Q05#T5K3:(IQI)TKZOH>V;9P13[, B_:^OJM\[9?OV=@=-3.-(5
MG2O:)UR,<O<CFN*8D]Y44RT10(NSI?'M^3]$"%"VCA225](1;AVN<, H<$2J
MF9#)B=R1.E5ZG#.%G:02AKY=@I^+(\M%G#55%$':G*8#SEWW&!5#G-F"<@UI
M)N)M B=UB2$/,NX-I!T<3>#&B>JV*4<LYFQ<*F "L/G'$(O$5!&(UH1.C8*4
M["E=4*2UI%;U3'/E'G*LIV!%ZC3=C!>X/\X<B<CZHMJHVGQ,/T;R6NJ\1MQ+
M)+G>CD^K3-&P:N1X RZ3 0D"E,L%@)4FU404A:-& ;H>5[/7:4/Z:\6FXFZC
ML;#1>J"G6+\*80H9ADV@_!&7:HDP(-0:DM@;O31R:10FL(9:.EJ-) LO0T$N
MF#TM!O='=:U4>"9\WFGR"S36Q*0")9>J;A:,4[$;Y>T/-.Q#O[]XT!Q>!8N3
M')ON+(7?B14FG1) \P%W"23 L"WOUDU\89DL.\&CM"*Y,(])U995UB7C77%_
M=/1YHTVH!U=<E<8SQ);P:W%ZSBP=A7%H!E[*)!1/5*$R6"=5N7FB@4* 35?H
M.%QI9H)<BK1F.'01V/04S<!R8I&S^16PQ"-G$7.P_!D4R<3M)Q:I!*(MDED1
MOWWJ(H'GK>.VJF&L*2_17'%C-L*$J<?8+I?0@IP#<H&"-9!*)3XP9-VBP99-
M(C6()FA[RVVG#V\.N1;A5J904+70!(Q+2!/1"7;S?]G[TN:XC6S+OX+H>9Z0
M(D ^DI(LRYIY$;26-OM9EEJ4V^/W#57((F&A@#(6TN5?/WG7O F@BJ3:EKA-
MS&N+9!667&[>Y=QS[))","U67V%F(6OGAT_KB?9!AWY[@V27-65%M-H5LLSZ
M>>DF+RAERC[L1#_XINAWY-!%%GLT@$0+G5DW\^J""EL.MAOF2VY-6@!*<>&]
MCY[B1ZL+N[$4+6)R&TJ[T9XW,8_%,F6&N=KN.ZVP)MD)&.I.>UHGZ6/'C+%W
M :-H\OZV,A%9XJQ!))9ZD;2IR/.G,938TP)=+%C#.H;Z\50M0^F]JY;@>T-,
MBU\AWH7PKHR$"UQ[!@3#U#H:Y-&;06NP67" ]/.K -UUTQXQ!9M ?V>'ZLAT
M0V0TYY3Z5<$)&^!Y5C([@N=-PAT),*@&$@$FB[+_G:W8DJ[E\OM>ML]4=']T
M7W2_9J9-2NTOHOW\0W8N3E$'C@0[ G[[_*/WSNS!WO[35/ALO &A,Z<5=!]I
M1%.M4P[Q%!6@_%@C)!4!100OKEP'<;FM+#$ J96_\56@>NLME#BG^K#!7.V(
MOK3)06Y LX[>E].1$L9/63U"ZBTA_8Q1,]BX>5V6 ?M#0\(A5GAJ:-!I.%R,
MF\P63::*VG(<^/.\4>AU$8O]!19T;H #^EM_#^T:H@R=/"@$4+0?7!7CY>B$
M5^R9CH0%G8&-O>([[ +9V<R5R%SK_4Q$][J"/-_1?/J0@)Q9^?DRHT2'K5.$
M<Z?,#=,3JR5M*/3R(^6.N#1IHJ;A%>"D#3VTC3=!B+&6R V";@$.+RQI\)5;
M/K;$#PZ=!V=U.-34U_:GD_\.MK94R;%;=0[0]V0L]@]2OPT/#C@&/7QA(*KP
MFY=2C_47/%RRFSZ]\!^\;+QMQ6 08 I@#A^FPIA/?\,KR,!L,Q<IYR,IQ.U.
MH6'3_^[DI,G.<%\0BMQ"&>&^"IZF=19=? B#O,P:T67+B=G8(!QJ\B%'0.IB
MLL/S*F^?G&-VK22 (KP1SL:< GC <E;E6L#K' ?2ORO$V\C""6A2QA)"/9J-
M[S0TDUEE0Y(R]"&L;UK<=(5C:]*FOP2#?#QQAL'LV*'E/7_LQPSW!:)SNLXI
MF/]'4=1XYVKODFIZW[L+)PUF ?@DW-_#;;C/"79S5M9FRR;[]"G* 8X>,W$M
MN!BP>5ML?4"B&^ZT@,4T# /!U NC#9T1<BI!!S6=2U H]H$*-%)GK31SQH=7
M*IR1/$J,^HJ-XR0PR21]L<X%F]9?L*QQMS<QJ&WFJ*;G<EJMG+<IH0** 8:^
MV&YRO/)V"T)3S&EUDZ,5']3AA/*_!T9TF-#)UU59O\'S^9BB+B!$EJ_A  ;[
M@V3WC14%U$_Z-9PQVW+N(*8277?X)+8&?D11R^:$<%?VP@/'!!.R>A 6;?2(
M#H ?8*NDF1>N!@!(O*))#D)VK<YI_#@_!0S3<-2T2ZH1KI@[WS8%-9,!+BW7
M-U(BA)6H$W$8+@F_?]M[9QGB7YRN#RQE->5#3NR+@U1>%FFW<WH0<QKK7/B#
MLO#&0V2JX=3#"AK80QM^JI:6'Z;)M7!#6Y6O8"%_A P=^,E1'^M)[W<.%;%,
MNZG,,*8LL.P(?MF@'('EZQK+;<3,@-7RI0_.RC+S TU8NK"D_7>VN=MP^TFC
MO0L<,_[.&20#4L%<BD.*=EL^_2Y*5+P0Q\!RI!U%CH&Z-2^.CNRWW]LQVGQ:
M=$";Y@_80HDCX WP+/#;[1&?!=K3N)2S&U(VT^>!XE&4EFW+@UW"\[$O"+MJ
MX2AH@C1PV 'BAR^RN3:4Q/07=/BHGQ2^JF@$ -H5#@D<J.'&>#Q]542]3>:Z
ME*-/N5B4TD[%BW,S"4*.(8CTG_3GV5IRQ?X[? ?)\_N+[!@CD2V@N8<+1')^
MYWX$@+FU1>IJ9ZO9WJ?+D%I0/RSK$_I.HF._A') <5K7Y)7Q<V!ZRA'+(L9M
M6<M6?ND/!4C<59RUK0G&BL;:^X@?_9]W Y@8>I96\$ZDHL(GH(6[#$\L&$_X
MKI$[AXU-.BE <3JO3X!#15>4%FBQ]H9" VZN.$-_GEW%J2;P"5SWK8_J_3/2
M,2<W  !+P+3QX2Y/HD.JML#O+J9N16YO+F6L&B6HB%SWR#3 $XP'1S!CLLCU
M3AW,%89;<("&,S$5!A!XQNBHI%H$CNC6@Y*]/VI9!>PSP")PWP#0M!42=4#X
M>(\%HH2.4,098C]NL9\>&&W G_,3^Z/?L&@"R6N68YP*C(@YDC)Q!*#G0OVO
MX*B5Z\@\XZQ!A.;_'1\S[\E;$ <FV,;MGR(3,67 7[M9TT/Q>_^)."Y<:X3K
MY9*77Y49M9E+-700T;(7H\<N^K&C^WEKX*_"^;:#O=WD7=^T?<9BH1>_ACJI
M5]G;[!9%6YSR84Q6&I)RD\7AE.OK]!>)6^8Q7D2&6"J#A'+FGT;6V,@\:?"+
M8SLQI@P;VC8PW$4$F-J\W7@AN(DXCM*:ZZ>UHVC'9A? TR^0_!4,QY::B?04
M >=3LO3O5"!0#IE?%['[WQ+P)-=.!@KR#-X;=1,4AJE OZ D ]M-K=9%,1QX
M,52/*H@@=W)("O0%UB$^M*D[->RCY5$WH3)O8ED)U4SP<KGU$&?#DH/'N!4?
MI]-.&A7HT [G8=<,O,Y!LT[L#1(T /8FBB*',.8?647& !_@B0!\@KM*1SFW
M4=.#X%KF?K.)6ML@2*''Y,&"9;'IK,N&9YKPDRG&%CPNO]NQ%0<WJ3&E,A6#
M[ #TS?AA3D3F.4%R*/;WI)R,^5VX0$8(U45?+N =@::D)XKZ7AS,^"2GLN:2
MB"\XZ1>M#LPZ:[T9 E8MN%:.WE_CO(U9>7_;D)3/H?FGX^@86C"T&1 7-OHR
M&-N< + ;KP2*'8V)0,T0!Z8Z: (\?'&+C_%HLLC1D[HV[:RW*[^!.$0[1J8C
M0  UV1QYPEX";QT$8R6E?TU+W6'8_IH#@(9!OW<<QD7]BF]XIOELWC=G3#M#
MC1&N.O&_KP28#7BK@OEGI$*=^2.L.*,D@Z1MHK8S:22"E](ZE7:.1NU'\!?L
M(_0K#QZ%;WMA:UN4 DHGBN8+9"KDAGQY2LBOF1>RQPHS%,B!8V-?$T?^U<G0
MP_X$-L^!#8$'61_U_/8E90J'W F!FBSJC(@3.$&% 0L&$E-':@.EK9:["0CN
M8 RJ @8(S,G+1JS=IF.:#0V4*TNX D,\ /<&4FIMB%&FOCU]LHGX?'S1,:W8
M0G6*Z[#<IU%X@!X&6B7HA\$':6,328UPY!W[AURW!6/AC %;)!DC,;==ZAX=
M\9G0$8_OT1&?_=R[F(R U;L((XF:J^QY!7-,8,ZQ,0#/B8W%H%<->]$$,WON
M(!GE0(MB6' F!0NV;):6BH+DO)[WZ-:3-506G\NBN)@7*Y,=)37OO/8K5QQQ
MJ$L*5%5QZ0M*.\EG+18X]T:[8*(?ENH=,G 9Q5Z(9%#IEJ3=E+6LH %S_A?U
MVCD%;C?$<+JI/#^D[XI&Z$9[:-M6:AC\$.+$A=!Q&8V\E#BOI3Y]3!28#MCM
M2%44._M'G3Y4CAPC]Q31R%X+X/*YAEUL +9:OXDW03JJA8XSS :3B!*IPNZ!
MQ^>\\>$(>>U15#S&RFJ;]1;0[0G4-9&)@%';V+;"RCNAO]'JT S2)=1$3J.&
MB*B&V<R$.9EHM\2,F);T&>RH7)F5;,_#STH:AOK9I&4E=-&23AGC9UJ'*W'R
M?0-A,.EDP;8M2W'0 ED9&PP\NLD^2#X474)6L'4X,RI'#D]&L!P0ADP*#A/8
M,[4Y?I.[X"H+] L-\3;&0MHJ8NAV"54 0\H<@YXO"UL7!,\MP*U?(2",Z_1
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
M&4J#F;(F7D+3X7HMS'4B0:"17]F1=/+H@6RR(!4E'90V Q68\<!*C+8"1JU
M>P_R)K%H@PJULE,\:,<S]0*]"!W(4Q5AZ]YN4"0K3/F"(,VX/D2MC9<0UEO'
M2V;-_@-J[^;16B"_;:UI6_!T*UBD D_A(Y7&GSH_,M1L@R[+2L#BXZ%D[> Q
MP31FDX'.#'*VH<E.,^I!!W-B?C 5-%A+44+H1I.$70VVH&HB%11&, -%3 S9
M[Z%8$N!WY+#ZOW&AMJ7&L%!& "&5;*V1C, %HW*+UO>AGXE <;B,=L@UA;6
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
M4;6#1>\?XU><440R#'C0% ]Y7RS]/,72_?MBZ1<_H7]&AY4:C/E$(]R16#-
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
M3*R !Z@D_%QJ7!8VR>J-JA!K#B;^#"TY&3' YJHLJ-;AT3(PX)R;B/VNSK"
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
M&5R7,$4QW]: _^DGO%C\$?]<*8E_2-!J>]:C9Z$R(7BB5)-CD\3;0!>IT$E
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
M-=W9H>O7E]U[XYS.L##]0+>L69,)!.+VX(V\+3'4"_8_][7F;K"%$7V2E/T
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
MG[2R&)_UG(H%.58U;C$-RZXR15J6\B]2S631JYK.$# RTE&VX%N"?L[HT\Z
M3I#:5HFLQ3^0Y6&54JA%J\:*?Z;0A_(#/;IT\G>#KON%PLD'FW#R';O5H O=
MX'Z Y(2=PG$4CBR[^P8I/W88<5:7C?SK+'<9\5+C,SVKTQ(E>V)- 8&"M+ S
MO5XT_%HU6?@]A@RJIY%:Q!TSE'54KP=7G0GY2290]MD$Q9GEO/]*: \4L(4]
M,L\72<Z!@1_4KIZA#@/AYWD[EB2FI^/V:"K:O:7IA&1KYJSLY:)-HCP0:?M5
M0Q<P4/K44-T:9]2*JS-U)FO08_44LF%*1Q(";KZDJW1:G2$HWEE*K1,]:K08
MLF>]$UO;SD"#)>UT(1E4.;RJ2.,<\:A\_B7**"=%-==Q%.F4)!A*&E(4XXH5
M;V.C=B'U!Z2/OJ??+S"U?H))1<E'=17^8IQQ_T._Z:K9:.A1_*HS'3_V#4P+
M;V2'GU6H]<I(.:,-IWJ]_N2VZ[8 (FY5$ZZI V!IYQE.;?WQW>"QXO'G#&0Y
M!W2\#+R1O(37>,:=F6#B@\>@[9L&R%X$498<78$LX\T5^F]2P+V3TMO&YVY:
M,6* ELM9MU&]J8NT^>1$SI@+H?LT]\5X#B3(7#<!6)SA%5!K>>W-/:YUD(P:
M!QTI^J($/B74$ 2*FS9T7/<)W@[0PXLNH*2B]I8N6U@J%T&(@O[3AKD@4_=>
MI\E?>\M)MJBO<S^3HBO4B>B=@7C[13[A" RG$D]G%PPQ&Y;L1>5PH1^3+027
M2= RZB2R'NG\07KVMSOOOU;0G98Q)$F0Y=!(7N\5GY3)EL<G^?'WTQ.^H:8,
M+\FUYWS)+Y$,8/'IAA%)I* WX7\OTUJK4SPTR:*VE%\&R<SFHV]XI_>#P #6
MVZ.NW!#M)4CW$!:9OXKO(@E_J2\DNDE/%!1F.ZY]0$VW>NHR+085.9M'N!(]
MP]!$%NU2X+C@$GBV0QU_J.:X"^);5HC['JF1@^.2)D$*5P(_C461W:8=Y2&V
M]NM\/*8.2$K+2;6@WV'PC'F#EL4+(CNT.UQ7^AD,]ZIJ3Z%<,5S7T"0^N$+O
M;9UQ 3M.B>#I!$C?$I9@'8D7897#"8#&,WXC</X$#=WK@[4VG5ZR27-I*JAJ
MY0N%$3]I7YV39B'E&5(T4@G(,LFV2U- ?*VET-B2MI"EE\AZJK,B3UNE+YU[
M(V'O4+C%QW5^J;5Y7(?]>]8Z'0!/'4/3G"QI<>>J<V(81IG'<A8I^4&%!+;!
MHN0%3@;G_ F#1#=(%MR1K5)FKLZ]_DQ#!EC2K2A: /BO<BD2#DX1NN>'9,Y
M-ZZBJMYS[V-%B+5_1JZ)#CC.67C,!48&9>12;;QBSQNIL//5XZ2^?=YY[N_!
M]6^P--QWE#4W6?8^1"LSW$33^ P0:)JEXA*>+!00-IAA:NT"1Y25$ZT: _]:
M-F%\6"E;Y_%@4EL;E;O!93E1/RH-2C+^;J.J8DY[29%NI3Q3N&8BI&JISY"L
ME7H:8?7D<UZO)"P[AQLX\(:'6).LC/+^PR;.YKF(522$SLE<N]<R9?UE_4)T
MP0@NAPN;N,RM*1@6SO!S,)MU9,PX0V:M=AEA/0P3AT7$382WC-6?X=NHN-U-
MAD^&*+EEZ'C:=RO*!;D$O>S .%CA[HY6?T>D#U>9+Q%#%2B7A8MKQ.]8J9&4
M9J0GKH^<V:N*!^N*AFMH@UG?J:=[A](I5FEDCXN0Z+S TQ3)9&\V2F//]I]8
MWX*)7EF"&LV=CN=^VP#K+L[.%M_MV>)F>7_J%G^W9DNWT49HP0Z2)\.GLOXW
MWS('ASN\RNOV0_PY*7CVI: >EVY]>3-?,"@,E<VQ>Z\%X$?MC;UP;_Q5N;=N
M4S!JC]L-3P^?.A$5=6;M[C"J"V#B[#V[;F\\G$7<#Q?Q<YYLQH)SB_AL;[]G
M$?>O6<3HB.\^W;MV&5FJ1[77JP^R]=%A[MZH(-L5QFZ"DE\F*/ED$Y2\0U5S
MK\7J^Y[^$58B\2%R=3X/JZ#.!2(#(6'>?E88"N3M $DIKPV4.R\3+8%3H2N9
M(?&#6@1GP!;3-3..*!*CZ)*M1G9>=27A)V&,JZL/.2CI#<(Z8)AL#R&R/J(J
MLG5?=X!F$Y'L$I#)RW'.,_#]71&5P=M%-IE_/M'9+P"]Z&NE5)Y5<YKH**NR
M55 5)FZV^SI-:[H+O]_AC^O!TRL6B'SQ86R7.%W05<@SE'T/BJ,ZG=U&-WK2
M7^TV&6,Z_W;M#,D"''9JKW2J>FX*9)HCA_6__K;[&=)3W7UD,QS+O[63_/;H
MQ8OC7W\*1_G#EYOXS4K_Q95><:W=G46^N6IT^[M*Y.2C+[B?=7M-)K*]@KT0
M=^KPT6<^4%]^Z)M)_])#7WVT?C@C:^:\!I?"%M<X??\?HU&632:1!G!-[<0G
M]A)NI[LP.W=I2[:WX;6W28VEA(%YN'(P_6WT#_'1'9B2^[\8^\]N<S$^ZO1.
M^/^^S.G=NR/+]@ULF)W-Z;TSBW%P\-5.[Y>\>_?OR++=_PVSO[LYO7=G,?9O
M_?3>7W=XY K>/UCYW1/&Q4;2HG.6-OE\84E-C*ZEY8E-=L6!-X>?%0;=(^8E
M<+,&A$J,!S_<>Y0,#A[Q'X?[CUKD@IPH,06W>Y2[(ZF2(($OEB"BX/1 Y>B2
MTA>7+ 22!X\@+,P4^0AE@NPZ!E-\SEGM+4=P50=>Z"\__U]KW3O.H6WG'0K\
MX@Z;/TB]!9 :$@_@96K:*; :RES&BQ!FW2#'LT1% FACHB159G!@G/-AHIS!
M#5>;4,\!"X0Z&=\U1&8[V-E<\EMR=/2_\_)\C%]55C/,94F:(N:*,$[RLMKZ
M$?FTS<7@GYPC^")#Y9#/7.7TW+0!CVEZ%:"6(KM24A?3P07)(!HFZ!08C&0Q
M%V:4[ .V+/,35#P0S4*:(!L.S")I7BLHDOM$F,:6SN/OT6BXO,#RV@M$BHL4
MR>X)?M#M_\=BG$M*LF07,EDI"!+<DK@>8@$/=JP&93+7,EV;6BY;\*NPC6ZB
M]DUFS\B'_.%#7:TF<-O<M6,T7 OL*)Z-\=I/<"@ QE4F!'N6_&<83ZLZV-XF
MV,$(RZ,:#4F> H"/7#&IB;-<Q)*GU"/>!4R/U$H ^TZ[J)A?L !<03?#^)1%
M-CY7F 7%90T8<[3&*Q!9MAHT&-]W'DHN!3W4.)Z3#6,I$,@7KH"XM:A3(84%
MO"R $>7[W53=,]"*E!4SHDRT%:X/CX6IC<KWL*H[,M6G3X08B0ER/9%ZB\@A
M2IKBH)TD??)K(7??&1WZX:-UO'^<QADDP#'++XK/&>VS)Q&D&_1K??!IZWM[
MZ[[7(0WLZ_'^NA;VXDJY8YS+O1?;5C+WW]ER<!Q@$?-SNS\,WN7-^\$K*<JS
M<KI;3.>[+_<4Y+>_H4X5!<+=3RG) )Q;@$$U<V&LP(D8'NX?;@]>608Z'1 0
MSA38,MB4BWJ9V/7@&4>5U<H:=[A,C5Q<=IX:.5!)]'%[V<L.@3X(Y(.Q>G$Z
M]:(X9UU+GK(\;1D"\O[I!(VKF0)HHLMU4($7-!KR[VB.=<',/LS @Z1^0=R@
M.>:R@C-ER_723HK[(AZ?BTJSR^>6GVYW8GBCS]%PP-"0Z-P'D?M"N!TSUN.&
MA\]VFNZT.QB0EBCEF0'/D4_=YV*[J:389_4TGX- S I4NF/J7GJRH/DE9MG_
M-4C# C&DUE9S[4"O&/17'<^2+]U$O:7<+_C79,(UX5Q8*3VG-JV^AU=+4MD7
M=1E=?I%\;4NRM4)6"+.<F(V$UN[>+8M9*%XB';3N2E-06Z@S J5RG4QN2]2;
MR.2H@=VO))+O6:;06ED+#H"?ZNJ*YNI$R)J7#R CZA5*"A-C@N9R."O5[2GI
MCE4>;R8SA]78<QH8%I>6ZH5Y54Q6!1F&3P0::Y:._V]!AB]7G0H6E%C&).=H
MG^="^V04U6:W>Y37T):/D9-</^1*S#ZD.+ )QD?B7.L=PN>$%*^^5'!;UZQF
MX.9,N8::GX)KK;@95^O#0Z\=71 _?999*4XSW\K QI4;??HBPJH-2ZXN\EG3
M'L$@E3(R!>WH/*Y."C(P;1U^S]KUZ5+R.*\<VE# FE5>"!^PI<3A&M'NCI;W
MNYYB_3$XP?TV;A6RZW7/HKRGXD[FC!]GKB0C6Q-;Q)XQ4()V<6H25ZYR>>KI
M1;:B7I=1$JQVER[<HI#M;7N?,8575]L9H3MV7#4"\^IYQ37,O&NP,;!E!% !
M!O8U97M&X(8B(4?7QM8V9Q3B@/-F&Z=3)L#"<YQ#+@25H:D+QTC.<":LV@9:
MT'F=2LT_5^VU>4_Y8@8I;,58)"!K65TB*44C#DZLIZWK:BS]EY1X3_$#K<E@
MJW -7V_!]Z(Q@J:=VSQ+'T=SROO5:"H'!P,:'V./3:LQ2;%9.G? "YS<.IL5
MRUQS18?,0EK*A/"#NN!<P=Y?9N[%4%0[RVRF6$%Z334G+8QDMF,^-L&<XF\.
MO0 3K(RZ4LWZ+0LF6S$NT\VF9QCP."A89QD=W-"8H'YA)5,F+!=T6165IAJ?
MUXP#K%B]K3M2RR:D(-M5\(OLF6!57%4^M(6LN:BN4'Q="#^V48LE=/:!G<=B
M[R>R7>CDBQ9[NJ#Q+".W>-*N(7;2PZNP.]PA1F"H&/V*#[';(3/A?BS[_\HT
M]9<P(XJ>2DYK=Q_O-7UM/I._W+#)76YRG(_9H<=<NY![<;L"T\S?W7VZOGD8
MWM/T#UBK[#@358F##;2JU!BVQV+.J%M]Q.1[?HA[^^L_)8>PF3LP,8]\H%?:
MB\59FB>ZBO2_%VE>"([3.%Q]9NS&%U,#1%"&*K*3P'C)&Y:[T,%"6 Y0,&_^
M[) O<\(\MZ50E\BF"HD(8CR 0"/\7QBXS.#<S]R^'^R!@[43]-'S\XG3LFY6
MTABX4=X)1OL+#72YH$\&P_UVI>7KZE(OJRO&K+GJ<0:W18L'(7!0*@*&%^L#
M] MAC:?-L(OR[3W\YP#_>7I _QDF]%N)\R6[!SMD-@"B3#",X:@87."##D2G
M)9X]NZ/!7CA='&]Q@$+TRTB7<U7:T_1#/J5-PX^/(-HOTT)\*/"P0,;*,(R]
M*=#I'&AN+S10MV?A9*9T#J8(35(G_LZO.QBB$!'!IECW/' ;(C0,41=CP*^P
M]1CJ*_"Y18$ +!V96@&PAE ]*:H#_DR_&"F*83@,_?6& O-+E0<^W90'WE1T
M?E+*B<PZG6$:T_?[/ ,.\,7(CTT0ZMW38_[X>X>CFCTB(VU\4"YUJJ2HY>K?
M<!!2]/P%)%-@'&5D&H%*37S3=3K+P\_,%C5<'2P*IAD8+H$4C=ZIASM"?5#<
M=6$@YLR*'*S6P#-EM3>?,JV&P.$8GQJ\-C6\&US(C' VB05'43$7[6S[%A;D
M\Z[M*[K7"ZC.5^U;1!5]Z)[89A)UQJTA:Q1RT5TXH2_XYK1*LA?,RFK3'[>X
MA\6_5'+<UBSWFI-/0G.C!=$E"^&BYNL[<,H,]VECE]5"@U$6)%<DJ6EU*0!!
MU8PN@L4LP&6RU_+&N?@#\N0FS/C@R!$":X;M=4'*IX6*KZJZ$#4WC;>ATK.,
M.* EL$ARA7HKKCICY^)8KBC80BY-PF.H\>.:NT/31U]B?0ZN'K[$5<.CGWLG
MU"[:N03C9EYS5C=NH(:*!<$'6%Z&_LR2VJ6+]'_BJEK0)."ZQ92>T<<<(X,H
M[ P#<WX/(<S6!@I>+5B]>4M'K#2PA9=8(J"[/X"0@??ET!Y'AIH #;$Q&^)Y
M>>0N(6<(0%[U,'KD-,8;\\C($3Y7RR'!22&J5[JS&5]>(SJZI-3-JZOT"C%*
MW $:(6:DXZHF>RAOIJ;R<QB53*I9G8WI@F&=(!M5!JQF'$+NRFNY1P&J+$1K
M4[HM1;L$?A@[:>T28:8!>D_@<8(8/IT:O"9A"!TX'47PFSJKCB6VQ)>AOL,#
MN6,.U5U!XQ =MFF0\+0,/),"W-887@[,\RTABV#NI!JK5&>"NF=!66I5,3[L
M5;9Z!>O0^/38O6)^Q.?/3SA.#>AP"1L&K!7.59JSFNY(I(]?O\'DJDN1QW-"
M^D;& ,#4AR?B*CZ.EORU&2AO>!'_- YK<R./H++P=S@W[F!7\*,9$%RS&12H
M,0C3[QT\8E\*2W6X:R^@)[C=-:_*$J!IHE;0]71^SC E6JD/H,8S,<OU[D#&
MPE+$->WL4>;SO63C_,X;YW6*5OF$/'?38/*X&BF25Q7.RK,$$_.4YXJ3!O%3
MPC,YIDT^MEN%4Q9ICV5;"!*0BE.)<S[>N;K!:W@0)DBYH@,J#J3N-P_E^HW7
MC%[(9]"Z+&V/7>1"M*&GNLXN<^R@GYZ%>ZT93*&-G 6N:#Q,O9.][H,<< Z;
M!?QF-*]X;W"7X 5D?/T6^'![J[$1&'Z;9X\M+E61.)Z./HE88K1O6IE6.(A3
M,B1NTN(@$7(1Y7B)I\ ?BLQ3JH@S29 K/=ZU()6F(@$%5_$YK#5_IDXJDF,.
M,8=[YC;^NL_B2[\4U7(L,O#=\:]'<2;R-WU9X<X1M[4_&PX%3RBF:6\( ._
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
ML.'F@NL=J,&3=(+,D:,Q6;*YV:[.)#= GM<G1PZ/)T,%N*-&#E; @F-A;%)
M4A<*)_<6EBJ739B'RTV(8=K81''V"&Z8>JP>4E0(O-@=,-1M6H]E?A8E-Y#S
M=>/K81BA+B=;7ORV9]G\BG&7%W6XE(QIF)Y9P0IXQ0.>0LE&:KVBJ3$HULAX
MOHN"=H%6;-"IIWYT6F1DLD*J]5Q5@N+<N,1ZMRZ<D5?-V\'J(/@8Y.#',V1
MEB<Z18.??OS[Z6!(1__)UN[.SE/Q'3@.W&.-M_&N>LW1S,S-2W@"4)B5UG4N
M"""N'[P740X;S.B\MQC(H4M /_"[V/K[JT4 7P8^\5_"W +&)(AJ7$Z#2&Q<
MHM#9-.<+.E %/N4F-[5)].5*[$51CQ_..#>7C8/T*^\;;B/6A-46C%<S$, :
M]@-_N,C/%-@R0(D0<".Y&B1U4O/BYT'-$9+"N)QDF<WOFR&P/CM6T9C K<Y!
MLP=V$8:Y!<ZT">)Y+"V;BO,C_^!\4#H4(^3V1\4\_TRI-4;QT^)I*5+'^:<3
M,TX8,G!:)8.?D?*.-W[.J_>Y8X-M>V!=:;*!9:C^/UN@<JT)7.+3MO8?VQ.[
M0WC6P5'P1#-<'G7=DKL_ #XU&>SOTG^>KGYN[P?^TQ[<HKOXS[/5S^XG'2J$
M6/W(/HR*1:.H^@"8UQ 0[FR)D67(B)9D902*41=N_F9.TF1WK(<3X7M+D70]
MD,@IY^L&'QA7?+:SDN\F)%46'KXD,G7/EG%6J%2OJ<C4P@KIE;JRVZ]P&9J!
MI"2RC>3UN$O8!=-L6B$S@'&!T,&41S35[,PZ1>\@G6AS73"8O;!55/P362EE
M=<7@Z*Z.A[8B5J "C("KXT#1O&(0<;KJ.>.5<Y448GRD0.4STR@8CCZKIRX)
MP&"!S0)U0^"YJ6O@"KLZ4X&-8)1,?!3*1YF57"P).Z.[(7"4!*592S[C<M/'
M"LI/FYHNEQS0TF2U0WNBGJA!_N0[.1=RV@1@T*I%'!XAS"9% *7EE$?=P7N-
M'8$8K4M*LM2XP./ "0Q5PX5@,61J[ZB.HE'](E7TH@&H?,"A!4=#NZ_TOCWB
M>B@>!U?J*AI?JQ;W4_LCTDG_W-,9.G BMX.L[FC\WI_SL5\6<;AR&OCO?@XJ
M !*=:\IR[]<=FT%::''Q96;I^;*!.46$\]2-=T#AA;K< W82M$1\-4NWPI/
MHE"P#%<Q3-H+*JYJ/;&7I+6BU$OJ#G'@VQ0.F0!LXW/.3OVF=(]W@N>"!(^@
M,.0!*"!D<I%L0]CZ#&H\AS^1), U:1S=+CPJ*<G*J24RA$9(3EO48$10,<=H
M-KB@"MCUW$X+;U5K2?!;AXJ3!70V5B085^D &#63A)\B555:8'I"0)Z@BCHK
MZ:Y27 +<;"0EYHKI?K8,4<T7=%MQEZM1$*A=A?F3M&LH]#*1!.+3%NH^V'P
M(IBM&DLJJ$3JTW@M-C<?UI<CR2)AU __NC?!7[YT)KA<JB2,BW2DQF?45/3U
MM_[KOJVW'E[7D=0,]TAT.%OL;5;-BLR-C#;/.::3/1$&Q"FW(,!W92JP21LD
M*DT+-G*GUBG!&89G EY!V+F>OV9V#HL)V!Q6]&MWWSQMWK/"-14B@G-6O:(,
M[F_WM![+W3K<9XS]RVSKWX@( !QF\!B(HF31[QY\EP +/%>*"W59B!]A)3[A
MG&O$1H&. WH!WGV>\*N]?[TXD,4 ^NF50!D@VZN5G<8WD1<G_H^J,/R;5+;Y
MG]G@'0(C<,KE'JGIWQE<*N&?$G-M@7FI+8[*29W"_2#0@&4V1TV@\'*,7=&Z
MAU^?D\22<5S2_-  4+[G3H"'.O&,'VZ*T.D_<^W8C]SGX&@QUQ*=T0%G%XJC
M)!I*WQN8CR.2&4:?@/>EH.%/=BR@O#X_]_EV\,^,<X>#(G)\(C&@:M%(Q:)#
MMR)MB:PVT)2P>B/P3!=I^2$';B[*K5_3H:X*@.?B]X*S_S,R:N@7)&$6_(^+
M5%[Y*2V;13+XGUR\1_C8K_3O#Z :>\78[\BI?_W_FL79"LY-^LO?_K&[?0"W
M]^+L'UP?_"?\02-+=ZLSHT6A"2>Q6R.?D,S*<39X_.N;ZYK^\%W0\F4% 8XX
MA%:(C-+Z#-+^\;_>/&^^<ZGN,)?I#CRG]1>(L7,!(?/;U](A:?HDI,2WW#^!
M](H).2HO%KF?0=&$,8E8;-"G8(]A96'[+6H&+E?+S7M[L3<!&@;!$:04TF\!
M12O,*A\N4F";G*<1_!Q&TYMBS&;@T>(<[PBHR;QU6X5WQBFRK]D'YBZ)4W='
M\*4OQ]/^*.Y"GS/]EJ-];J=Z]Z[ZZ]ZZZ>03>2S16#D:_U)88&'MV=_9&?QD
MWT[<7<?%IEHB*O#REDJ*/&VR<5'IHU()[C?HMT!H1BVGFQU-)1>0@XJ39/V$
MM<"E6&3RH#K-\Q!T@ZC1H.FNJ>&P!JFQ8Q<+5J@H U((GK$ L/6<LT\7<G9K
M+U1G0I]&GR*IH0B&M!7 >#13_)%2I*$7&;Q]]$B%NV,3E?TB45FCI-Y$9>^,
M:G6R.&LD)QHEV($>"YSVUZ> [B 3 >8R6].0W0P>PK\*3G/2(QC?T!$5;U4Y
M>&EYXE*E_0O=#ENPYP>O,Q2&Y<WT!N*S)3A/6/1Q7)FC7;T:U4NSK?Z7;M?$
M:.Y$DK*FV/1HB@+L9JA63FJ0%E(5EY[4XQ/$HODG$3%#J"E=^FR?.CM;>F7+
M7JLS,B?3,H*1:\RET;Y05LP=]"NU1IUN&<U22Q>39[]EDP*$L&FY@('JDCG#
M.%Q ?QHRWO$S1_3OL=V+;'!*_'BEK<D*\6Q1-PNE6Y'M)UN.+1;3NARYB9;>
M]%>73.5[@?H?J&B"=1$P&^FU24+TWBWH^DQF.J;9G!WB#\!C%?IR4=<B]9\Z
M?@5+$Z$<PEB!:#$ CO)E8?DT+]):T^88<%/20!H-K03E=);)YEX.04C;#;5H
M7BU&4P8TW[%?6L8"9P:I<24"R45W9'%_@@LH'*N&HQB9W]<]R5$+V=$Z_NHX
M(?+>'9*_DF;:+H^/LDZ=<71>5PT'9R<YM'F 9#="A](*=:)F8W=70I)[B'NN
M#D JKHW>OOE<%SUK?%&CWT31;I0=!G<(K[DOY XKT%9^++/$H*THQNPK6N<Q
M\E3->B)@RZ.B<7&L1E#=$ABMF)6A78S'+"FE85KVQ[A7#OFC)L[2GFYZ9.P
M^]/=FM^^#1%6_=79;"&>(8'=W?IW_D$BX:,%S#+<8"8'*JM@XOI!5PXI?K.5
MC&K IP.$@,.G]97OT<RXB6 AE#NL4<F^6<QT9+:(*B\B/.6+]%(45!?,57LM
MG4PD-66%[!4.7%.PXNZ&Y:U!73/6+W$"LS7#EWEVE=@ !-#)S4<PGD+P!NJ<
MP?5CYL)@G/KJ-Q6[.N$HK,0;,4LT 0],#>C-G+&LA/A&E=3"WBMP>_"&.<8$
MUE(F<J!@'8VFQ]2.E9Y=RJH0^,?9)\/KP0$A2=V_X2U#9V[L)$1/8^S'R5V:
MW9#4]:?\S%/.3R1ALD .0.>F82) _W<,9);F^!0U#KU_5BP:^2EK-$./<5C5
M%8I943H@+KVT\DB?](]Z9@8L,*T] !E)%Q_R@DFT8"*[\EB7SP#4T0#"S4 K
MOKT0\VM.VG)5AP_@B+Y&+2[]O["T_!%6OL+8\QPI[.>^:Y6&=ZUP[*Z5 =T[
M\V#])<I,+Z(G/("C^2:$'D8@GA-\-,743\4V'&<^=F#;H$71RRW,ES/%&FI$
M%],TS"L&ZM9&48>NG*PC\221]21)A&))5 NU/G%K7<"CGB[=2QS+*"I&]Z&N
M]*"C!.I]$-78!#6^3%!CN EJ?'4Y]DMNR0$/0(J]XL1S)@2N^'^%DZQF[E9
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
MJ/-;D+U0+!UYCR1]+&K@0M J3;/Y!7)4> >-Z&6;VG  U@M+\EN(<K#J$=[
MS.;3#CG-.8&4LVRN+BPC+V@E;ZRA;(QYN%R]?H)XS4ZM#%.G U-!"I]0PY>S
M;YP#0MJ\=-*I=@[W1Q93ZSF#L\:-:>/4L?7],LC4.+^I9T>(.L%;,-&@<*;]
M!$(MDOWBU^J*&7-6YTXKT!PGFJ26YTIM-9E!Y2?2OG0VGPIJ;L:1Z&H6/RHK
MEL[CC>:S$4B \;DTV61[?YP5F5,DHW<5'J_G;XI3-E,6J<26%8]*RHY.D= 1
M:> LCB#%^<*.-S+*$(A$H+N0V;<1 ZF.$)X;Q:>LA:G<!(NO^0N%RWREWRI'
MI!X#DDYUSN4=#-D6*D,N'[USKBTC4"$"F+++G9  10(@X5)I+)(_X+SN<2=+
M,@TRU)2]AC&%=4-' #@>=(?SR/5^E)">_N22GU08YUF011E<(!ZN)[I]4+23
M7=TW=? CJK%$E9#TP>&M5V)A+[_ KCCI49_(^H31X,UEP%R#UT^L2NJ/P^GO
M-N*U'GB@>.>Y19.-IZ(VN*PKM5RL"#U$7 %/VI(OLH5N9"06788/SV4O<Z(1
M[W2$2CT8.SOE<]K8M&GY: :N-LVH<RR&+%[TW(B^P"W2!#AV!=[?%=>#*O.B
M8K7$X'?C#'<_HWZE]73 P6O<JRENP7!?-TZ[5Q);EU7,QA8@).<,)V$U8CIH
MS3RN)M%T(>5)\,YU;OEND!17'@GU+B7)5RO4&),%T00NLW%"WR+=<LR?1<[Y
M.0NF=*0E(*Q)9$H3R# 7M);H%Q-5*"J73:R3[GE01"+<A5!@Q6^:I2.7[,&,
MD]3:N8HZ]%90.[(/*5S.B3A)H=I6M9(8A/)-A(?$;YS"PK*QS J7"1A<KH@-
M:RY"D\,CT]FPB>P^WGIUWKSG-+.F\017R)OC-[1CK//%VY,S&"3E)&K L2OV
MY#18.L7J>VC-L4N[6TNEI?1RC&1\24>&5M4^4HIT>!.1O737##(\L@^,$(I=
M"17+#K:INO*=,G)CW*+X_@0'Z,-.Y-C;)'+<I1O?[M, EZ5]9T<, ;$M_D[.
M=TA^L=/G1LU5KY#0NK/N 16IC2<WT6 #!9;=B4*_UZNAR?VC"B-7[ZS5%Z7+
MX^HZR<..;E^P_BQ4DYX?/6\#CCL/ ?\JGN>@2-"G[19+1LP6PE6NC+G,\>_>
M:7_MYJ[7<?TJ.ZO%<WT@,%-=U_4-F_?3CGJ%&ZR3FF&@;F&SU/3VVU+:E[+^
M*5.P<<2Q7TT7YN7>[0&E2 F0L[[R=KXV;S;<1%![<=,D+>W ^:VMN52Q-GTQ
M9Z\==9:)]W]2+)AD*S'NDD(4HFF*T@RI1[4X@V&G^BUF.:-2RB)JGIBEXO&+
M/?LV0=13F;@;[0Y.P8:B8GO=4N,!WRH@SNP:93(,]?\SN"I'(E@M,?NZ1W_
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
M+NF^=ZMS\) $1ROSX3GB:$7J.+MZ\9Q[E!O6 55U/IZRZT0=U$>L2..GZW2
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
M]]LT70^F8GFH6Q99%Y)3[\GHV72(N.1W.-5EA]-I59V5#)<P(.SMLBA'_UT
M%E;"-R660CN<'+\=4FE:"EP :(?SQJB8'=/K(R<#[MQ9N@PFM"H+(3!RH2"7
M8Y>Y J6<H0,3#RS="U^!)&)UP"BV/?MI>_+GCOKS)Y=M-BBD%*:<?@LP*@=Q
M8=2,8JN2> 83QYQV,@>T<N-3V(+/27PZ*-&?JR-FM& \#@YVNUB/@;D&[=;
MZ*99//#-]FC-6OK/V]M[Q7IDK%U,+IMTS33(;0*/M#L)6>BATM'@-^K/$H)&
M3A#F&K)"O%X"U" P+),)3><V?! 3&8LN\ZI7-?/2]V#<8DUQ?V$-)7)4AOLX
M:/1;%_:GZ8?TP<AWS(//4B"!QDY8FH('5NSQQE(M$&:C6^/IK4-^]<YRF] Z
MR/MQ.42"V#Q\RA+8TR%)4/!93)+4[GP [IR5Z:B/>\-TO.,^]#BY9,O^SJ](
M28UPGK6.13*;4/K1D]CT1!"IP^MSY62)BP8.O?!.CBS_LTKB,HQ'%N=0@,6"
M.:G[_AAS6N/:Z2FX?K?JU7$V84%, XW<LYR&4P>&1&^$=L5%+&71!E[9TTP_
MV-55E/?%=SG;&XB0<AX)I_@(!!O G63I M(C86'N+SG_==T$7C<+OGS<Y]>O
M[B_O'"[3U*2DT*@)823[ZWL2'C#@3/@"C:?.I=<K:W<V7:%M\1SQ%O35^#P_
MU$;WFS??Q)Q]LG(3IS1!.<=!:8%G%3[K(F342*U0Q;L'C]A/R8'I<>!')V5O
MY4YW(-$38?I V"$M^:G0VKUF8@2=+0!;ZFOCFKG5GMCRBA^5QG^1.[0%'33-
M:7[9=W22T)$9S% N9%F:"F/S!>VR)VZ;NS66 -_:%7XXER*4@W^EQ2+;.AI#
M:#\\M0#F[UO#+Z$=&JF*SO;$;2;SE-H\2?%V*\FG>RE'%1Q[7"2ZUYL&Y.]4
M>F3?- ;A%SAKR-KJ5)/Z"I*=X")>>U<?KJ]/=1K)$\E'XJ?;A2I/)<_V!<?,
MZ;UW#A1FM9+Q:3/\V"CSV-H?#K_KRZOBS%X)[C*8U"OAO8HF?O<@F/A5T^F7
M*:S/=4%G)J<<#A.);QB")&#:_G5T*LZ!-]VJGEY%+1R!3*4!;*%&^*R";'5(
M S>:N1\MT(5IXY*FJ:89?O+L;W.FFTL<QH,Z4+O<0#ML/4\Z^5(23/: 7$&-
MFQ1,BKO\O*K&C0/#B_#U%"4EX2+-O+8J7(2A^.;QC&9H3*"?W:]RVH'E.5=
M ]QFSL@I:>&1,(,;&N#EMENY/V%.*XVHSN=*9]VZW5)#04L_S-*EPH?0+,D)
MP73951X6#P:Q<59)?8D3[>[ATT>T5X?TGR>/N(\[CSR 7=ABV(RN3S.E]K=@
MQH==HGMR[Y'T*$Z-Z#LU]J55:1-F.O-.=65S[8/[CD?</JR5\=J*N=,KKE#
M-C2[!UT6F@G%NLBZT\!33I/&C=&\82Z&.G5#S)WG2"N6/7OZJ"QQ*C/#D'N7
M%=EE:D4CKM0OR[0NKG5;:BY;$F9*B&HA0QU:JDIG^=!MWT_A5F/7^UA2,H=[
M\L?#]A@VD<4O$UE\NHDL?C7GW=?2!F]&@(;87^LFB*)^.,M>W <NAST6ZPF=
M:6@1..$0"2+-^7*3F%O#!,_U.1(C'HXFCJWOPG"_DSB]J J6U _3*%GM6XAK
M!%KD'Z*Z)I*,W_$FB'7,08MZRKOSK*U(^)@3*7=%JB&>DB%=HRW?XWD(:OP<
M!3S<$.P%H!YU/0><4Q3BV/5[(8Q3Y<;-"!2VU+>[_,4"9%1E*>B+SIM6VXTO
M\Y689D +PUHF0DY^4L0'5GLX$$L8[G>F/9P]&V9PT1H=U364&5ZA'[/Y5:;<
MJJ]M?AP5H:F</X/"X;_QGQ/0!+8 JR[9IYU+?;UH;I=5/K9<K!?5 OO7J:<.
MBJUF!E)+^I48U\O+M''Y8.^\GXC>EMH@.7 K\EF]VQ;QUJ#;O0>B":.Q'992
MM(7S:;EPC.K)V[RA<31L%,@;!DRL%P4'7\6')WY6P3(*)GUE+J[HHN8G,R&+
M7FC:CM_L\;+TC4^A<8SNK7TM]KWB8.W&BY$(EX-'@5_S+,P@"NM(GBL^WS&2
MA)O.XHD_EC;'R)5LN=O$&< L7R!'3X$;;>P))W0)NR\](Q&J %Q1C&9''2B1
MEV>U@908959[B:$@N"V1J#F<UT'M9F*EO19G/B-=P@=M-08NL]>6\4I*3 I)
M1)45[ N3C+084U)7./'QP]88$JU42*R^+G.%&1MA:JMG 0@W/>N N'MLK' 5
M3[3HYG\6J,F(BU3PK!*V_\A#9BGPYHHT*2-G[RQ?;X JM+V>::JRS7F0M(I3
M4<Y=8(\S%QJIR=!NG/EN5&$W^BJ#HEF(TF$2#XP&U*AJJ:"S6O:F^]J]S^.R
MXJ1)JG"GOE@HK MRH\"2*J>('"KDCWBV,\V.@#(+>I7,N<.Y]#$=D( ND$D+
M$BQ#-Q4"$CZ_C9"[T U7CS5\LQ0$K'/>L&&76I"T7NSYOC+/-:(S6;<:W;.(
M_:#A(=]TD#.W[':CLQ!+3\))5_R2$S'FB&IF'[(IL.QZKG]-C( T!#_()><<
MXBS,6?/X,(?8+9#0<<4G+G&E0 (\RK9[B)0#!:M,B^6?;;1_22CFP<?4(/!C
M,5%N/A*>67A"$ VS8V0X-"TH )M> ?B/<RVS<.FOV=QZ#A3)>G$VS37$8BD_
MXXIZFRGLJ,WX&<F:=-$=8MO! O'M$!G:1'!=>8I@I O)GII3R\K$7I9_5 Y]
M$ V<N@,HAPO"X@@\(H(R]'#4,5A3IW*G'Y>*F6'L>0_,FGH37.-[!J-Q(R=G
MR)(=W&&J@="3_49:WYSSXT?LB88\Q+;&->NVMF^I:9.]!4>?[3H]OKE]P@@8
M[?QR7:&XO/VET4&Y8CSKZ]6U1#@N;V;_)5ZY@P,#Z2@UYP*P.HZC*4[N=-#J
M>H]OG61*&GKO\TE7QW7B72S#D)^)%F,*KA:/5.'25,(T 4]0Y9AH4M@5(4)#
MMV^] 6D&D4Z5R"01./B6J8C^=Y:M!Z;^9I_[O:W6!%>E5C?97ED[,<&^F;=*
MC8/)3@836C]#^X[O.]SGM!?JB)9/M9X!'<<TUA PO,$E'.F.;C/>G?;KL&;:
M9D!FM/$(\\K2HS_Q1*_=2C_$"I0<R34?Y,:6,L9F'L I!1^^KO2271CR4:E5
MY%7,&VL\VB;\3E?YZ>N;Y4JU2B32^:KI@;FW?GJ"LU2$FZ7DQ5=]FWJ>L7([
M<NI=7ILV,UF4(V>$4S??,V<\+OH>V\!+-H$QX<.8+I'EFN9"NF1F*NMOS(X
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
M$,!EAJ<!)S-2O';T4*&2)'O(=7:#8.>UUU?- /P*$"!;_49%,?$"6@>OU1L
M.X[94Z2_ZBR(R'1/RQC41N#=)9Y)A/,A:I0)(\R@I/-I..8:5#O>[VGVA=Q#
M\B3L 6TL>!K!5<N_F+$.:TY:ZTO8][NLU/CL%A _NF]\PO!-HT][78F[1V@W
M&\L!:-YJP'YQDQ]M6ZV1L(2I!_[ H[I1,1Z5/ZN)[/M[^[OWOH8J3,,"=AT?
M?:7Z?.LHW97SQM^I1N*N13<'GG<3A6R9_=U[P8PX\5X:VJUY<$54KQ0@'HS
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
M;G?7MV4QG2/8\DYYSH\\)S+07\F%\!O\CF5'9!@O&KBU123I:HP)!GV=:%@
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
MHWB=,@.OB.N-@JW X([ZS_. .05HRSU"C+)2-_=H":BMZ/$D3J=51^6ZH+D
MVT7SC=BWEJ8,=*N%O,?K=0G7819R.ZC([:AYUS/FSMOO-7=ZV!X+ZX^1YKB]
MV]Z0>YX;<@?;[0VY)>62'%:O"A(\F$6^!?(D<_^8+,L]H=R26QKJW"@EO^#5
M>*0]*W-]O-I=]>FZ /I,DT3'+M]0A?=O4-7'JLA+[P4H-HEZ"0L %0(4"=L#
MYR4-@ ]^28W7*4VB(/=>7&'-C)&*JK<ZWHN/M78YLU7"\,+6[2BMBCI:7262
MJ\OS!H3H*K"5Z_3+-/6NBA3HX_0KE^RP*L7Q(?)7-!;\.IC"Q6!B[Y@"7@$G
MP<TO$"Q@)JHD5E/OO>(R2DU;K0X#]A.R@0W,>ZQ,6VU3:C9+!\ ^+<LT0X&!
M^7]1,LL]ZTMC/5-74Y%^<\6*T1E2/C<4!-E0J:1&(J(2A5W$69K0^<XK0XW:
M;&Z+L-X]!\'&'7)639*5.FI2?5$6%A_+A%H4FCG09@?.5/K>+R4ZAR]UGI99
M(&;O54J+N-(!8!D CI_= %.H'H'_9I6K5PYA2*^[1]XF<>K@6&S5NQ&0.@Y+
MA0%2L>LT98X+GP"6XWI5[.'^4JJO$?P-*GX:PV1OL00_;<.R#=%3CO>9AG=V
M'94)ZP]8'_6A^*B/80^CV<4P.KO85GCOR[ADG0V=#>^HD-[4E/<8<1'96;>J
M6!Z5GXH]'SHF[,;!I\"+;I-\%$T J%@*27">:A]&>5[.X/?)J%0)?#)O7^AT
M$E=%3^<UMN,=X68[AG.6Q2C-J'[!**)H$A6)\["DBZ(EP.+MHO X?HOB&-8/
M.B30,-5E(>MFX9I2K)(P4O& "ZJ2;P:K*_#$6%/E%\TFL6%X[J;KS.O",CT8
MA;:Y\YJ9R5B'5"[V [KB9CC#+968Q)%_ 3T#SJ,VS&E82JW6>X!]K6,MS+SB
MKNO<Y]%Z2FJQ]V]F#[^6()9WR(N]<X@6 MG34C6+>NM@$39-U7#QP#*N:%G&
M?'Y47 3;1H%=EO'KMW0YFYONN)%3<F[IHE#(/X O987U7F"9<JPA0&,-51QC
M[S9QP$7_94>AZ=\V3JW4,6WJI >9K:,"H^2^]2,>,5&A/_N=?"5:P\ZACPU/
M9+52HIG*"J&U'R7<">[$;#>85OYAY91/=7X?1-EX;N'VR=#Q1)-#U$8?@A3L
M3^,R9AV(="-;XVC..3M641++E8-$55O;%18B6[.'05H) ":14VD,E)W /K!,
MS34,3JN\XB[:YJ"L]S_FRDJU@F_]C'L@5WMT(2/GQ8:P\>_/ZW%=7O9(A:['
MZQ240> >P/*P1Z\%A(0;C<.?YI\-1<R]SLN\%YZ(R8;E52Y=0EKR2'$7+C#/
M1U&<YNED!/+E ^P-)&/-QUS-@K[;W9=^PVC7!BXX?UWW<:,7_HS>B,&+)(W3
MX50<Q=9A#%-M'[ 2[SHVS'RG4@LO]_Z?&D]>>Q<I5NK!W8CKP[_+7XY^\L.C
M=79"U[(0:BP3-0_QJN#W";QMBCR/-0=EL%TT5BA'Y&FJ7I&$U0 1-4O <D14
M_@+3 Z1M+)$2LF:J^HMZ=>?.@AC5>[@8>$]\20V9%10(HHU(_;<PRM&;ZQ1$
MGW]KC4_[Q,HZ8$%8>?Y+DM[&.AQJTYB7:HC;PG;B[\:HI-8A,^>;-+YA IY:
MANJ;!"(L><78@""M(G\#JFVOL\!QZ,F96B4QS6 &E&F$4^M\#&B6U,/W_EV!
M>FIC2'H[HRV^7B4?^8W ;$P[HBIDF>G+(FTZ.*&.RYQB0@6HU]1C3H[8]-64
MVJ(IB1FLYNET5\D:,LG,7+?4:@RFS-";83J$D,J$%=T)J3@,F6#HY4^LF>;P
ME*KB:>Z;G#.>DE:?8U^L'$MT<S$SLB2P,24YA#S5!\.#NQQ8KE%/%<@<TVC>
M+%I?%#0J];]!A)ZR4WXC*B7:_A ZQ3+0OZBI_F*W[;,JA2AII(&)NA56=R94
MP;2(+4F1L'E.070#LLYFLX'N<'#(FLDDS8LM&Q@/'/-.F"7VJ04]N$#VYR2,
ML.I<BY$XR24V0M$#\L#V!S-*TQL0NF75<*C^XPG*VC1+L(5HX9V![@LVR8NH
MEJ]V=%3OA/H2=$4)0QWND'\";2_L>#!!;UBNJ0ZR]P5P:B*="X'X"E'#;U$9
MW.+/1:95,:XR12)=12:O>LS2/O\;E+R)PNJN)]-)5@(#P"**'Z,P!)V<@TM7
M*5COVF2@V:U>7)Y4^C8912#G[(+[IMADHV'@'"T<?I1SJ7#K(W0244#9G*#U
M)"DR.;GK8+2Q5(^E2O=IK<<G9N),M&*;SA[;&"R'R,X@A< =D.!V5C+D>B<)
MONEX)^<?+TX_7?6NS\X_=3: ^[R3+*D!J*%.XT] (AL*V>4LNST?&Q\!]G/]
MX.$P TV,W5!4L_<K]3$!N?WYZG\.][=]S"'"VMXJ'QG=[K[L[N?T&&UVZ'*G
M#5TN&2$2<(3=G#C-Y&N&H,.0\''X_P[]Y2TTFJ6)85.;>I,AB7:P\31ASI$9
MZC6H K<H0'TBWB9CUGC(<\FTG)KTB-H\<@^C>J^:6&$!_9#C&;C*81DK2>VJ
M&?9YW3C&!R@-LO:Z:<JF%[W%S2Y(>T>U9D ];\'64([;K^/NCVHG1^,^:/3B
M##-W#Q0H\XR[9;&5#K8F:?!%%R2+$W'[!QC_Y=P1DK3\:EAR&^?:W90-4.LO
ML*L-@.(B5DDE6*N8DQ4W)&TPI&QSA] ?F288P$ZP0=: LI7<!I+>1 :?Q(K1
M&GM?8,92Y0#4QJ2HE17'%WQZVO[.W>PP4Q?+9%,7#AF=&X46N=N6"(\TO4UF
M^EE.XC+W]K=_IL@9B INAFF;-0_**EW/]M>HAN#@2I6OQ $ <F\E,B4E+;.%
M2)1;3VWL5+!#2S/#-..,]S)67W35[Z.^:BPZ7I/D.[QRZE>F<G@^A[6:O &Z
MKF6!!D//!"MHDXYM$*P]JO\N5([ZN=-)@4'U$?O=8B040VS4Y+3PWB&(KH(1
M ,A>V_EX\<[+Z2MS;P?C'8U8SX\)C EG9HZ@R$IROE/VVD+R(FNQR%T*&*5S
M28&8-D*%\]%71U@TAK6,XND,$@ECD[4!2NW_/(LMUB5$NJ$4_*=L5]YD*?1Y
M+]!R[YP\=)2P\;EZRX+0=^?-&G9*WEM%?>AG:*1Q5\1?&O>4RZ;0:X6Y+(7L
MRW?;^2CLEL%N2 ;=S,/XTR___I]=4IX[I!,U+^&&&C&/);(;KS-1]7*8,)J4
MW/)('.M9:>YCL,I0NW<%MJEO_K"H5LMZJC@M@94:LFQ1<"U%%' NOR&T65^I
MXPU,]7$F9K5H-H,8-=*=X;,'=_#9VL3FKLL-N4M-P]FT#T 3()AK+Y@0AH[R
M2B<S8@P>(.^/LTTKV?IZFHK'0A2P&AUPTXA[X<5Z4SU:R2TO\,%J(<ZR89VD
M3E%SSX(HL9+8ZXO=;ZLNN7>;WG0BUN:N,R=!'>[E85L-IWPD\ 2U[ZX4)$,X
MLZ<O/#,GG0&,^)WC'>)#ZPM]U]YR0Q6<[WC.5XI18<TWP15DH('7(NL@0'PY
M2]![@#8D F0#P'&&%Q"R*)9KHHOBN<C(;Z25N0K3B:OS/022W@M\4I0__,*H
M?<QKZ9%;>[G45<+LU)+M@RPWC4MW ;.([<:QG/&E@7DE/*B=H<33F:?L;K-'
M[\6^_$%>(*^?)J4,"TL,$7K(4E[.ADYKN[RB'N*4S5/IN"*\,93'G5&MUF,B
M[_Y,&+T6*"*=55KI5NX,#K]5XMYJIQSWQZY\\@[Y$!JR!>B^E2/-J:$@NOQP
M>:)FU$#(N9.IZ1V5@:(6*HIOD)[I^EG17X$7R=BP^U4ESIWF;1[; 15"$I/U
M2O1>4,(()AI0\0-T1QCE"+33I+3Q0P:^M5<KO;5Z9O:DTK*P85#%-B;VM0ZQ
M(=M*NOR_L6M94SF,C!LJBW?)Q>43\ZVML@!DB9EKE;+:Q#7D8@]ZP T*K;&<
M[54]_1PF84A^K$ 1+L=WH"1FG))VZ(;6R7]S0?Z;AXU"+A()'E:Q><-HL%UZ
M7S@?G!T^3*VH@2"[6V2O(:N(TI!='5/*YZ,,>EA.6*EQ\*>J6'!MB7-TZ9B&
M9AEF_K+R4?$ )I"HO^HLP(Z/D\SZ?9Q-R3B^<(N^YDZ,\,L0)8ZTCY,M&-;!
M[1CE;SF5:K&2[SL+3OA_"A(..>I+EV!#<Z6#$BD3"DE8:)ACL-WE0%\=XN+3
M;*B2Z+^*62K0B)I$!37 Y&^J4<T@^!1&CC5_]O))C UW\TE$W5A]_L+\B5^6
MR)0E1<.YK,^#2CL[- 5KB1ZT<RY*X8@Y3A+M2WC4712,4XXK00\0H/ V/^3R
M57/:8:G%<X:7TB/NWF+XQDE5^H!DEDR2DSZ!+$GZ_0TX*X9V9LLEX)^VIH0O
MOS[LO(G=-P@#QAW,OT6DPRQXBBI,Q.$/!D8HW<QG=D"0K]:(T?F,&BV2OL%D
M*(\+APTUYJUC=BO!QF$9^0]J$+K9X<)N&RY<,I&*F@I(PV"DK"B8:$E4,QQC
MEF-S(TV*X-L":E:<F'>8?8WQUE*?_+<Q);.8* 9IM2K*I! *MR=F'C2O2?(4
M(64)) ZARR1HUHB\<]VW+.^BYCW@]F"["5U=PZQ1[+@>2JMUDZ_">2\49]-R
M:=$3R^:3RD/U'U.#YR-O GX[89ECOI'D7#PNW!RMLI;6Z$7UN$J9:Q_?FH.-
MN&XP#VEHH1S$:<ZI^)'I0]NP5V.- :9SWUI)GC W+\"NR%TO,!S8@/-;#=!E
MY6"T+(;F=T*0S=I[X.A[(&314SFS87808C==":N2S,%>ZF@KL9Y%4N/;L$!$
M&5[MVH(_MBC ILUY/.#\\@>>WUA3@]NJ27 _DO[>.=Z:D%W6=OB _&*#=0@L
MGLH<-*N7#4#Z2T>>Z(@%\GU'[U/D5?;.YV_WP >-&;79/?"7\VP$%7$M7,PM
M\B+,6% W*HJ1@?N+>4[3_FI,1X !"@OKPE:O(%S!%NHX,):FM J+:"!R8O.V
MFV]NO 3(>=EJ6&/3;;%%7(-7$U1\1XWS%W!4Z@E-CA&1";/VC_& \0%2D$Q$
M%N)&Q_N4%JB-6B55?$AZF-*=?+2!C+)-MTDQ2$KIH":Z,.OTD5!/+5XD$[NL
MUEF$;TT:>!=1U_G-W;9?2=U0*[RC3Y:(=$1G"\]:;>X88HL"MXF!^[_8Z;[D
M &(N3C@7WQM'1B8, R38Y!NUZ)@S7O$:!.L DT@4=S,,L1KV6:YS^.63,9@I
MH3J=!7QU6P1%,.=<V!1G I6CS425,K.^ ..&U#(G/1%B@WA"GE?<BQZ[4?_K
MH@H[GAH-DPM)H2RL$(L:3\_H?L L3-1R8.Y>Y%;9%=W5U5M1]12UE9TXY/*@
M= AK/7/#8LJ%!EI-P[P6F,?\=P44(AH!SIV_\EY$+TT&JP\?^-.<5XFT6HK(
M4A:WX3*<$%>YB ;"'&*\L4DXE4=?#1U/JIOWBU1RG\5>B!P%&=0[%(BB=_U&
M O%%E4+Q<E8,FC%I']6VF!WVL_0+2&R^1LR>,<'QZN*4@^A4":[L$^.G7&"[
M8-@?'C'Y G(3/U#>H$0=32=A2FET9C^PXQ?1S4M< [$;]@X@BRTI!&"0P-PP
M92G4)'@47L()F!='7*H*S%OW;IU?><\Y8Y&F%Q29\>; L?-QRQ+I+^'C,\/.
M7-F[;VVL(O&UH@3O DO4H-)<Q7F$E:#XTBFH8'I2X$HY+]/(.".N\+1 /.!!
MS:M"5J&R#M2%=I_$IV =3L; O+]QU5C;7V)BU\#.\P'C_[TLJ\Z$D-+[A"XA
MN05A >1"=<ZDD-$IU8%/N4C7NZ$ZC[)7[\3]E'ML[ 2^-]>)^XG:%RS .+=I
M0#X=]].8UGRT^UJ0Z\<U7*A63,QN@O4>$6N1'L T#'4>4+YUP8R=<M$<(?>@
M5AFSKL)G./_UG6VIP/RC<'4UJ<LFYPZHO#(Z7&W)ZBRB"PHF,:N1V*JDCL5D
MNJR8LKZS+1686X)\Z(J5*<]#M;RJXHES5$=>FCDZ$[<J:O!X3\6,]=I[6%^P
ME@);"FPI$$O?@;4YQH0")R.DLXE-LZY'6(^5#4?R1G&$A)@+NM3)]2+!,7ZJ
M2BLQ7ILPQ;4XES_%UU%=S&R^I.A,:[..G*\BC M-L*"DFX-:SW7+[HX,K)H7
MX1OC)3;$F(1ZG&#]J%RBAIAB8S-VJF"3230-=4SY_54UV$6-<A0V* &-\85Z
MR1=BJ@NI]@KJ"_+3@12SWR .10EEWX24<HOM82C/LRC2+-%3>UEE0)>CZ I)
MS(FP@"5PY"K#RCQFC$4(%.H!3F@VJ@)QP941!0&=XDTOV"4V.PB]-9F@D$5_
MB8X26*Y-V8.OIC:EB&A@;#R_+,>I !>#I+X&X#%?-&6G#5048[$]S+X*"@DW
M-2^FRDDP<]X5JGI-T'K1?TFQ)S7&$&C.21>F+QU5YBB*F&]?T ;1[6B=@9R
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
MHV4TUI;%V<$!-4#B(6[(=V#*%E'<0'>PBK $5+.87I&K#GVO7Q:D+<G(]C'
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
MPP8*7"T<CHLX]>W:7:;XFN9<1MJQ[_5+;%V<%UJ%,E:.@P& %78T!GA4^S5
MPZ3Y,M=F6'MY"=9ATN'M+OI&F4PGFOLYYZL60_\&WB/]I!51"?J*I>\S9II*
M1VL=&KB]R0 SX)Q^BU"+\<[R&""8$S,8 UT#EDPQ]Z Z1F[!#:2&/:BC,%)9
MI.EPQW!6^+)W D2BG&L$OG<%JU PL:;C63PM'2IUJD;4<3':ES19W YNQ:&J
M:FD%-P&O=P;_^-!E+5@2L*@R9IP1B(#PB@+.GE7]*(Z*J>$^#P;!@KEJ(,4<
M7C6M;Z_,G[-Y][,D?5V=O?]T]N[LI/?IVCOYI??I_>DF9'N=?@TTZ-S4ZCX/
MXC0'BM1QKF^!-0M/B_)Z#A")5O*E(_/57X&513H)4,P"0>0P?C0 BP:(@AO
M SH!S6@65R)E$4D54!$R ) *I$D3-ZB$15[ %RQ%)#,];%[/JG'0Q\U".I8L
MI&.0F[]@AO>[TTO*P?EP=G5]]NG]FF<AS>W7>WMZW3O[L FTZ^A)0(^8FJ<9
M<Y#"<AV4R-QAJDH_RFPD]]6LADIJ%Z@QSGLHO*MWBTPA"8H>^*EW];;WOU:Q
M.1'E[Z/*ONA"KF+@<_@6RLI\.NZG<4[^M>[VZY,/O]/M@^[.Z[4B7Y C%Q]Z
MGS"3]"U>LCA[\WF5;TNT*:3?FDP,#__[]'H3N,^<M_P8V+&0]P?@,DCU;]%P
MBO..D/J* >-N7Q)HC*<?/J#$V; ;(<M/Z9OM:3YJ/<T_G#N<XK7+#ZWL7Q:.
M\"P7;?'NT*>K4[I'A+;8V=75Y]/V^'_4\9N3,9!YGG/X;D-^9ULL^9WMCM=[
M^_8,F<=&W2@B/<H[Z5V<7??:6W>;P3;!8/YX^O'\LO?I[>>/Y,?I75Z?G7Q@
M+MJ[NCH_.5OI@@/?%JNMU>'9WO<Y1O';696&Q X?=,_T@L*G&GECS-,/?>\%
M/BP6V)L3+.H@=M=++X"',**58F0CT+[)?@;]K/^G#J@J!L4P@3.AFDP_)>DM
M?J-5K+%Z!FB&"<4? "^;E^.]\)PEG+TYD?GIMY=>>J,S3WE=#ML6F4KR2,9#
M'W(:UD)_%&NM18HJK](9;@^WG\Z"[-"O1>%P#%46<"Z49$,NL*W*"^8,R2-R
MS<$&@$\[SE:+D2J\6W20WS7V_-KX':1S"2E1J#(O^^,(9B84^JC'L-LD+,<4
MG^EA<E"LR:/7R_,TB)2M9Q+HC,*27_04O78<&9(@L "()Y3SP#HIX4!AT%6'
MYF0()ZK]O\*_<X[;?8'S3Q @SIE>NX=VD:4W48[3&E<>G=^"9SR=Y!A6%N!A
M+#5'I3_*1Q0Z""F"/DRB_W), .,2$N6K'7E>!B-<E:P(3F"49OP2.R%E,;YY
MP@2F%5]:,8NE*>416-@D+O/91WQ8$H;2JA@U7GJ)>0E(]@P=V(^);,)S04$1
M,A6F&%>A;3%*P E_>O@)T["#$M$*@#% YF]IED'1 9KT/@%1C?N::M[LT( &
MY^"+;IT8!E%,D/9ZS#'H\4M-@9;PH>NRB^!;0=F4+3PA4J\W&*BH*N6)E/3.
MAG2N,(,RT$13XRC/[3Y3=R/'_OQF=K?IRRX_WM?$SSBG G:%#*L"#DPI2%%P
M^!*XY!@#H)QO@*D3&+]_$;UT1>X=B(L+>1'!XX -L$HAD7D4G<U9"$8JPW,/
MTZ#D0):.HW&$3!2CQQXH@5BP:%!/F6#Z2,M8$B1N(Z1'HQ=P\2.,Q?+:7H N
M&17Y2Q]1L!\E$B!^D6E@MNC.-S\#S>OQI$J^L.'<YGP+5=WP*C*M"A/DYOD-
M225:<YX.1_HZ7-U/YS/)$';4>Q$/QL[+\5@Q02\8!36AW#O8^K=@M#WZJ].3
M&BH)UC JO=/]C'#I@%&I<RU)(,.4[K'907$1R"/[,XD*?63P _@!@YDHFP9"
MG[(/?"=*,(VXP'%A37T=@PC%>*7LBHC%\&U C;$EE+]"DC:7@7D^,"O&,.'L
ML^"K(CQ24"O4>9!%D]I8SG<YHCJNN#J1"EB+(52EYY09W2J$Y?3E_I4N./T
M)O\/J+G1(.*Q(Z01P+I,%]/Z:/ R$C8"!D0N #)6MW:Q?P%XJZ9,?X,Z^4N5
MF]98U',V0PW0'F%?Q*R68#3Q)BV(1CRM0.+=CM+85H;C="C0?0J<@\\6'Y=<
ML?ZTEO[BILW@8DA.2M):6.6I.4N>75Z8$C+Q';YR3*DP-S0ECDFU<"W;63 Z
MUJ"6T1HFH/TC-N)F:+\L+XB[P ,3'1 .QQ$PZ["B/)L;R&L@J4R+N!&6B1_<
ME^KGX1,<59YK3)>[45',&6D ]!#E:]0O61]@8AXMAA +!GF%!F&Q!Z^-B9]G
M8<45HLSL":'(9RII6@(I669:%D!0"0=Q%P)OMG(W+J4$UEAI9[YW P@:8I)>
MGI?XF9DG95,B'),TV4(PY/DJ%F'[!KJ\*+.\1&5R 7_^!JX_F1D*F**K>OE_
M97S,,>MK8UTB02M$F30N[\XV)8(!K''I'_47T*=4+!+'EIJDT47O2?%KT#5
M:TD1.\-2DH;F57PX,2SN.(-U6+UXX2 3,#EA 279N2AGG+0'-WW.'1#5^#%E
M'!</!MM=NP?AAVH=\3!B$8,!,A7D4B"SIQ'FYX4@&[,,J0W6/\F(B["ZR#H6
M\CB4QUD:SR[73$VZ?ID1]U+,"/O3JJJG82$51\:T5V2NJ)T6Q/V!*WF8_DKZ
MZ4!GM4*>,B<P%RFRJ=!ZA;6.(P .6?GP""RSS#+D@6-."J'"GL^9[[K98<#C
M-@RX9(S_,]$3UD0'&KM"+35'CNT#@?R)UBHGC0MQQU;@&GH=ZD1GY&=B)4C,
M"'%A#")@=1&(9./>0/$.RGM$K$WR>)%RP0#ER>KIR5<NOV*F,8:5HP@HU!>@
M9IAJF*:A!_8]*$2X4B4^I_YT\:+Y_@1IC/V;*"US6'Z9((,&*QL10\2,O:J1
ME*@.P>@W:20.053\4=T')EJ@PB(Z)";H8Q*TE7B-.T,;@\S\W+Y_0TP4U:X@
MRD"71/TFX#L:(D3=J1:,FLP<Y)]@4^5AQ"#I>+^/P#2U*Z]L(;#YR-?GB@>\
MA4*/!I7< 16)I$Y5;1^>C&Y(Z8WQJD9'=^R%C02](727);0U_/N +8.HF-<V
MD]",/WM=H3X?#H2RV@QDC"UG8%*0,;UW#%IKAI9P5)1H?+'B48=N9.I(4Y8P
M.?$"5]'H9VD)S(3]'T;YL/HP.>%8!Z>-S@\!/Y=Q84 B!H'Q6#AJLVI.>K?
M[VLZ=<R0M_(0)"_\)\T7CHOX-(,0,E[G6<(I/S@+M4$+G,4[HYP8Q22?XS<^
M'2-9!XY9<4$^@(S@BKH&0AI.*2G)PT.)KG1+ 8\0W[=.92)GL>0(5^1!\6[
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
MN51.C0Y8JC?]S^VNT?_<NC;:__R*CH[DCUMIM"I'#S[*QW[VMAMYS3*]YD6
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
MS6T@0*_\0UY&#_EUYGOX)&UYX2^"BEM2CC*IV&(LE=[G-6P0^Z"'X6-V[8L
MG<<]R:<[-K_K'E:\)V,T;(M-K^0!K,"APH0$!QEI9GG" ?[BCJ,QEX$Y%@]^
M\#W52UYZ\4#WC+B=4 \QW*?JA)O@SO2<_Y@9;S?.&[)!8J<=N6K ^/E-[R:9
M1)CE Z@)'81@8)$Z1(K1P= $VV'Z?I8)\*B\]S64]\ME*?K_#ZNG^,79]@'U
MI\7J'%RR?A7R@:C&U@BKA^SX$AW"E@-M7X0WH&)G. 2Q-\Q0 #H-,YB0GI4I
M6X6I.$ K(8L;]$2C<F5\]&&)2C+0+O?(4QW(X';>?-CDSV0B9D+0P_E/.5SY
MAGZ!F4JH4(5HL^YNR7.H4,:)T**L8-1GY*.U7I'6O+;E*QSW)A&I&4?RE,!J
M3,G**%;Y:CXBIRC*E(. &QGJD3HF!20B'.;Z'38;^;XM[VP@S>BVA-JBFKDS
M2WI?H@8V?\YCCNPG2.^+P5<YRB;"#Z?+-"=4_!9Q[@M6J6+.P >N25-@GX>I
M'F?XP\'*NH>1'(#$4H0,1%58RNWQ]1(Z*9ML_Q2%($M7<ZLK"HT]='8@!<08
M&X&54BX&5@5QDA3)K92G@40872NY5.:%0Q[3(ST/-&RINE5\B7KP+.0O"1^B
MZGDYNA18#EE[%-^ZH]$1\(B.>) ENS/<: (BFLE6"7AS$ IIBV-=FH4E>3:W
MB4@X([DQ[F)4+X!8<< %[U$U^ICC,A;V-'W 19=(&N,YV >4NWG*@F55SYKR
M<[Q?-G0?M^]S8+(RDU_^GE<Y_!L:"TN\)YG).;O<XQ@"RW3E+2-_LHR-,\T?
MTU\*I^.![]+)3IL?=)QK_H"YY^IH%*&F;\A10FP$I9*X)&.=0W&%FB_U9BSM
MV7]V349$+$\%Y&NN:)/Y-=_@I1Z%?V'Q4I?SF\0F#P:D3I*7'/-.28XYV-D&
MAQMBDHG"3!--,SG[ 7&T1-$215>"HK?2%1 %:AP%M=P1]RB009\:#JFY",EX
MV>>2\/,!,!2-X!(Q2\1<"6)*?R=PRKL G2U2995)5\+#G.J4=:%UU!C':%K*
MM5%]3AS@IQYZB2UM7E8!B7:KKE,@YQ3::EI!7V0<L"M0]ONFT;USO@S9>4A:
MFL_SV&4ZRN9D5J SD&)\Y ZD19-U5#NQRH+.1<1Y5+L//6">&Q?IC ZRQP=L
MW;MNTL%#3B]84W!P_K_750V>)/K-.@/#G8X0R!Q3=,_DH#Y[<618*MTZ)L]#
MIRC"HO8N=J:C5GYZ4;9W.WT;/87IYD"RC(,\6!1LD#[Y*7N1IND^.-GV0<]W
M(&X8>!_OX4Q)DL=5X__KMGOM[N_MB_]_4]%XR1FDQRV50GK<JAJMKQ>=OG%^
M\^5+I]]OMXW+SG7K^ASK%WD$TX8GD[XP2#A 3S>GSZA&ZR/B![)MGW34?@FJ
MQC?'Z,48./=$$N*QQ420JIA:8"\5;=3N>)P\C&W.1DDLK]8Z:.;/4)%*BZQD
M4X5HE&6W+UVT8XX5R8.T2+W1D9L*_%DH#[H*#<G)=-*W.Z,0I=@#ML8,5#D,
M,D?V;=,\^4R\@3M_UT[P$)GFW?] ]6P<NW=FJJL<#G/9,%Q:-AU^U'3XL7I^
M<T&5O^W^Y\[YIF=POY#H/BJBN\@0G6I#B%$#FVA,-\+#GJFQI P!$M12R:38
M[4.$RH^M:;"B$Q7Y*^D @TJ!4T4\J?D'M*:<?LTE1+J>@]1=B@4G29*^2@;@
M/\QE23*IZK&U*ET2I\S*>,9\OB21:9PM]C!,L'7XEL1:(O.[2,?KJ<7-5*Y/
M@2L_CN0DF H]YV2:!-F??EJ9Y0I&@X'Q8567:E"*%CK@91$N<P;>5D>K'@)D
M*'K8#(ZT"62DG%^1'R?-$67;1%*2#$P)TT.%WJI3_VZG\9V6:7R;*%[.M7@Y
MKQJWW0YH=;>@UK7.SV^^7O=;UWWCLBT[EZ""W#G?^,JA%Q8J<R]W,LV8O@7G
M%,G*%_/N#I.<<'H)<ML!-G&.Q)W/(T]8*J ^(S""327YGB=GY'"[]D2@# 6E
MPJ O1%4Z!J@G2AOPM_\RQY,//?:PI-/OI>%&RAEV&5"M KC" /5-SO&GMLRV
MPS5]$VR-JZ7,4"3R4*X3SENDJ;7X0H5AKJEONV(8K8S9KC1<.@*=F^XDW@.(
M'@)S*2[5G V5Q+#Q =XM$ .) . G.YN+XP[\*/+'>=( L-Q%'O$_[X[?+1\_
MYAI974J,_X;E\VVJ04WEQ67YU-L\^ALZZK<2K1KK0*M&K3$W!NGP46RZ;5U<
M=*X_I2_[87WO7P)\!0!O%A7@N\A24NB033)Z"5*M 9&^]OY:!*E30FS3(+:8
MJ#\,P"J_"_S8LP_@4?W@_5\L2XCA,&/*KR8JSXYBLA'VZON+4_WJ?WL#:;?^
MG26*#X<9L?=\M X0J'"V^E&M4JO5"G"C7=QYRZ#X(LXQI/^LBW,<J,1QY"![
MC9*!+ OU#@IPEUW<>5GPH_!'X\-;WZB82D??_,$,HUDRC))A;/;.N\PPUJ=K
MN&XJFE$0R&\^SI4\8[/AMXD\8WU*AA^9;D$ OOFH5A!3>$=WWC(H;GB>S@NS
M&V=R<6=2&R>!.*!"SWM3UM)/=9J'\.YT5X3Y!&/9> (K=Z(D@7""><H1K4W[
M8AJ?YWL'_"^5?5(UOLJ<9">4NU8,@+XUXIS>I <0-?R132>Y9Y@^%'S0IX03
MG';L!'+.LSJ@I;.B9=8)]QN??8WD_D*E]V&:I1%0]C-6*,GTRT?OH_I$I!)T
ML#LY?4;V%J_P/P^ZTF.E6HY7##1'=0/RI%&I7IONCK.:!T(],Z?M+(9(JAO"
MV/SAC.-Q^J*V3,I)KVLZ-C=,'<-J(6=.4WLC+ #.?%>>BZ^,G1.22_,P;^RM
M29U1]0W$#Y"ZN@!L\8EDG\W4FRO,E$G;,] K3)+0#&-:<BN%)Q24I5][021F
MW<>0E0%)B$C5 (R%Z86Y*7*.ZW(M *&MK&48\AAL+L/#X@5$-S]X1EY<-AUN
M-@N.68!B,IP9G%=T6'UV9/VM7GJ!Y_PM 9[Q["\9\$D3.6ZFS!MI#%@(>-TO
M.E7\ENI<([,9J;.'%#\I-%$M$A3"Y):G4H*^'@LBFSQS^<X<-535JVC9@<P[
M<$+%9^EEDC[521609-B4@__DFSO>O>_>B^0YY-"+F9NJ9%,J#8#-)KZ7;JB9
MK845LXETW&".K@\_-"NJ&M:Y%^YT ^@GWY'\1O2CW-N/4(W]&-DLEU'"8=*S
MPO#?IDT*!&DH\,^)"\Q3EW]N@X:^[$SZ"YU)?U$UVO]N?[GEF8Z7W9LO--7Q
MJM/K=ZX_&;U^Z_JBU;V /]UT9TLK=RR[7A4K43M U0*2*Y 1Z5/#861=8:J4
M<&;TGIX99MQA35 R>R_DF5!C\P_LCJ.+FN0T-N3D_H.G9@3,=+'C.J6*.D"_
M>EXUKD3LW56H(HO*/C7S1CLI]_OJZRA$8K)#\*-#F@88)E,TDG:85:/'0P?Q
MZ"31LNOBVUC9MY%K!P(;R-(>W&!T9IP6=D$;8'\'G!?$TXV45)"5HX^\(_=M
M3JKA\B8O\7 C:22\-_;,_9RW3^I>!VES$# %QX^H?H;:QE%E:/FE=#3I(:F]
M)2&.-:HLP*B+0T[%+;<MW+/V]:] H(_UC*57K;EIM:JO)%;=T\.AWI%/3\5\
MG#0UJA)$:&ZF/3?4E'!"=E3 IBUH"O,*.)X36QIP7P9J+,FS&KFO)AX7%DKU
MV]TT*"U;4+6UH&I7C=NOW?//K5Z;I@VW__D59PW+H<,=^.7';R2Z.KW>UW:7
MJL!:EY>=JTZKW[[0W^UNNM!Z](5[-!2M*R9Q  @8"IP;=1>8XZVZ[(UGM$ W
M=(WZ:45J]WY^IP/=-Q<=DSPP+DC>9L)OPYV_]&_C"?ZBT23'\NP\U(IJ,I"8
MBZGEY&Q<M+62'K5?>W]MUN1B/#M3MDQ!0>&Q<KP55 Y@28VW)L@<+8",H;UT
M+P1+\VB)8#EZ$BQ+[''U=G"YX-+(E.]"CJYX2#^[[,[XP\&6.R#(CBKU9E,I
M,W-3@14(]<?A.4\JS=-&>A#! L!6E]X_K"QV?ZS8_:PL=G\SVD--E+&/BZKU
MV+503763Q($38L#RL(4*_.141!>%8-95P+R #/Y2H_^D""$_7+Q2S]@M@:=0
MY4O/?:W"EC:"^;T2%-<;4 :-X<6JL9249EH$%JQJLL2I)>#48,4XU<+6_'=*
MS:2H]T1(AUV)3]N'3]8;\RAT0N$$8YH90I-N,+O$\_S8L^"O&/J@N;!2V<[-
M+2YQ<+-QT%XQ#GZ1^31S6*@3?*:"9^QHK$S,OJ)CX(J3>Y>N:?YF>NA2X8!V
M0=(W-S]QM%FI-9O/PLI=>MW-AVN]>GA4@K4P.Y?DNIT[+PNNC?IQI7%\4D3(
MKKAP<.EZ@HJ]E(K"<@5*7GU)$?"SA.O/*@J')5@+LW-)KMNY\_(4A:.M4!0*
MX%#X8@;6J-02ELQVZF]?A;JC.R]1(Z@7X#J[N'-)AIN_\](D?>TP3](76JH7
MP/RGC-A2JI?MA+9@YQ)^F[US";_-WGE9\'MS56SS3//2?5^RD&W8N83?9N]<
MPF^S=]Y-$5X ._RWV!.E#"]YR!;L7,)OLW<NX;?9.^^F#"^ &?Y;[)9V>,E#
MMF'G$GZ;O7,)O\W>>3=E> 'L\%9\!S^74KSD(ENP<PF_S=ZYA-]F[[R;4KP
MEGA/3")JZ5X*\I*1;,'.)?PV>^<2?IN]\VX*\@*8XS=6Y)=BO&0CV[%S";_-
MWKF$WV;OO)MBO #V^+5_7YKC)1_9EIU+^&WVSB7\-GOGW93C!3#'U:344HZ7
M?&0+=B[AM]D[E_#;[)UW4XX7P!ZG:1$%08+-1S^:>5> ^^SBSD_ <-NNNXL[
MEV2Z^3MOEZ1_DVF3.SV-]+3VK#U3H"BGD2YMDY^8PWZIY[!?5HWSSZWK3VVC
M<VUTVY\ZO7ZW==W_K[^<-NHG'WK&>;O;[UQ^ZUQ_,EKGYS=?K_OPUVV<N7[K
M"IQJ' IAP+-9KA_&@9SARM.P.I$8XX.I*<JFY\6FBT-??9S?YAF7?C V&K6#
M2QZL]6"&QM!QA6T\.-&(AFGUVN?XP2_FU*@W>-CY5LP*_PE,_*0Q\1-@XDWW
M]J;;ZK>-3S>_M[O7K>OS]H;C6H:--IO5DR-<('?K?PD#1VR;.(\;6)Z'0RCO
M<?BY$X8Q(""BD1PG/!:FAU/  16#V(7M)[!W[.*H]/3PMIZPXL")'/A ^X<U
M,KT[8;0L&C98/VL>&GOX(23U1NU#^@/TJ_J'_:KQ45AF#&21-S8<#^LZ(6X)
M2'W=ZEVT_DECR/$/83SX0\!6D2__(CE*:%A^ !2#][K#4>V>Z5DX.OG/V G$
M&%EWU>AX!DK#R/&]BC&01Y +.YY>P%;3E3_^WN'1]+EK3P+3 C5&GMAT0U_^
M%1883''RN0M*#LH/6,=PS0<@;9N6&XLQK.;9\9A^9:(VA*\-[P<H[EN.B4?<
M-!)^&4H"!@4 %7<*:.GBT.L7@W-[G^?:#&WS3^#GP7<1 7^#FW>!'(VCX]K1
MGK6_U]C?:^TC;=X[MI#S%H5IC1396/X8>-O4&,.*QLB\%Q7"LP?'=>%O7N1X
ML4 *4G\RS!BH K\V=J)(D,(#2Z+D DH#?0@Y P:"@(;DV:Y@)^04\ESUHSUS
M?Z^9/=<>"2@+E'T3"$K\L,0$\1J>R(\ E*ZX-SVB9*0U.)?EQB']7?R8 "/
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
MM15@VK&26L?KD5HKO$)'MO%3_<5OL6_AM$36K4'6LQ,)Z;.33456?85SUWS
MYY-8JKAN$E0I\79;]9EZK6Y4.]>]_]YXO>7?'[M7!K#=B+K:7/A6C*'L$FFW
M%6E[YY^W!&G[Y@_?\\=3,%@C[*$'NF_/&HFQ66+QUF/Q>>MJ>['XW'0MV:S:
MN'*\[]@"O\3IK<?IBX^7VXO3%V+H>$Z)TKN%TE>MC]N+TE?F0+@E-N\.-M]V
MV]N+S;>ZD= S6/26%1O^MW'IN$EC4B<T6EQQVUW4#FA;"^IXE<,GIV"]EHQR
M![FM9J^.IYN:4S>X0 RY62IUL+MW_#ATI\:0 $^CFW3J?N0;.8G1A ''!_]
M;+CV[VFHD]&L53 [,WVO9Y8HK^;2C2UYX$LQ"&(SF!K']+Z-HKQO<]/?E[HD
M\G?@F5OQ'4Y$J9]5*"I8E%<^W/17EEC<F@2.:S2."(?/9E_W383H;G=T.'K6
MGCO2T6%FRNM*])J?;0C5ZWQZ]RO\UW6K_[6[75/]:M4CQUNP\6TJKX.'T%'#
M=]VD1B>$)/F+R?"]]@]K1%-P9+Y'_:QY6)F996=@XWC@=A8GIPC9@!RXVE@(
M;([OZ@F8F;V'U#7<I8[+Z;Z[W*"35\ YA';LXN2=.)1URV8<C?P &R=2WW_/
MIFZ2<KP?_I33Z 9W<&#/@1B9[G []>Z5F) X_ ?(Y'_>-=ZM5G;J'AA?NS>
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
MJQA39\%)(&JJFQ<V&)OIB\X:)!&+:9OF>&P[MAEJ-ZZ2SH/C3-(LO4 4,E8
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
MMAC=-S'G7ENSYGHC/9,X40+2"Z^,TCG6.F*]89W)FRB1@1<7I]LX[FA5L=[
MSB1*E CLHH-T&\U.M@&GAG>=X)VU.!<.[VT@M]LX:;Z^&MLNH*N#=+4SLAX'
MK4E<^8/6)*[\06L25_Z@-8DK?]":Q)4_:$WBRA^T)G'E#UJ36#DCS(Z"=/]I
MNI'ISPT6HMM1X=A4QN<VPFTS-37V)-RV5CA8G'F;1O:MFM*S:*I^F*P">-!(
MS" Q4TFE=N&M"J"CKKA<%9:ZRTP"=<)2]ST$51&@K<#93N/[%0LG50 G&J&+
M".WL(D!?B3!0!4"AX9B!XR[C[W<<OJD +#0@,X#<19B\4F&7"H!#PS(#RQV$
MN9<7+JFT55Z'1FH7D)Y9DUC/K$E<NYDUB2L_LR9QY6?6)*[\S)K$E9]9D[CR
M,]>)Q&J&1EYY/EV(:XPBWR?N:&Z$OND&CHGV.-/Z/0K"*7%#%0Y09:1N;/(\
M4& O=9RY:)-UK].*/<W@_CWC%^N<WZO'Y%KUXUN5VVJK([7:ZKPN^G#[C3]K
MA9$JH_.H5SPZ7Q&1J)&ZIS.7@-23XI&Z88BB1NF>SEP"2D]+X*<E!CB>:.BJ
M,7/QT#TN4%#=;9OZ6@&ETA!M%<]=-XF&U!#=TYD+S[&A&&T7C]%B B2SV32M
M7HV2::J%PDYA*-PFP+)]WK>*K[<&.!9K6[^+_-'$#(C1:C9ZS:818#(ZE" (
MN?Y))Z *J")HW?][HHWK^TV_Y6RNG7YLQ<UBY1T&XY0]1UO5E0)'E6%YW"T0
MEMJ<7OV9RY 0CPK$:"FY_JUL$I?63M3!W@KH'1?)'M]F'=>L<D]G+@&NO0+@
MJBWB-9BY3G&,-9VY!/9S6N!KN;DE63.A/9VY!%VBU]P^1/=)4U SAAN/^V!(
M"4%!0*5@*@*S^&WR _Y-%,'G_M\,;5_>;_JM"-Y.:ZIXH[["A3J7[M,ENT[]
M*;WE.G9;+8A4&9R]5N'@++J8;#<;8*  Z>HX<PEP;1<.5QV_7>V92P!IIWB>
MJ@W4M9JY!-!V"P.M-E/78.82$'I4.%O5<=L5GKD$A!:OZ6M;>^5G+@&GO:)P
M6DUU7LT0\/YLYGLSWV;V^-"CPW'YRO"9@*4(H/?_*FGC_'[3;X5Q/NT83]VI
M1V]18]&&>:7@465@]DX*!:8. *_^S"6 M%CNJ4WQU9ZY>(">-(OEHMH,7ZN9
M2PB#.VD5@MBBVL9EX^3:39U1HS#T5B"O72BO+*Q#7 [@%*!7'6<N :.=0C&J
MK>N5G[D$C':+P&C5X*=FN/LM"0T;Y78X;H/*],:<F+XBV-W_6Z,-Z?M-O^5=
M-9-\;-%5D]XEI@+?>$&@+>=*X:'22.QM%XG:5%[]F4M Y<EV4:EMX]6>N01$
MGFZ93VIC>*UF+AZA24KX^Q"J ]!K,',)<&QMEV$69A%O-4[:NNF"(C,7[C.D
MP&QO%YCEE0;/HE3["M6!W K$=;:"N*WPNN,C]1R ;XT8KQ@0E;T"5=MN'6?6
M)*[\S)K$E9]9D[CR,VL25WYF3>+*SZQ)7/F9-8DK/W.=2*QFB.%7TS'=$3%,
M[-9V049H5C4ZK88!AC$5#DYEA+X_0/>HV5TT7K(BT]=!$!$K;;OL!X/QZZ/3
MEEDRV3RR,;/YX4NO<7)ZVCCIM)6S8BHU\VO,_W\O,]S[*(,F@,7$<RSB!Y=_
M1G8XOW9'3F39[M.=YV/#S##T[6$4FD.'/'KY[I8B<;C:H@Y,2"-Q#Y&8"7PL
M$8E%5_D];?2.-8=4&)>K<EHSD68E K.4-G(GS3IEO:K* $\S<1!E,L"WA3^^
MB1GV.OJ)WD^$9E6/XA%:5.Y_#,=.5[_,^PG'3-)6B0RSL/#'HT;WI*4!N9>
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
M <Z-IK?BE<#+,8HVSX1>!F9-+%D+G1#'RCG*#4T["6<M5+G:P$2^V_E[NU[
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
MG8,LOY4N OAH!((P_0'D2E8P9^IQR368T*.<>(Y%V*S<H,A_HX6@&K ZB2&
M<A&;F=7F>QLV=U.7G_V;".40;?Q>Y*<\ A0J=KR+I19_T)PE\QR]\9+!\R&D
MO(*REH *1A9*/J@BB1B\_L-Y''YWZQT:G7:G(8S<,B8.#':TQC?N9: ,Z)_(
M.?]%_TZU\H /8]ACXX4@;W8]QNEFOHU6V2%Q"5V S2VTIO&OZTM@-Y:''T4Y
MRQ2\VF&=[-A9H&HK'X4=H&I+&8(%_'3D!6&LO(],WT>ADBGO\%G3@B.'%GJH
MF</U<="!P?7COP@>_<SW4(7W0,9C7!$U49<*B<@\'2\(J!9)^0I^B =7V4.6
M9D1YO<5T:\M^MBWB6EP/-F<V1$5:=B!]F$Y-[&<0)?]-^&88;9F-!,O^S@V;
M2J>VSZ*L?*;],T, E8O!.4^/TB(CGYA!;&<%19JDGP+X_F$Y 0ZEV+NOV4[!
MF@%O++JAD*3>BTLL<3T27]D+F*$IN2DE(W@/@8[L#:4_CN(0FF4 @+GP*^3'
MB!# 7![.^ ?3=S,Y_\:BF3W[X1>T1PSIS%$PH_ A5KS()2L;1SY" E9'#Y$-
M )=I2!)L6U0.<, ']P(V,.;;0Z<6*V=!XE$DQ2N:P73P(;0;BI-$L+)90 F;
M9GP'.=R)*E'I0>CB1I1KP_1CFSWQ:[:9^GKL.XTM6'1"TPDV)"8_*K1'(B[@
MN*2SDBQZC%ODN4AR:&<&"=FTR%0#D8EGBV4>*[5%IJ-4H#G=@[2%:[&#[5B0
M<GS"HT[S>%BL2'4%"HS0")G7P4_;_AL&?8/QV@/RV9O1@&>$<8ODZ92?_;A\
M*+WR-AJIO9')^:B' 9>IUUFHGTQR,9^HUO4DN2)RQJ8" #W[F>=:HK8_Q%C
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
MR1,T/9ZS]\:'KJ14Z^Z/QU@5CIM$OO[KVKB*M=L'XC_;X("BRYG: 7,;81"
MO/!3MG!C2$90S9\U#V5VT-A=8&/W98M'AYA34?&/[S,VPG@IY.+WOS_\O7G8
M;!DS4W@<>"% 2A8JH\-XKK?LKX?&HX^QG'/^:3L0\C,/UTS,$E@XCQ4A.^0%
M3ECJ5&8$*A4& 84_HQ6;EA4I9Q7.6+D];JMG$YC&"_(H8AT(\P?S&U;!]DYQ
M/!B%'J#A!,%PFD8QY*:QPPMF3M+\ 6WG$%'GN5$@*,Y-8#Y/$_-<L@ *I!ID
MY%'Q_\7+(&9"'$J7$:49VG=6]$7/4PNGGOL "V4LXQJIG&8<_6 PAAT>M)H'
MD.^\21-TP8!2?=!;C6:GV3@]RNF%#H>?7 !>^Y[AN2)P^6;Z5+OLH$#3VAI8
M\O @H04[Q+T9+^V,M?P5>&G35Z9S +6[WHR7=J-YW&J<-NN'%[#D\Y;4PK,W
MI*^/C)* 12(,H9]V8MST"96/S;C]ZF*K;=EX2SFV9&R80=7M-->1;!^Z9GX=
MA.C;57!0VMZ9J0ES:?H0=!3<$1]9B_IFSB2*BPM5P9KKF8AQ"^(:%^B,[]##
M?OD'&BB.C0S"CPKG8$.;8>C;PXC=/"IM7D:^9SP2^G[]ZCD6?EB\73<\FB15
M[W8X-RS[V89/I@R:KQ^6]^02DF3L2*/OR)#U"<C(SU&(/;A0^LXZV))C9J$L
M 8L 6W84PBIL+Z2NOVU!#6XU=O"4BIZ-)6LY#IL0U),DQFK%UX0F4(5W=""=
M!L.^"!='YS4$N;N05I<]H$2XD"0U_0K6X!5$Z?: W3_@:,0-E(]K.<[4[L-7
M[RMLXES:PP#1C_'//+L"ZE*IVR]2:LR6Y,[(1$GE,@02Y<P7T[<6ZXW$!=6E
MU%FA46$',6:O$<8,7L:$Q3VRH(3<N>,LB&=>*"W[V$0!'RB=1<&CN-EPO!H\
MQF+SR?/GD_J/Y6P9S54L2AEX6\ L6D!;RXZ;)D!+&C:=M%'&(?.WN#8#!!V@
MT$@SGI&=0EQ0!_ &L@6L4D<)UH&3WG.<SDP_5+P/U_%1RH[.5W['%JXL>UPX
M8):9/P;3L_#IQT%_G_'^X:?&F'*!<J:48H_?3=F)N>S-H[,XNY";Y-)5^5'
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
MD)7&]SA KD[8:7[H6:@RB+-'\N:0M@//PB^Y(%GA(R-\; [[/O H#/%1:RJ
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
M[N.7[G-86HG_NT$Z3[?X0SW;*>X8G3)J-MHT+7?8 C\W6N=7+7Q!XN1^1\=
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
MJK"0.MOED3Q=J^:12?F#43NAWE#9<RJ+""A5;4'1M]#5%A1]4Z%O75;ZEO%
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
M$#Z3//MDV%XN_X?9ED:=\;;\<28=?Y1TY!R =K4GT-*3Q@WIT":GSMQ9'ZQ
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
M.'8BV$I WO;(BM5(.@!9]<AIP7^N-P]"5NOBHM*XB)=478.L"H9*:G!"V?I
M-#CGAT>]B3T=<4\7.D&.8-/,H4X-^#)\P(W+!<0FZ EX:""28C(>L1:<,/#$
MT<-+&ZVXE3+2Y1)I_&5V@U<8%3@J<6C?R0>.JDZ#A:>OZC0HA6>AK %[:M.5
M%]V?I=!__<NY#-LD$S93#SN!6T\LFNN&WR&X>BF((6Y ASOO$J\V%Y7+JZO*
M96.S[ZY4A"\TY&+^P%T@MY/S[,0@)V?PA0AL\N_(, &X/[LVHXZ'1A:DF23(
M52%.BVP6,Q[T?:IQ1O-YSF>03&1[[;)1:27TZLH\B$G!4"(8QJ*#=H/AX?*^
M=G%9:299Y:6*I2M\)6X5+Q=P1*RY24S_Z<V-TYGIW1>U=J5^M7MK'M60H>SX
MC34:W!F_:2CQ%_5:I;F%$B\#?K>*^3Q*<9=DUU.KV5A_;)].K$R37)/^TG7E
M%&-E5@S2C_C5Z71J6V]84]%WK]MLZMG#,4_E,JB)/N#.U-8-$;3E6M$'O"E^
ML)+KZPE=Y3#@YMY\8Z9KV;-O_HNT/RQ+6Z7*59MGC>J?6/;W3PZCYW#\;S"_
M1Q[1LV]8;+VQ(BQV*2*@P@,&8#?HZZO-7C&P8+Y+P 0\SL"T7#*Q;$;<,3RY
M)C(8-B8F#K>5@>GM1J*(;%23-Z3"@W02(J(6-PKF[!D:&<RW1PLB-:PI,PG(
MNY_,)2. *@<N#RO _U(G^!O&4@T\1S>9X^ 6:+KH)/Q.;9N:[KG@D'F >0#D
M.2P1RRY/_K!&T:=79R-<Q?*_=U*ILB-'JU)+N@OC'JT!5TP,[W3 9K>:6K5R
MD<1L\UB4)31I(HP/=SJ,0.><B&$HNL831A ;\$TNQW[!6"XS9FO#\FM7\63D
M7:52FH2/2Z6+O?(-@/#Q#HB[B]LL%U9+SJ182BH@85:!))I-H[G4F.";/7QQ
MJ>OAICXSA]EO[.!X&N*G4#"M _N*O_Q9:]1&S2S<^:OTGA;H/=^>;W@X%U\<
M$H:O[C3UGZW"N[X+ZS0&##*#O<$9P_? H.\BL!?.>\\(NAKC8WR'O $(()W:
M08E!F_W;TVTX>^!$X[((U )4$R@9PNV)PB$X%;4DL6ZU.$MU.X)[@OV2=7-H
M^8?BNQ6APL@S-8?HY^R<3R!&'OX G^SBG^&GT8B\,V.$4\2'SLG\Y(RM8X@*
MCN$L+B"8/N7)JSAUW7669PMOXQ$B\!W0B-@O.)$=E$U\R/P@LSDE*'(O.S /
M:,&VT(Q=DE/RHWS4/R79%3+RHR?B:L.-M%"R $Y(QT,)(+C8@#U&1!TJ#PPX
M%[@P<'F1#'>E\@;*27/AI E)TAGR5'(,*.9?&C(G_-L3<^\Y+WX+1<RVAU!P
MT"\>9G= ]N"DW[JZ;2U^L/]UM;A8(<-PB0;LYG L?H=+^'",=2=7;UC,,_S-
M&P#AOKM^!=AGH 1S7*;=LH%[0Z<ZW Q>X,@=8FF,H^Y8:\V. <IT!\M!:""6
M^9S/27_UOJ'HAEN7AXO&&Y WM<2U2]SOX2XTF"V><=1SQY8HG%M!HEBCD8/7
MK^'0FR"^X26&Y6"R+F:(6D@^FQ=X29Y=A> X.J;9P/77C9 0IH7=>? 0P:L9
M#$$FHB )KG4-85L+G! 6Q0U&]DEY5 K6X_6<UU&PR,K37C(2E$I]Z(9& M"(
M_+1_+B;@ON^,X/6!"A(1)A23IIWE+!!-1P3"^$$1H@I@F)H<PE0#V(/4] T(
MQ$].]TQ.JLA$AH:G81DC73N#U_NDXZN*J\5^O@3VC>3HGD;.#USR*S/ADFK
MC13XBDUY[Y)0D*/ER!SJ4T-P((R"'ZZ[X37:\>#^G0Z(I HDAS#*GE:W2JVU
MPNY&>49%+ &=?,2[Z?6&S8F=!*EM3D(F?G:;TUIA@PM,(/5-^Q"S;Z2V#XLI
M2EGO U _:1\^J1O%03>*XUPIXG=1=;%([V*Q]35]G7$@>I*!NJB[RRIGPE=0
M\;1,..!0^W3$M'Q-</EQX)J@)P,FRZ%I$B/G#=\ ,H"S<H231F43_L,F4\.:
M,3BQ81:Z(X;3,5';/--T/+ 'GF!/\2KN=>%ZKZ'#%FFBY(SOMEC>2K&R 36X
M3K#RV F-SH%:H)L)6D!0SF:=S3EFFLWQX'Y!.OQ3D.%PP7RUGW6Z$6_#DN/Q
MG.X6U.K)>Y!<&R>C&DUEKW]SH>K?J/HWJO[-GFZN:,$N+J2C'J<$7]1E8W!Y
M.=R8]7VB&G&>*G%WE:-DB]"OQ3)K*\D8$JM0.G1_G9<)(P8,(Z:*3NA/'J8D
M3)D5\24M427T0UI0>]4\H;Q8TR#$H((FI- $RBMA^(8A7\&,*Y>KIYIHK(T:
M:E<::8&Z"$JL%&PE&!BY$L;3(/V"*,'G\#3[!0^C@4F'5SB@$SD9F&PO,S79
MSCFG&VQH'E;;O*\*\=BPS*\*&W9V/RVY6;U,5)./6C5R981'8P&Z?N ,[B=L
M[.E$KK:QRAN_#HMK?P5- /)4V&O%Z_[.J]/P>3]9IA54 A;[WQ5%8U6WPS(7
M-:E5\ZAJ\B.Y5F#9>]85$5"J"I*B;Z&K("GZID+?NJST+>.!H#K>*MHIVBG:
MG0SM5"G",E3%4YNN-KT<FRYG_<?NK^&8FJ^,O&($U-_(1_3V?/)-G\??-)F0
MNO/IO;FTQ\5B;F1 C#^ %@] AZ=].W3]A]F61IWQMJW<SJ0KS5?2D=."W)H"
M81>-O3"75D,U#CR8*OP416"[O;E>V*F7J"LHGFI[X2DA'#Y-/%UM40:Q>'U;
MGS$TP/#]EY) \/3!OP;[,9>LH(#O_8[X8S/MM+EXF#<NU&DNQ\@Y # 6&[\3
M %,]U$, -N-GN03$*./(.0 PEE6Y$P!3U0)DEH!RWO[_L."])N_;Z =APJ/<
M#%S[C71Y$A'_XXLWG5HV_'<X9A-&_EL2>&_G))6 XU(L_;R&%1<C2.>T?0E(
M*XLQ86WAYS+(907<!>!>[07<C<J+ JX";K; O=@+N-DH/>W=2XL? [[[&DY*
MP4CE+7)^68OG$,3CV?=VB&1UC9"AV+G"<>XX7F,.OZP? N2,O2SU/;JR+$#Z
M1#TO)8/G&G16#T%G-HI++>ZJD5',;M53XN22AAM7Y_46?C5QT/^.E'K#*O&8
MBHE%WQQJ^%5U3(V\8UG>N?GH%4O-8V8N+V_7,5W]K#O5-3;1A^2.9\B*:HH1
MVY.?!_S5,E_)_^*_7J: %6J0CH:YLXZ+X'QC!+-A,1'8$F7S/(>7CIC2&>;F
MXC1X.?.P^(VHE?](>46\OWLFXS4#-A07.4H"9<R-)/BP3W_=ZL[0L!S//CA_
M+Z$P07-8JX+BE5^*Y06Y)O=^327ZJ]"EL9^LL'H4_46H;3DL*+GX'<0B, BF
M'PO$=C@@:,@9< >:ABB?,6H["9EUT7H8076[ E;)7&BX LO\!D<$Z3@ZQ9_T
M$?#1@S[A^XF%LM@OX/Z@20;]Y==V$-O^!8L!.&/R#QV%/+EW#(JEP3^BO;M>
M_>W+/^[Y3[7?\BR2E]<VWE&;=+%\<EBW /$UE[CPL2@@AF#%H@4VUD9;4[&@
MV8SW@NB.1J*$4RB^GN$MSPR$#=8OX]3HN'<,NT\88?;]PL.[U:CZ^K\[%S"X
M/$\N86#RNJB.PW.<@]T037K6E!R 78B5YOK&OXRQ+[L5$I@O9L^JCZUV8LV
MW];V/($55/.BXQ9+W[YD=OM\%1U!4DRIS=6*!)JBVK&6I*WJU8XDW0*?Z9(4
M11J>"TOE,SZ*"J=K5A:KCY$5J5=6.TV-U)^(7Z9[0!W=F?>%\$]=%&\CW:0F
M5R1!=[5L43C8LZ<6KV=#-2X>X;.1%7X-]Y*)J@D$3I6)0^!Z,1SSPP6;5$4
M!5\".8KE;O W?$=4B ;C!#63BW>D=#W;(GT&F].W*19P(!]?,/1O3/5/X:$<
MG*[=?O\E.%XKV# MJ/DS0\H%IU-85L?A^XEEAB(EGWS-$6 W?^U]/WCKEL=6
MJW9\<8<[AQOG[UNP:_Z>I5.3Y^."8KA&*#3C70!R/\=SV!!$'58N](OU<[[W
MB_0/0-]^';L(N7=J:Q6BC_ 0J<0$C,[+IA]-O*QFAU#8@&:,$TVX)R #DC'5
M>">^^2BX!61(;;C-:\$&X!O6ZSRQH)]]=9[M"+_7X1G:/S_75I5==0A]M1D+
M31)8$=@0*K!?/&P6:>^ U!<2/KR;P7_=,2QX@F06%[7-U=9A_V+W_7T5C%SV
MKY5<2WR[FNH@<&/WA VK7:D[Y(.6:F-%Z73R@E7>.,>\ZX:!C*S;_%;?$L0O
MX+TQV&,R/^V7C_:7;C_%DWW;4SRW0VMUC6A_:P)4'NOXCH4 YWY\9[D3)3FW
MBR<Y?NB_<!.YO:YKONFVQ8W]L.L($=,RK-<9N;'.R8.KG8?"1'PK?WE2/_ZM
M0"P=]VMAN^:[=6/!5N4L7EK5F'TK=_&2X\:41-JLO"7X3)O./:%5W57S2XDW
M]NQ,4*DW6G+=%%K5>(>^/6\*^>Q@8U53^"WO"O74[@KYK+=53;Y;;GU94$TN
M,FMR<:F:7*@F%ZK)Q9Z!*LG=$=*,&-FQ2>83O"19KWF@[V$#;WTR-1@7]7SB
MML<[1(:^O^2.5@3D,5;KQ[8%MJ\ _IW"XN'.P6E2O>0#A*VSYHI [%6@!<!A
M F+!)&/+X&Z181"^8/,XJ7^!]LP[D,'!X(Z#A[9VO%^T:KG=^!.CB@[K:NR9
M0!'L%0!*J[^-L'(7I*X[ \7T%=2L5]P!SXSN-A((=LF)7@']<G7.XOZ+KFY!
M5U1.']ZA 3>?OE'=H(&B'+X?=Q?H$89(H-\8.TK\@G6YS)AM4-%BQO#OT:EW
M_9G?Z@;^FFWX>BO<__:'S]7SA)HJ<&X8./\].X7"<F.VZYV7FUJ0\P[+W5+]
M/)R6J<7(;KVX3QS;.JH6FNC<,L!6AZ)7"8.+*BX>6^?:*&@,N+&:%@PT8C9O
MA1A$28WADC-@S"03JK'PWH+\$[8&7I)7*.V0M=XMS^"-3Z9TQKDK[*"]P&)<
M^&(87- Z.,)SY^0V\J@CYF!YG!>GL+IE:6PSO\%**!BXDHV7X\&"D,59+$W[
M1*WTC=;YU>I(W>4P.3SM8OTO!]01DG$>]\5#ZH#&^-^1;K 5(6&PWYYMAD]W
M[_O^1Y7%QGT\7AC/.\OD@<+^@?N1&^L<#M:_D2'@SK\:ST,D88H??9M'Y!G>
M\H6BC<\PK'?G6H(N'/$6,V$7CIMPX;U1>+CZ/3B^B!:=JA6'[ 5[TTL@5:TX
MI"KJ6T1 J58<BKZJ%8>BKVK%<4* 4BT!%.T4[13M3H9V<A:ON_%L&[.'%XT'
M)+$=]?'3_$O3YT!MNMKT<FRZG#7 5^3T1CJW=^_[,FQ?2<O)K:P=U&XU6@O5
M6?P#;FY#=K[9PXZI(861P-F7PHI7$&IL45=_;9FY8E00*B]$FX=#-.,B5\UX
M7*^":-$@N@:A[<,1NM&)7\S2LG+>\^8%@X*@>*FUEZ(7EUMW.%PN^\9][EOA
M##\5!4:50"P42F,1''N@5$(=1J'TY%"Z&J3-6(SO'B"50(TY6J5.56)<&H-@
MH8V )1U9D;CP(Y>)Q'+>?&\C0?JA@].9AT?+L',*HF78:$7BPF^T(K%T!\T1
M?,91/[$,^U52]\8:\U5SL85'H"/TZ2_?%""!DSC>BDQYX(H&T34&UJO#$:J:
M.RH4'UO0U@Z'<:H=DQ+Z>37S%[1R7I7[%E86U$[JPEPR9\<Z5HN5.0NX32;/
M\1Y:C?+)G1Q,UZ T5IQN'Y1*H-FH+J6E0/(Z@1N+@=@'RA)J-X<*7.4[5L;
M<FRT(G'A-UJ16#J3?LX7XGA)+1EV3&ED"1K9ZA[ Q[_Z7M35U;?D\(Q5QE31
MT@J>\L SEGFB[K'XK\6:\D=I>I]O#531+@4KD-JZPPN^\C*THQ&SF3ED9,#<
M=RQRNU!X%!_G9::IRY]?G4(?%#]U@AK:HCHJ;^2NFX3Q.MR\LFE"=W;^@^79
M_F/Z&XM\6\)*I[$VR/-*I]L4'%>E3F4OB)2>.U65.E65[0I2*E&5.BTV?56I
MTV+35Y4ZE0A0JN2BHIVBG:+=R=#NF$+ZZ#:[TE1N5)NN-KT<FRZG<]HOZ35@
MV"IQP18KPYZ5-!5BM7>EO<(WC5V9T9*+?6UUT]/-U]Z4V=SXZWSAM W-P\SI
M_G)MRGO047MVCV;Z)\M$F[!M&09\]1Y5 ^9L[=\6;9Z#[ O1)AH&.J"C\V)8
M;:L6C_=6*4.*3];QR0HG>7Y\LK+]>W9\4JNTK^+^=\4IBE/6<$J\BV+>G)+@
M\\_\1&G':T_*R"=RUBBX"9STZ#/WN&]_WGK4[[&M,\<W)R1YZ.62!-(P?*J!
M..T5C(T1 @O1 2OB<U+J4IX1*\=C>VK5>)/S6'#/J<>9G3!4UR U5F$S>Z0>
M03V[N-QXYI0*6$6&],7J*,C,('T$/:K6J$F':3GM;#=C:KZB@8V\4</CI"<4
MXPNI.53Z4!Z'3"R&<@5'"DK=FY$J(QW'8:[SCX!PG8!NLAC(VO&D$ EH6L:1
M\]#KMSU:#@5R?BI20IK3%A4^E"XOH9B]J.:$SF-8C>13X%61!+DYJFC++>/(
MBL2%'[E,));S?OQDF6<:TSPX5C')+"@8*,.&E=1EN.8*<K$Z!7U1R0.JSHGJ
M6[BD<QPTCE"Z4Z%9(C3'2EX>BN9CWIR;"LVE1O/EMA?PK=&<WTT[H6!#[0A=
MSN6,NH@TWXW7DL)Z"?%:!E)K3R6ND7*QV!@[$DAUPZGI<V/'#8L[R!ITH<I1
ME1[+K32Q?%3-2=6N*CF6+VMI8OFH>I,J='78(/-_SENZN:;,%8:[6B8S78=8
MH\6V%Y3[LT!'^P@J]P#T;E?'%AA4MO)2<]C'RTO%W',=4WN8KT95EI(]_SR]
MRV>\D$@[C\1T54VJV"!2U:04?0M=3:J, D-5/5&T*QWM5,6:,M3Q4)NN@E:"
MSAYPR3<LN!8[DG7H/CXR=SXX-H467]2N5C8SYI8)^.\#I\6B%:+C]$9IM.*8
MAXLDN"0EV/\RCIQY.'N[>G$ Y@[NKS&//$_PLQU[_U7HN=SH+]IRRSARF4@L
MIXKWP!SGFOQ#^IQ=%?[&E<1Z->;+VCG!+'6-L=Z*9\FKF,S2@++=KJ4&RO14
MRF9[BQ3;<D16/C$WT7$OM80O>IC.&A%?7[B3 ?5BW!2)4,A8MF]1>F%MG$T9
MM%@%X*7CH'$P@-,[!VK5W4LA'@/!Y8LN^PY*@.U2W>1GTM1R=%Y\,[]XL307
MNKY?9,<A%&M(>H:+4738^?$/T 6FOG\/_FI28^;H3H7 "/2539CIDC%U -8N
MLR>ZB2?WV&\:R;\*C(NSLO"Q-P8OF,%7X5F=&L 9B3M[[I_X "ID.=T4&EE.
MN[T^!BZKF+?0^3L=C.WY?+9P9ZZ0F0,#%+F((DWZW?_KG]T_W7:?^F(GDGRZ
M=V?UJUV=J%/ P=G 9O3G&1W!:Z[A<OY.9\Z'S]L8%?RWL<GGWRD9VR@G_^):
MPQ%Z=9 0 $,L?8N!G;__C<*;\,G5DBA%<9>YX[S[_;D'9+GY2K[V'E"POY";
MWN.WSM,/\G#_>-_OWBYZTS.?T%.OWWTA_1Y,X^FE]W!_VX$YD+O[I\[3S7WG
M@;STX8-' -!+SA.[ZSV3_M<N^='M/+^0+H#XEMQV;[J/7[K/&(\8[2W;>;HE
M\:9GQPSL;<9+P':I;8)P<+XQ^V5,[11"=[-;8(@.RV6D=DFN"5[4_!854V:3
MH. T<7 I1]CW7./,J3'T#&&$](_( 76 W-C*6-,-7I#97+=!1'?P*_ 8O *_
M+R+0L7RS1ETJ0R!Z+!-['HC^3RZZF=8!!1P$/WQYP.S>B*-8A:%+'U26981I
M/@V.51QZL5&DXM 5?0L=AZ[HJ[H:*T#)IE8(1195>JZD.V57+8[N"BA-3+7:
M=+7IY=AT.4/+ HL&H<*D0<SP*%@TW&"M )M;;*:>/;4PW0">V6C]$48?&?9?
M^8"7?,"MQF5SP0>\PKK5\W$@K%QWEMT?LV\^!GJC+XB CJG="OH_,5=4+ F,
MN]O;P;;Q(HLY1!W)H!]=5"YJ[<K5U6GXD!4'R,0!K2-Q0$*-J<,XH-ZNU&J;
M>P,H#E <L,@!C2-Q0$)EJL,XH%&OU!JG$0FW51S14>**5GIQ8PU_YEXQ3I O
MZ-3#IJS,=+B#\,6UAC][4Q[4TL$Z9;H[2\5%1ORX&  I( 5_^7-4N[BJ-G)T
M!%^1:\(72*RI'Q!UTH[?1NN\N3HR:FYXA(6+90O"<LT?>)V9O.3K-X.:)[X1
MZSS@]R;I3&W=(+@/%7X7^F)16\.+T*UNLZ%KV0ZATZEMO?%0,$:H)O 1>,NW
MV4'R$9_$J+-Z]3?\@/]8^^W3.4$?/'_DG<) AF,1QQLX[-\>?-V8S8>&FR3<
MO7@TFP4B.3*!&]X8>?;_.>)F-K8,>-*)O!G?H&N1Z]ZK39'=7O$-WI2X%EEY
MF#0;]9B42)0-'=O&QDL80/=E-G_D&YWA1YUWV%1?<OR!HSOW)APENJ4E28S:
MU5FUZ4L,\7.C*DH<]M^M_MCR'-CB_CN\=_:DFRPBEN#$"G<>U[Y+!<3$0ZA1
MK5:J21V 5Z9EM)KU6-_9Q"/8/UK%L#W/=5Q8%5"EHR$^<=<DWYO6JKWA87-D
M8)F>$U@::+BH3R30/(AXZP)S\(_(@S[1W8!'*MC=4L25V!-NQ1 X0MSV1B-]
M"&BO1+D5V.]_V8QT)U/#FC$8X'ULH>6"?]]A]AM\!3_4AV.^P;8^ $+@ZW 4
MQQO"GYV19P3?P:R9)6;C@^BNPYE5UW1JZPQ8#L0)AF3@](0P6>0_C"2MA%$R
MNNVX1*,S?#6C,)>1CN'39,:HC>4?8;.&G$E-\G=J>KAA(C*L*MX=V2K<9<,@
MU -=D7+U$43' -N"#FW&0W,&,Q'':BZY!0A(&AASO0B(A\_L*P* YQ&!P .@
M@,XASU'Z2'_I$V^2#^A#9(/*RZ*XOG^Z"\/8S^H \AB\_QI@8;Z7RXBVYDO#
MDIRXVQX06*,N$W(YX9"Q4+HCV77796R!*6Z"3P.6P&/!TDTW(&SRJ:5-=%-W
M@!6=$(OGQ3O".WA"PAD.>QN1,H',F A0K:&5[C@>C\^:>C;\!%_E@D!W^(95
MMGS+N^Z.\6R>PN;C"X1T"235A')VY.<NT P?UDT>.P[:\ 3@/D99 Z<A?A4_
MGE*\!>I3G([FV8@CG ?\&(G46YABC+%!,OW+GTPPC6!\H4M$7H#2#%_"?@%_
MZ@[L!5P56&Q1_GLJOK@9X,9H7'"^HJ8C&@4$2PAD#P(;V$O\[%-E/EG<?9C1
M\G:*F'U<]@A@ 8P!J]'@ON'PQ:-X-+DC-MP-?]'O8P;OQ[79EO>*D[?L5VKJ
M_Z%")@-OT*GN H:"3^9O#5Z"3\$Y#;,5EFYG:N@@MIVI;IY9HU%%?!#\B!]Z
M*-5A.7QH#5B.GRC^2_VD/]B5J'I6$2OG!O?H.<G7-AG 9KA+DX+W>).Y@@D[
M@)/T'XH*G(#:FL<$+0@=_MO313)"("^"<\P79<$@CK@ V<&L<?[X%%_9,/@.
M_FA/+=O?0O'7[>C-Y: 3EY(".TRK<-#!7Y!43)_RO VDMHYMRQ-6P'=^/D=K
M./1LF^&)C=JN8$/_<5^RAJD=#M^;B,CP-7TA3 HH*OO"U3,<TY#%YPX='PG+
MG @( CZ?4AW$QM1774(QX7_'OQ!-8"!\&-0, ZCOKE$IZJW45(H[JMN8Y<PZ
M(8,XMZ!)69[IWEGV-\MQWYB#LN29(6?RJ3B2:1FU!#4ZU#-&L$*0M/9/YO(N
M[TRP95SK$-1!+0-_GF/?IP_>,/TCX)Q\]\\ YA\!>C+Y$1F %!//(E0J71LD
M/H_TID3(*- >'09,QY,* 1I#T9'>OVH^44>C_R9_&-8 'GP4BX"_W0@Q''SB
M9U@APG%Q?):5!4&EXZ$ 8HSG4EO$<U@%OQ7;&_&MP/7I[^#0L!R4,ASSSBJH
M!]=CEYE<Y,"J1-L;6+.(9I^!N@!ZN8;R@6O8\!46V71_YG 16+V;>^Z@L#!L
MV,<*@7.'F-;R@G%<FX'$QM,?E\G%,*SS#.\?0O7@@G0W%/C2W8+-/H,?SCC/
ML8 >6]#/V9)^$P9P'S#WG3$QY #$$9Z"U/D)[_-7N;#"R-AAME]L66Z(#C%4
M0&BA<25LTD$D-YDNSJA-I,<[8KAV0?]P#8+0F(%H;]A_GYZ)6\4%/D[F'<4X
M9C/2-ZH;J =75LN<I/4M"!U_,^ ,%^IA)(L2YOIJP0;"BT&IG)_A_J'L4RQ^
MC>$HX53"0TLHT@4]FI,OA0O[E+0;E8A&4UDA24$O-H61P3\+EJ\"@1%2$(['
M>OBG/&+BG#Q9+BIFH;[FVV/8*UQ#7RM8OBC4.\?,X-=22GZR&6&^%6;9@(+@
M7+*?! -'16QD$I50NX?O(F0C?XLNNS)75#1& 6P65\I%XOM,7';""TST'?ZU
M#*2, 5+_8ZW^B?"[F>,;M*(X3WPS"E]X <A?N$  &QA4?(T&:M-4]W78X#5<
MQ/AVT?,P2SAW%U')<X0;594CK'*$58[PGM[E:%$#?L>+.G 37+OU=HU>#=)Q
M[6YUN#X%IBO40L6%-BKW)T*C0RD-IR2:WQUA=@H%?N02I<_O4,730OQ[-0J@
M;G#'_\;M!*A2!^?4TMT1E(ZI_SU^M1!Z86!G\,T&49,!;'1@,1!V46Y%1(UA
M;I":YQ!/X,RW-+1-S0V:09D-_T:!8SO7Y*/^"8]?4(W&%?A%_!8SU/);,:_=
M,<#;1*"M\##8B-5UY"L9!G,< 0Y'_Q7H Z!%HV9FK;&&5(3:K*%F@HH.FBF"
M>QLW5Y"/O,S("+7C3\MJ=/!.OH[YLH1:-;"MGW! @PIB,%L8FWVP"N/BDED&
MRYG WG$%$J\"\PG#^I"VW+SF! YA2D8>WO&8J8$&BC=5?SVPXH_ZVR>< U=;
MA,$-536/N^4"$/@:JJ_-)BFP=#HU]*'0Z6!E7 ^T@!%!EQK:3(P6>K3&E@TG
M&A_>A\B2@13(+LCM3Y'_Y.N#2Z\-=F;+N8DKEBCQ8IJP6-^3-[_Y^O;85YMQ
M$%;P"L= 48*9:ER)#W3E0.U%:H&:B82*7Z7""UGHDUAI<O-##6 >TSG/QDWX
M!911?9"^SLCWPJR42(LR!AEYP-&@<4,ZO)%IH<F>;[GKOQ;M$SX172O'V@6;
M5?"(9G>@WKT0JMG,)2FC&8ML3"G;X7=,-5EXA_\E9S896 :?V64#9H;/)2:_
M93,O+GVFEB<<(@9(>6J N'= S].H8%=*ICP\8'[J'#=7[C3>><0DPO(AV+5!
M5@GC#16_S'.&;'V"A]> F:#$K !T:+9<PPH*] KTTH"><O2"KN>,]2EB6MP7
MXLCF9L08EGU[/ZJ&IC$+W_4; %^A7*%<'I1C@4JX*DPPP"(2(7.^(:&A6#>)
M,7.8?QW@)@3A%N.,B_X4?E_V/:+BJ7EX37#5#JN!\G 5OR#H,!+!P*_N%MP>
M10@$#ZF:OU!<F/WHJ\A'.CH#IW I=*(QX(NQ?O9ZMU 1KWY1?S+<^":F/M*9
MX[N(,>0BC%B:>Q:#2%V-&>R5NLP)]_MFK#-NZ/+]_'XP,5SGJ6Z"IO.1?N+/
M82B39?+[&1 %"(LQR]RH B=#^ FOA&?RZ".-QRP/#4\$@+JN99MLYOC*$!EA
M3#(=NA[WI>-L !U :FH#WX;O6 4<K"AO!H:T&1'!(F@=T[G'%Z R9(P/_%'8
M+Y9?PK\UG>+!A;=?IILPW3!D$3Z:A2%5'/N3P$PGSL89PE!LR>(<0*;\9#PZ
M;T1UP[-%]-G0]7V,R9.9!Z $8Z[S3_[&=^OCX!-W.-()^KL=$9PD>&."8SC,
M=0U1RI<O$&U$H>5&!*#-G]"=!?Y"6 %!->Z^ [P8!)WJ#D,_O<$CU);BSS[Q
M35^> ;"^,_*WA2O&__*TUR N%9?)I[&:=J$AB1LY_?*,L)T3 !.BG#ISBH7A
MWP,1 *N]"O!L&$+$@_.'YLPBN$B$\ EV2;#8.:#W<&[ J\"K;3G(U*_ JSSL
M+OQL@D%8IN8-PV#<I7AZC#^%IWG0I(<!$+_-#6Q\<KY#MET5H3?""XNLJ;OS
M\,K-FPG;OW:%_O;!2.\8B,'-H"-F+]KMN+4/XTLPIFM6"<RZUKL9B #.1&,
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
MOFN. L:3\]AA,0T>9!D!6)!?X-3(_SJQZQ28\%?;8"(4F Z_H)$U:&S7EGW
M40\[NPR?(8B#NM8%H,<UYZ_1ZX^^XO:B#9$G-'10>_,M?LF%KS,2Z"9P?Z$0
M86(*Y*+S9*^\/[Y'X)%FY:_XF6H%_@0F-VTFH?";DP#$E#X>.X'M@Z"Q<!2
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
M8^2=+5:-$6.N/]#CD4OU'\?Z!!YS1G3K25]X\+DM7,;B:73V]8M.IBXR^%]
M_-0 2HP0@!&\-!$$7S[I\"3\Y!;L\RX>S855OG@@,>T'^!-X):2_[NL/D?PW
M3&]NZ8LS8!L0K/2("6UDJ.K1U]]_N?Q'K]O_3H;PW^MNGUSV_]F[&_1O@+[=
M:W)[-QA>G@][@SX0_OR7_N!Z\/TW<CZXN>WV?R/7O9O>\/+BRR=<&@XOW$D^
M+]R'K=V3X8 ,?[F$+?7O!]>]BR[LAUSU^MW^>0_V?S^$'^"[W).\MA<C.K\\
M^L&,NN8XNBI;U4ZB&'K@/NBV^2<+)9U'4@QO2-NXQ<1(VQ=AIJM0K-U'4NW"
M],:6XP4N'<*&OEEPZVX=A/+<V/UITDB+I' 7SF&#OAM0_C#3#JC1A4L5__$?
MO5&IM>I'V\BY&/N\4[BM*'N-A-:RHPA0B*_JR3/,/+O[LUT]C@BX\@PR"CQ@
M7L]+V5.J"/NT@CX&1D%&/=+<5DEY*#I#]+]Z\^2TB5]-730TFXBPF\BE_6C"
MR2'/@%9PZX($Y$KLD(ZGMF,Y#PNX))C*0:[-&2AO!M_X!U OR-_^TJG5*I_%
M!]B_JI\_DB?=8^U^W+GC,KW#M/F7?H&E_YPZ 3D'Q5<CT6Y@W4?X M50:2&W
MU)E;%)]6;7_VR!V=@V(.P@+OJRFP.OD@UKV].X_6A"W?Z M2[6!8LE(Y(:@N
MA3LW/:(3BV\?_M1'I@4;($*7BGXS6A /PU4>>3+]*2I5SIS"&Z"R!7\Q'8,$
M<^([Q *LP0&[LQR5I_Q $C^Y.5+&H'A^>%HNG5+;,Q]!NE'WT1Q35#_!8L",
M*(T\4)NB!LHL%K .-$+!Q)DCN CL)9C SP(73E,#1( &:EF,[8#J8-/@(2-/
MBR,'>L)70/]AW^;J+/%!%?+#'P#*?$H>= ]V1X& 3,&%ER:/(+6=P",CQ[3
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
M$"#-'$[O8"+,AG"C<D(0U2WY$YC715QJQ/6Q(-S=(:">LC=Q:Q+$OA,=NE9
M0@>" 86X'D$(GT $@=LHJ*T%+HAQ;0?/B"/"L+9QAFU1V=_CA2<S30^+Z^%A
M89C_DOR?J%!Q:3@').&/%Z-&5'*L7#6:?4 @:J9$@%U9;?B@$R0ATE.-(>*0
M1]<*7XHA?SG%'UQR##?H1L=J]*>,?'"%3([;>"\D.^?+L@J[X\ \0\@*/>$8
M/B[$6KG^/.IP)T;9\C:P[*P2.%SS39.-+VR(BG-7H%D,-A?"D/F[!"W>MJYF
MF-J)H%^K6,%14H["]B5%N)'EF P,LQ+\$/#ELI\5J:PZZ3-/>JO0D_YKE#%G
MI>0"=GH*)WRWF<P^15/YBC/A9+-G<YRO$51P#V!;E15K+GB)B(_E[F"B7#Z)
MOZG@5("CVPO9WSDU[&1FL=KZ.#<\6(FK&9R*EV1@AW5O$<=LO!<1EIZXT0D3
M>PGN<#![>99(A5691#2T$:8[A1A.U!2*SJZFN0Q+8GE/\UBO=#AW?(=])7!N
MEF$3)%&>JXM3/-'+E'V&-6==1IR3\"JZ("35/(\%R9Y$X>C\DGP5;!*\E%%4
M_-+8,Z>L@PH_4*+2Q959<YPY*N<>B&E>Z.HNX4J+/7PFG*PB>((+VSR\NL+O
MHA+F\&TT?C(*>/M.,PF1_7$/$Y^CL]8J<;]I%9D>=QPXJT3 N,SN\4[078<?
MW5M48MV!&[DLZ^H;T*%\T99\\R//\$HU0K Z"H\N$1Z]J_#H*Y;Z@(^2_&11
MR'F%G%?(>9F1\^L[C7*4= 9^>J+76[WV&9&@VD<G067Y8'3:,/L@?)\C\)\*
MR63(K-Z9Z!VM</[35 GR'78UH'QY3NGRVKQL[](F1=/M!;J\_<=?X69Y2>K5
M6ONB6J\0H1#O1_8"5JC;K"?:M'*,)@DZ*T31:LX,Q-L9!%!._L60^@UOP![O
M,Q$'?.(M2PL:(> E*-9_D>'^,?D6%0FSNT8P["7I!R4%IN G9)#<"WMZX;MA
MQ%'<,=QP2"T>O=N7?D>0PFPJ5<;2%-YK)K,XN9)$RK-(?S*X2H/$(9(%.1A^
MQ/MB=.V)U\(&''LQ[@@6+45P;5(BL7"!$$[RS[$"</&"\7+O^*5'/,ZI$&,:
MQ/0KV9\2 5O!AI@$^_.[)<]T1+'4K)M3_'49TP7<)6U+D$LF&+C6SIBP:VPT
M3,BY&0[Q-<C%5L)KZ4HOT81^BZ XGJ4>ZZG#"!DU<\)$'D9K>(2;-R-^-F(%
MS&+1GQQ*N=K,[!>6K#&PK2M[H&&Q+$OXS>C>'')XN;QC$?OX.$R=!'F-Y/O#
M]'GU/3(X@E[9+_@Y_&J\6S1^+_E7-[.W<?+9V+O6]EW&"DF0"M'Q3[F=R:Z&
M-"8'@T<OHJ.4FS8A9MYQ=L&3.<S*IAHGI1<U%M\#W9IK/P*M$429+@O[L6X]
M&"$)!UOM \7V7BP[Q#O[JCS"$?((BT+S"(^S&'V';/Y\=O8@647 )G#%W_]L
M_*Y[S>!'-9\7DK,@'Z0@"G3H$R*('):UY1]8X!>P S>OL71Q41"UR5@D^>%Z
MA?EK:WF6YK7O9>5DO8@2?WWKTWH*;G+%:*T?/= @IEPNZUNJ)[6I[PZG!^Q9
MRP=:Z77:K5=:G34M79F$P>W&O//'3=/KOF5ZAVI7^\KI?8 #$=]-'3S'.'C^
M*O3@^94#6@*0S&E@T^JIUJ@PC>'T)IC$Z9XXZ* ND(;*T>(W9PP"LF.#WZ&V
M="(47%AH$1BG%#K^7_O]>SBQ&"#6!8_4TH2O&_BGH08P+_1/7W_BS^+4Z[R?
M*#_U\,)*]; 9YX:^IOAY]%[A:LRRWE,12'J*N@NDV[+R872!V$HE^S(G+$!8
MF2\G:%_YA\)TI^Z'&+*H82O/D%Z2*Q$GB<5>H^6)<Q4$*PI>^@RL"!Q[.L5[
M(7XH6$*.W^*P8G&%-!R$/IF"]XW=D=TPLA&@ (*>G+$Y\"EHCL6*3-G5(>*\
MC;%4K^4PSV+>9734@38$84"&Y@OQ>8*B 3'5Z]0D1)5ISYIA,FMM6/Q,"F(E
MN/:PR> V]4MP949N"0:9XQ1O&+]!UC#>9#?,'KLQ[51GT#'.(*?0,^A!D *"
MU?-.A:6WGBQ3%5.XYS.0MIQBQU/H!HQ &-U($:W$VIA$AM#@5E&(,*#.!2O"
MFG4'_\(C@;?QM2V&-Y[;CNBB,Z=B]L)\V68E&![_83+FF@I^A_?DPKBUZ'PC
M/K(2X;HD*WK%.Q\'5G8!]G]B+)"']\6*W<_8=RO,UD6G9(7,F4S"3QES]KX>
MHF%!ST5#L8W/Y/'2Q&.C@I/P'=D<5CL,(&I;I]B@>,H6#C^\#*;-T>%PQ,2R
MAB:V?9Z:K($Y>TYL3/ATQ#P<IA3%F_*7$<!I9!T5G/E,7/PC8: ?OR[>>LZ(
M8L;,=T$4= #]X1CSA>^X?E"4 RM#7.[@1/V3L)>1F!6?^Z'FD_6R-HO4ABVG
MA:QFQB(*+2/+Z.89\_Y.FU]RXV(*W3_FHK(X)NOV'>Y9ML8*S201FJFGT$R*
M75,*\)0"(LGBCRL@TC&!2 *ZD@5JF3;:]<D9 9'<HP.1!C0LI5A@#PX$=:#R
ML,CQ$1!)0D19K;0GU7&O:$12MYF\%\+RB$(:Z@S%VK H_"GER#86<40I=<$1
MZ;)HTUJ=B#%(>@[+<\,?, LB*"0OR:]!M[+L#U18%GP2Q<%P#/YHS?,<8^SS
MW0M^]_]F]$]#@]%&\%\3O/ ;Z]D A110BGO']BC/U(RPBL<V[:=ED* C=\;<
M\$1U1DA_.8:+F/%L,$Q/;)I'&5@D$5.M<"R?)=BPU"&QLG -\#V$:K&WBP4X
M15A31<Z.$#GS"HV<_1]#K9Q.T*RYFK>Y89U-J'[/NR:)^2Q/(("VU2BZ/H;X
M4U$@FX6V$5$'&U5S,&9.+["JF;R(R;.>(QA>"!H1QK\?1W7:%L8!.,8,J8W'
MV$_2I<XS<OJQYI,(3N1=918FMIC&Z[\;?T38T)JU0F$YCX#:)'H?!,0YSY2,
MZ41#>&;43QC&%\/R%E<(OV-5BZFA6:AFIK&G4,0*$JRRGBLTTW',DE\PFLE8
M+()Z^AG\Q^1Y2_<TN$^ZS<8*MHE/IV_IW\1DL)7<2>'+-YJKOLB61HU0H^:W
ML6B_FRG6-,EZD'&MA'G9)#HR^SFBM=X*04-07QH\4YF+8YB+YT+-Q1<!SSX9
M U&OMQ,&0DS@O(S";9 ,819 U+F;MF:Y_'37,;T@\!0A-EZT>!"P"@YVYLP_
M:N<>9>>^%+ISKVP+<QE!O?UI[-T,I&EL%@^&^^/*H;KAX4^GNWV_A#BI6%$'
MSS\N;,SO<-H,UQ__&4"[^)4 \Y4XZVA)&'"++0EQ8$T"SI0HW6VR8#&CKN)Y
M4?@!@5'/FAG"LT3XV!6<&Z@(#)<4OXT$EQ W*#H3+QG#'ZT;)"CV$AETD_4@
MG";6P/!\KJ8\Q8R>QIC"#>TY1#8@AHO\Y6NL%6/\*Z>*UMXQ<F>XD1YD2I^)
M/;C^@1J  >4D=HD,0:R2S? B-S"H<9G"RX9^94SLH5\(Q@E$!E?$R/L46B,8
M\I)\8>O1UHUNXGA.[.][ZN _M*=7$B8G8-<A0_<C**'[P"<\H$&WC AY?>\[
M-(Z[OAU\>4? -*"@+^KO/C7K*?#U/RN;9MA^]0P;L1EN!Y8?;(:-;M8,<2=O
MF&7GU;.LQV99SW&6K?0L!>XU@K!&&^,5I':5!*O=)?GRJF<@!"6,+R4WV7IQ
MK)3\%+6M.%/YE7C[H47WEE*MO>=NZTFQV]X^\7J&F=FR!U=8XHK:@P<0>C-[
M:VJ6Q1'(0= BL;_.^^ 7M&L@3IT&+EX K>1(<9]5M?%['&O[5(E17Z.K9?N(
M&C<Q2 2_K* #P?RTX BO"'<KP%TR'TL,%;A:U(3U1B_=]\+:@2 *';R(C8\2
ML$K>U@$1@#RZ;E@Z#.>@HR<J_ UZGC[;58PF+4[YFO3@0@<_X;;'(GDQ,N$Q
MYF.1 Y9!] /2ARE?\4N25=(7G",-<.!C,,D5)H;0AT/X[S/K$8%%!:R'.+Q%
MK7I9_:=@6UB]&,3O!,)%YR3!O/&8J&0(B/B0$X"5#HA*B J+8P;Q1=1-D6L-
M82LL5ZS#.HKB?YZ*$!R/F8NG()/R0"9;50695)!)A68\E1BE0C,>$\TH8&_9
MM&HU6C\C-.//8S<S?_0TSP>_)X0\'(=2#:62(2^]TZMW:D53JM63L;-P21[X
MBIQ/?BL1_A1UO'I8#LU"C0O'"$E\A$94&!90D/=XHA^YNZHWE5@]+#H<%Y[V
M,XX7#-F'!"U3=*4"NT09PUO<0/$XNQF5->&@[T7O OP9J[M%@X(/9WGOZ<?%
M$3*P9*Z]H-..Y#EF+$[(L.3!V_TSK*F?LH8F:P4CZK\=G>6FF9B"I28H&-'X
M7@R*N5"\SO*.M.$@5%12!HW0TYPQ*BUZC+3HLEA 0]0A15!Y[<?06>P!D.+4
MQ.G\AK/Y'DV&'P.G=!@T+CL;[,OC%>G6JQ&:\LDW^,8'$SZS7]BYP&<?[W^#
M\?(HR1@CDO"=A>TFXAB^&\0PL#_<!1@%A\S@/YHSF3'O=)JI-$'X#&R?[1@>
M:^K#.U$L?- H7V O^#<8H5ST&'X&^0L[()V(R"D$2X,A,IVL/-6Q8 X:"WS&
M[YC\OW J.C^")C\NS,+@H1T6U/M([K#W!:F1]_ANC J#YX?QG9<?*C#RE!E5
M#;GQT&(*A@B<1"7LK/67;[,B55!('ISB;Q.,_8L8IIYXGE@)46R+7!M;'B,H
M3;#'@,&^E%VK'GO17U@DB0_>X',T[9?U4_2MU"2CK@NPY!YOMF79XI60[40#
M&6 C$L&7-;7#4XQ'LOA1PL#!HM%(6/F+'2[FBY-.5&_>G,SOV12&S.#7C/7S
M2+:U<@.L0B43K%!9BU2H<&:>940YPW4N('*-M99,LJ^,->M'Q,P9'P&>QA\?
MD "P?X: ";"",<J:=00N\;2XV.B1$7##M+WP2!CK*R>9M33/#TO0&0'-"ONG
M\DH.ZY7\73 J.Y0\(UT*R8:CKD:GX:)TF\T5?#9,; 0SZ5LZMFW$'V^C.9V2
MD[+CC169*UC2+.RC9_)BL9CG0#23G>GLZ,.2$K!Q<'ZX%.R5$7*-8/K.H9H.
M2A3:3K8!8R;DDO1Y]\M*1IX'!'3!3S'VM?0H"4);C3?.JO#.AECM%C%H5T+^
M6TW'20L\0BQ7%?-M.&%4R* ;.V]C1.0<80'^G,6V%9ZYK@'[17,2.A]PNK!?
M4:ILWS%LGZ85S#$UH2MA7_@]_,Q+DTX#=MY(\1X.Z$L_G-)]8D8YW- R@IBU
MKC[NYFL6KX2! !O'@C.,DGNY$/5IL*5!<H8[BRIJ(VALM';D4=3CN>2SC65Y
M07CM2__Q<Q!:"U#NR&L72UWCU]WPZ_Y"9_QXP0/ZC[^ZX0-$X"IX*+.@</>,
M7Q0#OBU^SQ,\@>*F%K0<F/ ^!::)C2#B6,I8X)%U0,>6!"XWKJN>,1I?A^T*
M)"YB!*]H(#'.9KN\Q00O#31YG_0QW#E>XM<F_%OP>KSL.5;EZ##2*E;PQ[+K
MB,$5+QZFZS>3.JJ4NT0I]YI*N:N4NV(I4B[=&>?U=[)K;V^U>+"L]>HS=SP2
MRNWGGR;((_2JUWY"@ >R//*F7L63,T>/_-]@X*Q@-/8)'1M?L5?^R/#%V$;J
MG1 69KU%6[--US-XY&D=9#O7V9+_^!9EK=PJX>T@\,BQT1MK\E9K5$AP)0F]
MY=LH8LM4NOX++UTD=ZP96= .KE%O?ZB06/:..5")3X(NK7TLW%SX%0/G&?*6
MA&3RJ;B3I:_REV,,FP6K!*26]TJ+44$%,?2L#Y*YK5-S)=<FV.-GU&1!I:CO
M&0\O)3#G;D;8*C/(OQ*Y9S/!^%8RPG]);KV UL053;3ABL2X6(.6WNR]8\WA
M^!1X:S@KFB6?'J.U8AQ0?)G#+G')U4I$QJB&24%>;;T2)8N>;DPI*FCR.7R,
MM!@U(KK>8;R0=]\6PP5] E)<_,E>[%H821M3L,M(SA7\8FHXK) \2;2?[$0>
M9EP12A$T_[[$VS'J;R5;/8E0^Q5MCC^"+<_"'X,S0'@7!4.47H65'\G7$KP5
MC$;7F(=MTU%X[/X/MV-1;17-DX-)PA15K84IJEJ/EV>Q\E5V90[@(,@OG7[)
MJ8'E*KL]&XNXN'ISO=OPKO''K@@_]0K1#9Z%5?^CP0J!D\4S;HUXF")J+@^6
M>H+1W"# $.SI*%#! AEHXL.6%EBO$!$@[1,0.#_K'TH6-6;M"="[J-7#$X!S
M"I*1]C,R\IUF]<-'\L@Z&TZ7@1!B$2Z4;_R+PK0'QM+EWS2$3=.27Q3X* ^_
MB&I@Q" 2F&&<TPQ-XMO^+U AC]-8@1+5>%,[4)J@RDITM6.ZA>_ .QT&NA*;
M?J!PC"TKN]*QALSS.@M-L=B31C KRBJ#HO!31K%*675O./%LKGJX=-FJ5Z]=
M5+NAZGT.ZH6N[/G8L 0@+^@[6VU]"#V&V+?Q!!)-0U@%T") 53+#+RJ]XCX#
MJ_"*^10A!)(?=AGG=&9F?*5%"CM_X\7E B3(:,_"0JA)-+&(C))QG8@7K[!^
MD?S+HI,+96%<TJZV.5:4S>1O&I_'[F\M5#3>01<UDY^%L,0QN&C""0M?:>U\
MUK\<^SY_+\,+GA0UUHF_GN%QQ EES7IB.;FU[XT[.ZX-+P:<B& U[)35V.\(
MY$].G2PXE,%CUZ$O!!-7!N'@]S9A)];?ME$&2_0-^07OO*]QL8,<W;,UUK1^
M46V'UO0!.TJRAA$/B-YYH"RU%';Q[L*)?HT?0?LH'*E'WX)M2JY%@ZSPH[&;
MFM@#NFA7R<@HV9?TU2]%\$*!>W2PW'+**2B#)C!LA_+TF1.^+VLUP7!J\VB#
M[S BM\FKYW:=%0ZO_K:UR5T-6["8RR3/7!A-\!+?79$//PPL.TX2PPS"BI,K
M[GXX"$NFK7BW0JC5BVJ3=Y\.+C1"!D+@HOB6M0<'V\=,4:G]WB26Q:'/!GU!
M2V*:JTG)"IQD7FA(0OE7-E@=5(>0V504$'.'U&>(M_B)@6E0AC]=>0:F+\<T
M<8!P'%WF"8*"C&07%B<3X0@'[<T$,X[H5Q/B-=-)397F+"3-65=I3I7F5&E.
ME>8\XS2G9)DMGIW*R%N-J=Z:=,^H?%D;'[M^>8"Y"IOW2PS#PJP3W!$*F4/Y
M% L%;R7[K=C65;0  87M^4# ,9T07LS".J;X%2)REW$3,,8D^)T6)V?D8&<6
M?8''L1P4(__AT&W6-!!6*> *"EI91O55*\T(M*<GAS[%^C5G/'MB.TBK9?/>
M)&(D]OXB4,/>,P!HQC(,@@E<)#2LM0HN0L/EO$RMW_>PA@LL46;L?AHC[ S:
M1&(NS+9$,CB0?<8J)I)\[B6)=7Q*Y%<WM,-A18&VJ0NZKOVD&&OSC2UOPJN3
MT*LYS&]&+9>%!/CP_R+O4?$^7&*CG:D1-!F/95'C^KWQ;1@:UHE%JPU'\&'C
M!3[5.!1OLD^:H[/J!KX;X L\OR$3G'6--:UU&ZL \SNJP:H-IW<P(TJOPV;N
M^2'*M5J[-AT7[ <<U\EK%.IB,A$3>PS/WI/'>U6;U_H*0H89TNVVF]5N;EY$
M4?&MJ$&QR?83YK- %%ATA3%#>SK%ECVHS#2+&)E]B0<-'8HDV>&3!",>W@[H
M,\NBS6%59ZP8HM$0_SC+,V\TBQUA; 7X@HAR66[G$><!MO[%_9C?$JRQK;UN
MBE>!;3QL&L&B/4?S3C?;S=AT3#KUCA;D.P:&-C33,\.C;$[T(YSG+XYV$ .9
M,6 0J=1Q =ZM"3]&@4>^9+W4^3&V/<^>9T4AD:\2<V3_[UW["$8QC'4&MO_W
M-:S1&X^CG):[ %#V62O4@3# FQ4*S=-&Y;GO7U_?#K[&Y_9+?LNMY/MV^39D
ME6\9#49,^LE+RSXZE(/>/'P/"EZKU:H,IXN2W>G*KLB-SIW@?^9X9@FMF4ZW
M:\UQ]TG^4U>+GO?4"RTB'";#)*R6YZ,,JU)BA5"++M4N_&6L37X\.;9OZ1>P
M'+;S\1^3":73:0[;L\^+[&)=X>"M+NSI!8/%,?"X#(LGD\;N[=:Q-?WEW:>U
M#9E:4<8[Y&?E[6=9.#%(>=_P,.@!FG&]8W0WFO?_WAD_O8^6/]=M3W19BG5?
M^O7Q.MY\Z:(1]EYJ8.NE6JKWD@2R*N/(Q];/=CUJ&):EGP_X_>'T5Y?VT6#$
M3<H!^J<E=?5OZMBZYLYB:GHU^'V]FEY(IZ1[G0-3]G\YG -A9VB0.W?4$N5!
M 68C:"26:.#.4O$NC?HS:3J6C+JLH]QSF+Z1["#9$J^38 <?(**XP]'3/N36
MSO\82K=]W"EZ6:;S02E\_"R+&@F_UM>2Z_R20;WEO-N,; ]+[#("$%)OS :H
MO6[[R%$OZ\Y,O>*!SJ)D;V@FOS!^%"(K)#EX6IV]MV9#G3QE5G"X1]5?K>!R
M'SI%:/9.\,4S0\@]^HN 3,5,0JI9SXLITOD:%I<]JEZL/[! *6(I@#P0NDZK
MFK3YCY,9U7V3#J?QJ5[%9GH%$_T"+W\;3?.!SW)D<V2S@MZ=:/)<0>_.-,%^
MC@JEH'=*O@IZ=V8*I>!;2G:EDYV"WI4!?Z(67:ID;P[Q;[PIDX5F<#9I;<[)
ML<-<KBC,GB<IQ%/)7P76*WSJ:M$EV[?G--422UDMNE1;J\A<L<  1&%T032]
M6N4OPPJJQ%HZ<]Q-9!'BB(Y[T=U;CK1QLUD]B>2:TFYIM+M=?ZUVJYSQ:8!O
M'])%%\0>>QIK[,JZ__!60.P>9Z:H?=[#JN.Y]4&6JYHT3M59.U(E';E,(I;3
M5QXJGUA^KP%\XA0YU0J:?RB.F%OK1APP7VPG"4>[$W' Y<&]YPS_8J/C?!K^
MA=H TFR =KV5JEH[] 90#O:K0)FJ$\9>V:%#=<)H[!O;5ITP5"<,U0EC)\NA
M:(I?,WJ:ICC9\.(T^ET<DN_XS74 R?[-)U8+T-ZS%N SG^PCSE75 YP=HB_;
M_SFA>@!5 W#>2J1J )1\50W F2F4PI$KV95.=@KP6 ;LG5ITV9.XN6%.)$WB
MEE5)U*++OC-S@U=DH,$J1/,XZZ(,RR:3KN[MY&W'3:33QLF4\$H2.1E/[+O#
MZ4YHB#\PQ/D'>^ PBG\?#&=<K[3J/>FX3TLZ\M%U-J/)Y_XZNQW L+O.'A[=
M(_79D)O7UI],_+G/\SA:G+I=$DW?+1@GP>8[(-7H^PU'26UU6\8$>$T7#FP'
M)C_XV:3X0]_2XR2[]PX6('G+>U.S//C;S5^^L< \F)RG3A8I/-DIG!GH1?:J
M9VO+!Z7PDG'KME-DTD?5]R.?6"4FYCTS!TQ:U^_<IEO&D<LD8CF]XLR(B45E
MBY8H8'[@%M=7W82UY_Y W@!+H]L]"4B^4GUI5!\\Y%3WB;U5_[2\7NFKO)77
MJUPB-;(2\<EYO5>^XR!IWP+#)[Q[YVJO&QD63V8M/80ONR7S$A:0"G')Z<VV
MV@WI,C E'3F'9&$J*_$*E5790OF1) /;NIAL/24DT7N524D<*\T=]RC(>"+S
MR5*KM)KUD\B5*.T_C/8?=8%D4!0YKP/9W2YC1-Y2:WI9(X)@Z5L[6GHY[7N]
M4JNV3B(JJ+1>'JVO=3IOT7JY+Q\R*+L*@<M]C3^WZ99QY#*)6$Z?]__8:R 6
M&IZO/5'BT+EF6)'[ZU%G+L/R*3TMPT(K$4MGBG*+M:XV"I$E]W94+I,5/S_-
MZ-5*=O<.['6?F^N'P%HS/WT$MCIY"3A$SXZ=+P(7+IU\U'UG#B/.WGUJ-%9I
M2PG[BV1AE%*-?*C4V$71<WFM-W5F\I16D\YMNF4<N4PBEM,E2MW.=,.=8!-2
M F>\9&EGI:#GN]!*Q-+9H++3'$FKDH=(:*:*@).WNI5+X+4X%![@3+BGSN18
M2)8PNW/O.S2>WKD=? GS.Q=P2VY<MG?'E^U3K_Y/"<1_^HHGQ^5-TA8GV7&8
M=JV;@I/=V9KE#FR/NB-'TVG?TH?>C#H/=$*-9YR3BQO3M+$W_)&XTXE8(# %
MGJ#2;^KCMH:1JO/MN- LM.-"?\*,K4N<4-"L5';73@NK>KZV*8*09(:,M4:M
MT=:/$(T\5C.3'7LRK%M:UI_!</$B9$\);#+1<0&=$LTC,8YX"5HPU%)-XZ(N
M#,$$F=5@]@.L!F]&"W.)+$=!K18.:A1R.7R+A)*N/7*/L#&S*,\C@Q/8Q<TT
MR%EK=NC7VU-D^0U_:K+<S&=?R&+N3G!]?+$6HD/%:4@VV3DI;$74\J]L3"FV
MX;%QB=A8#*_S,??,7;,(!SN+CYYQ3S-,-*LI/'G@MT4>VE?'=MU71EEVPXQO
M9)&H=6J5:C6+/24W<9RVB%.W^7U$O&^CVM>)N-6I=#M9#,3'%,>K\^IWU'6Q
MNRE<RUCW/)@_0[U[4]\DFEC<8ZK1&D_O'U7V?S&/[X@HGK5$IJ!Q*;A^/UBK
M+[9S+58JK87%V9A&J])K914>'E+_/AS;NLBN%FF^S]>K12YVJ=ZKM)O-_-1"
MICH,]<PR/E,FK%F.)I)W28]5KQT?_IIE(%/AU+0Q?#W%X2'\-#@GJZVLA.>I
MZ;GLFI B_MM=$_+QV.O=2KV15<I[=.NT+<F47PZGD,31:$;ARZ9Y 3)\T1R6
M)L+%?S:\)3$LEC+:<C4A+UJ\ES?[$'YM237')=32J2Y5HJG=ZZ4X8..NXY5#
M=<.[@RLL=8=61HY)-?5^:Q)*]>O-+7FE&C2?G<!5QV:)-$QU_56R*YWL5,?F
M,K0H58M>P-3E+*?ZK)GL JAY9$SAMXSF JZ*>,>38=5D4M57H\O7!W!JZ;SZ
MJ>8Z"I=6&4<^OH;6T[" UVMH/0\-;58KU9I\;8KE+&7KZ_I'LG#L9\-%N6.(
M+XP*2D,W<L[[*XV-WVU_W5/'L/5;:^)@:=HUY?__ ;A-#K #VY5&51T1DHR<
M@PJ_$L>SAPHW8BJ<3^*J6FET]BC9E/$0R>T2P8%N#H6GNT@7/5TY43) ;U)L
MC7/>E/5J@B3K00AG.+T/1).Q-P]^?!R^%5RIU.3T%70#SJ_6/92&YG4ZP,3@
MIX2GT^EL[TW_JKK^#S+?&KC!?W'PQ>WI%"V^Y#;^''I@',)5>^5M_O]0U,/I
M]!1."!FZ>2B5SUGE-YPS]51GLD/H?.XWDGJU4NVD;]6ITV:C^A_[!%*D_[F[
M8N<VW3*.7"81R^G1QO*@U-+ES("J/C_!B7[(K&FQA8.;SV[5T:KDFEX[GUI(
M^31=9LZ][:Q4QZ@-"'&4B_',B=YG!V3@FFW!RZ2BBQT9W?QW='$[N+X9C/A*
M9,$COURTFOOB$1?:$[T8.U3[<:%-X3%8>/^B+=UWGW9Q/<33Z/S3OS4R<U#+
M_^'9D_J[3ZPD!/T!I/J@+*ZEP9/PD^N5Z(":>CQM"T"H__MV\Y_;_N K&<%_
M[_H#<C/X[?9A./@.,NK?D?N'X>CF:G0['(#PKKX-AG?#K[^3J^'W^_[@=W)W
M^_UV='.=Q*Z>"@??EH49P,0?R6A(1M]N8,*#Q^'=[74?9DN^W [Z@ZM;6)W'
M$?P"5^J1O(>/C 2<]_I# 2NBZ"WSI;<$B<.3A,3U#[NR7>95(9=-H7E(HLSH
M?Y<MP]I0B!AQ4QHNT2RB/3&>2DLSER[\AI4FKEECR<@LV[U>8]4EN]=<[]JG
MJJ#PC"I(#A>AEJB^3!44EDS@JJ!0(@U316E*=J63G2HH+$-MFUITV1-I^?5G
M,[R989&:A/FSXG7SU3#*]1F"9AK=<D R,-[]B,MT:-'?0:8'A-A7*_66JA.1
M9.0<5+5Z3+:RHZIJO59IM[*XI4_H",@-2\%M/[G@;TOJG#!,$C4_ZPV6"DT>
M_BP06VMDCU[L@^ZQ!IP&O>T0B5*IS%DK:YJK[^"GP?&4M59I]DZ\QCRW*X$X
M ,@%::BC(*_=M4/#CK<>!6)3P>Z:.?30=X-*IUJ3;G^5=.0<U'6'YB-O/0R.
MJ*Z-2JU9E4Y;Y;P=-,+3H*E.@[RV5YJAX?"G0;"KW)']Q?:= V^P5BV+1;QP
MV95QY!ST-0U[/OQQ<$Q];:O+P8YOV0R/@Y8Z#O+:7D=M(,*W5["E<'<9SWRC
M'8[B+;.Y2.&2*^/(.6CK49N<Y*"MW6Y#.FV5\VXPA,>J<R"GG=6IO<7-VCE?
M .\Y?<V6^O7Q>D.56:O2Z<EWXR[IR*I\O6@O>L=6L\4OGZ*G21GA3H(&;;?Z
MWHU]M@]@7]?4JQ^=;$8IYF$4\PA8XT"5^5NN5^A6JWLPA6X<3*%W:-&[DTX?
M2?0?#N6?G]-1JWR:,BRT$K',;NLYK8'BETG%UEI'18\?M96T?'PR2K-ETNRC
M@LV/VAI;/LW.JZ%VO@VT-[%6]!.T$Q6"]J["FV:O8ZI8F%1_HCIVS';IQ'>P
MT7;0,OO*GB\T:REJ,UTRUJP?Q+0U"^DP=/B(X>ADH3GP%?';.0X"3_-L\O#]
M,QD8)GF/JODQ^.>'2RZ?8OBIUK!CU+HIW.$UG5+'H?J5[7KNE;8P/'CLWU2_
M=^A",_2^I0]AA9R^ZU+/O3;<B6F[OG,LT@PBUHKJ?4\PHM2JVK@SWDJGL;*5
M3HH_IU4H?PZ3]'*.Y%E,VVV4-X$=XL"O8+N@X'<ESUDU.FMY;D*IGI59VF4I
MR5PS+',)]FGA4!=_K].%[1KP%]QPS":-#::MV*?E3SKQW I9^,YDIKD4?G2I
M\VQ@^R\<8<I8;2@QL3</_]6"[UQ"?RZH!;^\E("4)X4??9S,J.Z;=#AEYN6*
M+Q&W,HJ5YT1I& X7F$^3M+3SX&>(^Q1EIV<X1R52U$Y*X(K:J70F1=$#*=F5
M3G:*VJD,+$-JT4\H6W?<>$XL^"##(LFDF7L?'%L3&)U:BA]!1$QO>-@EB&A8
M^L"V1 2HN#Q=O59IMA5[AR0CYZ"=J<3Q*[4SGUQ;N]*NRZ>=<A9A7&^-%O.<
M%9TO; =D1=2AD-^V2W;U#D1U#Y+Z8CN?N9SNA9A@\XT"(=T+&15W0G0J[9JJ
MV)!DY.-K:K5W#$W-Y;1H5^JM=%OOHJ4FYYU@F)G+E4+'=PO[2K#M\NC\W:FF
MJFACL(NKHJ\/M4JGMC_(3W7V+K=*IUAM=E3I7$Z1[@[781D46E6:R.V+G=MT
MRSARF42L*DT4'C_KL$YQ320#ADD<<(&=NJN53G<[T[L,J'REWS+I=PKXOK=^
MY].?NU'I-+<SZ\J@WS+WYUY;_]!.A+VP02PN,;:EN(+GV'.A : .=X8V-DS#
M6Q91]*!U>OJT?M9%#^U"BQX"R8N8F&AF:^G$%&('81V\Z$%(-4/>S6ZC.SX&
MQ+G0<HA@D5WR AN,3,0.<XGO^III+N$UC(5O:AYE55@P'J:Q[&F0LJH0,&63
M&78EUNG4L*A.QDO^4>K,7;"VX*NR9QL6^_4S;#+;=]D"\X'A ]01CWFQG1_D
M17/)@CIHJ.%QNN_@D/A=^*5AZY=D!*< A3_32OB8H')C13^(YE R<:B&A6 O
M,VJMS&*")57$X/E5G8 FL#>(C6[C^MH>?!(^9>B4KQ,^!<8PV9OA1'.LX,A+
M-;#M]%>X:RS"FCM8;!:#8JLYUDQ6UN+.*"Y\4"DSR=JU7+CX)\VP7$(U!Q7%
MMW )X0>'/E/8:_@5>V)P63%M#)[%A.+--(_,0#?&%.0XL><+D[(7\3TF(99L
M!>4+=;C"OX(J\$0MZC!]UF$<&]\;1?BG/4;-C9Z%ZJ,M%H[]3/5"JP.W'RK'
M*'D)D9V+\<R)WF<'K.(:5W%LPH4U%KPDHYO_CBYN!]<W@Q%?B2S YI>+5FM?
MA.1">Z(78]CI/RZT*3P&N;Q>M*7[;O5HV/0T.O_T;XW,''09_N'9$SC>6:43
MF@JTE#Q'K\&3\)/KCYO#^'&'W?-K="XX;?_W[>8_M_W!5S*"_][U!^1F\-OM
MPW#P'235OR/W#\/1S=7H=C@ $5Y]&PSOAE]_)U?#[_?]P>_D[O;[[>CF.GD:
MGXHQW+(P YCX(QD-R>C;#4QX\#B\N[WNPVS)E]M!?W!U"ZOS.()?X$H]DO?P
MD9&PF-<?"E@1Y8X6YXZ"].%30OKZAUV]T[SN6]DNKW!L,US>:KO7K$T/X_+N
MY8TFUAB]#L/%TQFL,)[:4QL)T=#UTA(< Q\EJ*)-Q3!VNK\>LYPV0Z[35JNF
M:ZK0]ABAL[,NF5,UDB43N*J1E$C#5)V=DEWI9*=J),M0KJ<6_81P)L>];_^Z
M$A668:54MCY=1Y-"HZR]Z;ZA 8IX]A^!4CQPG3A<9Z%V>PVKN7S)?*7^,JG_
M[H&>-W36.KKZ=^J5;G=[39D,ZE\^!M4W)F#C<>E$ A8S]8Q0-$R\OH<O/V-:
MWER"CL-3C*G!>5A%DAMSY(3^G%#7C=+F&/RF\+)S]CJ8U&6?A'WB6U%*-4ST
M?SC#'/E5UF)+&K#.COZ+6'!&E+A=K79I1T6)5=!018F5P%64^$0T3$4:E>Q*
M)SL5)2Y#P%(MNHH2L[<,[V:-R^["0\*EY(56AG530;-TT*RWKK6)"&P56+38
MJC3:VREK9 B$*9662*7KJ299NZAT+G6*S4:EF=&!6$:57AO;+:#R(L_H;A08
MY#$V+#PQ=(K15BY^5#9M;/MKZFHP IL9[YW"2\5*K%9JN^2+0HI88T84<DQ[
MT];V,DL5A51!*16%++7 5112(@U3D2PEN]+)3D4ARQ 04XNNHI#B+5?J%658
M*)FT<^_#8WN\I9'JZ7$$V&E^N-)2:<=9ZV6JF\<1\*#Y 3ZE-N^Y]?'(0O=)
MHM&[W> EV&0'Y+%^OV'[I<+P6=LOK+>7+L]$=@I7!#+-7K%L27]0RBJ;LM93
M:=#]E;7(#-+1E541(,OM+YW;=,LX<IE$+*=W.:"IK*X,BZ5 'ND#N[L;)7%X
M9!<:>FC4*O6.@C(I+=]7RSL'TO)\6-A[E6;]-+H,E!7=I!O3*74HUJB.J?="
M!?NRO: 6JX5$\))IN_BSJ&5U@XK)5-GK'MBGA0,*XX"0B$-=W_0$&BI)_)P>
M)%[IZE"3 Y0\F[ ^KIP/FI7;PI>1CO@,BUE19FQE<94)ZS:):X#]:R,H&:S.
MPK%9(;"D=:[9Q(S;C1N8LZ1]NQ<K<$QV1H5K4S GA6M3 E>XMM/0,(6-4K(K
MG>P4KJT,$"NUZ+*'IG/$M;V"WTF&Y91)AX^ ,FJN!J)!3'U+OPF$="-D-+1^
MC204MO@J+B3=[%;J'86&DV3D'/1T-=KR=CW-J;5GK])N;H\J2WU*Y); O*.N
M^S&*FWHV06)"291<88YB.[+3:M<3._*S$-K(O@:1'?5@^/7Q>OV&J[4KO9Z"
MPY5;-1O[JN:ASH*-JEFO52OU>AHJK=!O)?>/SFVZ91RY3")^K?-X3FN@X#[I
M.UKS+7>T6^N&L8$/I\%YO<)1K_!O:D.<V(9HY+\A%%3N%4T>5$OVG=)R:W;/
MJUNRM_=-!JJ6[*HENVK)OI/EB"FD:LF^\^AGVY+]*(W7&ZW+7@N_>O*MU[,7
M33%%*H"E0M0J@2M$[4EIF$)E*MF53G8*45L&<*=:=-G37;DA:K\ZMILJ9"4R
MK)=,2GH$*&)K)[(E5OC)9%1<WJK3J;1;V_-6I=*/<];,]DZ<=5LT,Y<$4K=1
MJ744:>0^J%@-XV2,+P#+YS%;Z4U]DVB3";R4=)9?01'%8='9>4OV)Q-_[IN8
M&.X'LOYB.U<.U0WOKM"#I%:K5&L-!:HMM29WCZS)N1P\",'M*0BN\K[.^<):
MTI'+)&(%P56(PZQ#NG56S2QD ! J_99)O]MGU11#!OW>D4NR((CL&O:]6C=U
MK[ZUGJGEV<[RVG"1!-)WCL6PE]%3MJ[7IK7Q5J30*0/S.H4"\P+ILGXINP'N
M5D'>:V%>H?"*Y9-,W:\?)S.J^R8=3D/=OO(=!WY2_)$G"F\X)OBIG0?N(8;0
MK)0=]G".2J0@DTK@"C)9.I.B8'=*=J63G8),E@&]IQ9=]O1$;I#)!^V%8.&]
M8VBF(A<].AZMWDNUU@X#&2"*[X$D!M0;3A^H2YUG6B#(I=UI2P=(*^G(.:AF
MJKOV*U4SEW1"2SZF6SFADE\,RW!G5"=/MJU+9N)+!23;L/.::W=>(+VO*#Q)
M3H5FI=I(-RS>"RY6!HNM=#RAXXU#Z7@^7;DKS5KK)'1<P2@5+"1KOZ5@(>%^
M*Q3FU*QTJJ=!DZ;4629U3J'XMJIS7N=$NW<2ZBPSZ]]:2%,OR1:IN3/\W\U?
MOO$,$K 8=^3CS':\$77F\/.=;3WACZ@<KC?'3VS&A#1BF)!,A=D#\=3JCC7]
MO!%/W4(13TS2%Q[(EQ.0P>_XOXQ(W >'0H52/15>OQVYR$:IYLQNM+RQ!0WX
MR5A/9JJ9WHS B-H3Q;]BFV+=GX@^5ID"B7]_;EBV8WA+8K]8U'%GQ@(^"5^@
M+F]Z_/#]\]HCH)D^ H;>C#K#X%&WP9-^T\Q\J9%AI[8:E7JO7F%IO-5"JO=H
M6SZ2@6%^(*8Q-Y#J+2#/6Q)DN=6L984\49B(9II+WDI[X8"-\RBA8.S@8YKC
M:!9?=/>2@/!<FEAES:%D A\RX.'@\%.'4<F)+\^I-[,9OYRHC04#4R$O!LAR
M,L/'LM7'+^ CED@]]XR+2!RZ )V 1VHN_ PJ]#<&DC3#<HGM@+Q=-_95D#->
M&UDCLZEA:=;$T$S09_B%>&V^)Q6S["ZYUC7^U:N993O[9G@5LZQBEE7,LAN\
MTUZ*6^+>L1?@ 2WO3<WRD-8<S.\";5\1 /S&N-IN3<[:'>T5ZHX&TJZ0!<J;
MM_(,)'YP/S049[&0_!33SUJ=5V#\\P+.G0E4L.@E/B9R6=4[J'UZ+MNFZ"4^
MYCY5)25*X*JD1%EM9;55Y8<DE1]*=J<K.U6U4X8"$K7H:M'+L>AREDI]]@U3
M9UVY,-5--9?.;%,GQGSAV,]4@ ^*7[P2ZTU)1SYZ:5"SFZI:"S8# K!N8SN@
M8'K_6JU>Z?2V%R>42C_.63/;*8JH_34S'Y9E2353TJ(UWX%5]1U:(5-8<OB!
M(\SLZ=28T'B6548]5P?N>8]\?+/624%+PAT!9NV+V!(%'[;-2KTCGT$KZ<@Y
M'+4IZ,=^.IE3/4:M+I].RGFA_6Y[MD.>Z<R8F%3=70N?>AE'SN$H3=U=OVN3
MF6%19QE'JQ5^EK:JZ6Y"$@BHC"/GH)0IKI4]E3*OXL;.]EI=J0_3W&ZL]R$$
M>"XD::@SM?BI%SZRHO_@$>1&HI(W (M_C_9*@4'C:J7;4H0V2J/W.\)?I]%Y
MM?1KU_:G)5#T->J(+J%!*U[<2L3G-W*91"SGE6QD>YHIP_(H^ZX<5@D<UE;2
M88W7[;H2A4)KC7JE>2+>JU)O>=2[^6;USN=N!NI=K=5.0KW5Y4P=WN4;N4R>
M>TE'+I.(Y;R<W5'7_4CZDXD_]TU&&:?3A0-G)J>]P42:-K=AY+_Y+V182744
ME&WD0R$!WF_P6U-MNV.;XCJV)^!GD^(/X,SV8UMC+0%3<5>X3K/2[J9=7+)6
MHMD+F2WG#Q+HQ7EK9(HZ_J@:F<NMJ]VMM*KI9E8'U4AU6U)'9/E&+I,K7=*1
MRR1B.6]+*I4EQ=0+'[E4L?X-+FHWF<N*^:?R7WHV!O9/]"*D]%)<G7I[Z:54
M5Y]#ZZ6Z#JGCLGPCE\E7+NG(91*QG->A ?540JCPJ1<^LNJ.&5R'4N6D:T/P
MA39_;74JG8;J_JKT>U_]WKW34J'=8-L-N&KMWS:\L':PZG:FCN]2C5PFU[VD
M(Y=)Q*^]G9W3&NP0A,Z[$<OO5',(M72JDYV;9<D ]R]VWP8BZKP[B>UTOCZ1
M;-OI0(VLRK293D&$KVA-I40HEPCKTHM0>4C)PS475=FC05*9=K02@@0C*R$H
M7U?%_\HZ<IF"0R4=N4PBEA.=$2\1(Y,9_(7*L%@JKYK*J_92N(%=RON2^=4O
M,$N&'ZC6X/]Y=EY8@G:EUCF-5*M2>8E4OIOJ8O)JE6_$5#X7>$&KTFLWE<HK
ME=_3RJ?0,Z]6^7I,Y>OY6/E6MWH2*L]\L7]Y8UM?XO^O@10_!2\^\.?4,2:'
M#SC\Z;N>,5W^DGB= PP2_J_1NNRU\*N9@_:]1(*3X-E?(=Z,PF,],K;M'^19
M,WU*["E9",16A2S"5@EA'S_X'=6?J$XTE[ATXCN&MT3E8<^ZLN=P)U^*0(I+
MQIKU@YBV9O&>@-[,<'2RT.#9P6_GX/<BI8QG$VT! _\$W?*HN20/WS^OVR>=
M6BOTAD"E/WZ&4>[P<7G"):OO/G4ZG0H+%JW6Z[S'8^;CEBE4=Y_"D8XLF$*M
M4JVW,R?QX9)O&/@UOI%A^1K?T+EL#+8I@X'&MJ-3A]D%PWKZ6&4;GYF U"C"
ME%2K_X2%!/N]T'3L,,KF^F^QXS-O8>_BMG^V&,^<Z'TVW]_>;3C)QB;<[6*9
M(#*Z^>_HXG9P?3,8\97("DE^N6AU=QHU)HR%]D0OQ@[5?EQH4WC,1Z*9+]K2
M??=IESNH>!J=?_JW1F8.ZLH_/'M2?_=IQ 0!1N$*U9(USM;@2?C)];;T, ;[
ML'9RC<X%X=__?;OYSVU_\)6,X+]W_0&Y&?QV^S <? =)]>_(_<-P=',UNAT.
M0(17WP;#N^'7W\G5\/M]?_ [N;O]?CNZN4Y&C4_E -FR, .8^",9#<GHVPU,
M>/ XO+N][L-LR9?;07]P=0NK\SB"7^!*/9+W\)&1L/_7'PI8D<0Q'KE6M5ZJ
MN=BMY6G6DP$:VW==ZKG7ACLQ;==WZ C&^&S:DQ^ONS\;U VL,@7_: %C>HY/
M^</ D%*]#X8:__%'L]6HPV&VB\&+[:,W6KF$O]],.:X'BBT%"E2K7I*-^93C
M#A])&3P6%',%/9Z,%]K)*UPY#9E^)059H))WX!Q/%#5OT'"<7GYJKFMZK]G:
MJN:Q:9MTZAWMG#_J+3KOB^I,/W3U?."(1#FV=AX9V)T!F(6'[)42O4:)3@F!
MF'OL30F\6+RB,BG'TK!-0(V=E4HN %!IK(.2W0EN],)3)@J:I1:]L*V53U0A
M2+_A;=98C3!(A1XML::H19=O>Y[35$LL9;7H4FVM(C&DK$D;F6B.LS2L)Y'1
MEV&Y2JPI:M%EWYZQ.IWC;L][3:3MBU\@F;1R[VC&5O!>H]I<S3!_,2R8WIWQ
M3'4AAH(;MC8KM=9VC%ZI].*,-;+>2R&H]]'(7(#2<FJDG)[6T)M11S)+7BHZ
M^0VVO[6ZTYBP8MMM%8M1=.ON]OX5.8K8H]PZGBI.>+V.Y]._^T1T7!7XR^V)
MG=MTRSARF42LF)3D5K9#G,6IQJ_RNIK-2J.V_2 NE8*<M6JFF KD]1#E5$WE
M#\J]2<YMNF4<N4PBEC.:>4==]R.)]5W$U''(:2##NI4T K2^:6:CVMGC;(^)
M=CU;10Z.*,P-?HH?^_5*I]M1[5]+K<FI<N #:?(Q_=8L36ZUZJIAK')?SMA]
M*>G(91*QG!XJ]BZ5$]>8?526EC>M4>WN<9H7VE>S5FG555M-I>#[*GCC  J>
M3]*]TFDW3D+!Y:$!7,LJHWA33IL!H5;-H_KY-4WL"G?LE$*=%*6&XE IF<"E
MY5!1 I>F0YPZ0XZE88IX1<E.R4[)[F1DIV@?RE#BK!9=+7HY%EW.8OXX^H#0
MGPMJN:IAFYP1^UH*!AT7WG"Z&K27HU5;O:$:M2E5WS<YE:(9>(6JY]ZBK=YL
M*U57JKZG54_50+]"U7-OS59OI=&N,JKZVHQL 1VH#C!(]+_+EF'MU9B-PI_G
M#!0_]3W?R2 93:#E U^0-6*CVF2&'9MX<[>?'ID:SY0LJ>8$7=BH0UF3*/*B
MN=C';6J;IOWB?CS4Q-_0P*26:&!R$RS#%[8**5QN; EN^ H<L[&)2L.KG,KZ
MD!Q7T>QMJ5(K\BB:"O&>H+(4[F6JP%>A@2\XJELRK(Y,*KFW\=KA>K-7553:
M^QK 8*,7:C[3[S#-68&D$[L$LJ3>6KE5.8!$VI(H^%EOK7T0W!E;"T&>HQ=;
M[:B3.*PZDNCU6>^H37S+N^ZHF4.IVE,G<4IU)='LL]Y3*1[;_??4%]MWU)8Z
MB6.J)XEBG_66VH>J;]V6@L^J+27_*34*4RN2J/=N474)=EPN#-:UO>B+TENQ
MCY(M?C\V6OL7V"I>ZZ+WH#1;3<6M<SP0;$\S95@>A>5)GP;=!-9@OZ- ,8@<
MB&"A('C/9B3'L9 ;82YZ,9XYT?OLD%U=LS7&)MBVF+=$1C?_'5W<#JYO!B.^
M$EDIYB\7K=Z^.=V%]D0OQN#=_KA@#NY'HIDOVM)]]VD7&RR>1N>?_JV1F8-*
M_@_/GM3!0C)!V%-RA?N)=:K3X$GXR?5*=!A-/2S::XW.!>G\_WV[^<]M?_"5
MC."_=_T!N1G\=OLP''P'2?7OR/W#<'1S-;H=#D"$5]\&P[OAU]_)U?#[?7_P
M.[F[_7X[NKE.H@!.!0:W96$&,/%',AJ2T;<;F/#@<7AW>]V'V9(OMX/^X.H6
M5N=Q!+_ E7HD[^$C(P&,N/Y0P(ID0]?:M5XC<9S<:9;^JTL?< L,J'=MN!/3
M=GWG6. T(HPHU?N>8(^A[79U!_:8E3WT1@N7\&^:J8/ZP'W8:[7+S>"JXPZ/
M0B:^2PGS-BKP:2_C;78Z!]=R (52+!:86=^DW<=$768H]K@ZUCM3A<<\ABN>
M!QZSG0=^3E$AG;<2*2HD)?"24R&5T:0H^+:27>ED)R> @#7ODI0ANZSP?;7H
M)Y1[.J<U*+'XU:++ON=R.Q*3 4$9UDDFY3P\NJ[9VP3IP902?L773!:IW+<3
M;BPD^>:T;:?2:->D@]&5=.0<]'(3ZG,/O<RDPCE_O903S:-:5DH*^5S?Z*_9
MZZU-7*7:^KE[-J@\P#[,:NG7K:4WI&I.62:=[1Y$9X]U=F3I;+NMVE J/^J<
M+YPE';E,(I;3ZU1M*$\$4=Y:8:];CRA?O0""B..'?#$1BF:EU:J>!+!<*;U,
M2E\]HM(?/?S1K+1[O9-0^A-H5ZEPF:>-L%+M*DL(J#I+R)[":)9,X-)B-)7
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
MGBI/.:3JY^+.UAN53EUUD#L:%'\EA(9H[)'VDP8*4@3H?MQICGO3\P;=-R4
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
MP !,)72EUGEA9*8]4_B+;R%Q$ASV['Q'!XFM@@N_G?/66B[<44U"(Z^GDO9
M[N'.]!I_9N51DY0SL]-7_S<#95H:Y ;#\D^HX_&GX-GD^B9>\^''RTKT@-T]
MLAL+%)Y2AS]CY3UP9?_K:[B0\.<[S?H3/[:34Q:]3;"/HCV,+AKSE$V0#WC!
MW"OS9H;+9#6F%IT:WB7IN^ K3V9,Y,NXZ^RN]YU#Q[@*CK%E+B_)21U*X?\:
MK<O>>@JS$>R!0%HH),/#I8KNZ&RQQIJ[<OF 3TX-."50(?""0#W?L2X)/@T6
M<&%;Z.C@ZN$W%H[];+@H5]PK1F0%A>G[5V@-7\"51D=[:F,G(/>C!!1J*9K
MB$7M*ISI<!H&2&[XG#YSU6/.WY$B)=M.:L6N)BE5CF)7*R$SSC$52K&K*8$K
M=C4E<,6NILX0J35L=_HG94J4H)6@E:!/_JPH'$=4&NHKM>AJT<NQZ')RJ%SY
M#@(AXI%=\J\PTR7#NI589=2BJT4OQZ++R(#)'77#TBFF8&J7]=;">_<),VDW
MMR,9%NV\BK;?#HAOM6I)@I65]-Z],[DQO-?E\Y:WKNM3YX!8^'IG?RR\(B4H
MM7XW>Z_5[ZU53(?6[TZET=Q.'J3TNX3Z_7Z# :^^5L&W%C(=2,%A(O!30M-3
M6D[V4O/L=<N6]P=%_R'%R&4B#BCIR$K$9S]RF40LXP7[71Q<+VWP,=L!*FW5
M>:N58@P1,>0U:-I3OF\KBH6R*WO] ,I^(I=OI>RE4/9-U^\4H<@KM/VD;N(-
M=1,_[9'+Y,.7=&0EXK,?N4PBEO,F?HV,* X6Y)[>7;R\Z9+.JK\6B)$1P<EU
M%4_[:_5*KY:^IAP]>Z(T6)J$=BO%S_D*!<[]>MVM=.H]E=M6JKZ?L6X?0->+
MNUPWVC65Z%:.^1D[YB4=68GX[$<NDXCEO%Z/;"3+TD_XDEWBM$@[Q:P=>&XR
MIKP/=L]^:VY$*;%,B>P4)=IK=/A$KMHJDUT*;=]TV>X=0MU/[+:MDMDG/G*9
M_/22CJQ$?/8CETG$,M^VU05;*F]MP_TZ!3N4\5X=\\T4D%SI^+XZ7GN+CN=^
M[ZZU*]6VNG@K-=\[5IHJF#B5"W>WH OWMHY\AV:#E*!W!2S)W&4])QS##1K
MZ,:4-66;4#*FW@NE5KSK!'[89PW>//9I;&"1[(>'7?<(^)?86P];5J [P+K'
M-(+N,77V@^T[XF/&,PV[O[D2MK&HI?(.41N+FV &X?9Z@%D\4-A4$\,T6"\<
MU<="$<P6WL>"SU9ULSASM5+=+)3 53<+)7#5S>*\SY!-C*0[*U4.BK0[Q7UY
MK(.2G9)=Z62GVDB4@3]:+;I:]'(LNIP9=T'D-J93VZ&QN*T,*U;24L3U.9IN
MBL&-B^_.=EV,"V-/>\/R#>MIN* .;ZO^F4DV##93]^:GYVBVHQL69F4PH#^P
M+8PP.[9IPE=OT3&@;F$Y^^J[3[5FI=M(XRA5H:[:'9MVQYH,9GZ[(X=L/^R.
M;KO2KK;5[E"[8Z_=L0:KE=_NR $C@&='J]+HI2$!,NX.21N+!0E[S+#[+,L/
M(EV(M#NF\S7+H*X(%L1R^6%&7J[]+\TV/^AN3A$(17""!)1@#8BG[WVA.FQS
M\S$07P*.4*#O5Z_46O6MV[=4ZG36BIPB$CJ^(N?CIM7JE5YO^R6F5/ITUIJ<
MH@DZOB;GXU+5*XWJ=DBQU-Y3;O&T]T-X[H>+A6,_&RXJ""(:8W!(PR(+QX#?
M+:GF*$_I4-MR ["YUTZTID+YW ?2^6([X2:[M>Y1, B <XOS?T*(\Z=TK4H*
MUGSJ) _GJ7#=[H$4+A\_I97AI"A-.PE-Z[4.I&GY^!$9=4D'530YXRDC.E_8
M#BQAK%!"'?S']\=[23,<BN$ZDD*1*:Y*M;>]TTNI5.*<E;';>YTRYN,"U"N]
M'=*MI5*)<U;&7N=URIA7M*':5=&&'7T+I*/DE9/VE#CTF5H^A57PB.N/_\1?
M>[9\:![Y-M6Y3;>,(RL1G_W(.1R-*WZ:]I/7:P^G#]RX#FSOD9O6D0U_+?"<
M;)SV&9G?_3MQ1@IN*9<=DCK5?5@Z+(?',#W&YQ>^L[!==4$__EYK5]<SCB03
M9@/;BB0EDF8%7MW;/?G<TY*.G,.!D*+R>*N2YG.E;U::'06CD63D'&SI>I:R
M5ZII/DY,JRI?$/04KOJ(QS188PHF2X$S<*A+-6<R8W1).CBLIKV84\L#^;J>
M2R39#:>_#]>GY-K5-24Z.VW$!R&_OJ5?1](KT-5I5JI=E1T^355L]=YR)NRA
MBODX-(U*I]%4JGB2JMBNKB<*/J@JYN2T5.JM3AFA#*S?I6Q^A*KOXEML5_@Q
M$V)?1T)+W$=%@B!:&=VM9"S44FI^&#4_Z@(I13D?13F$/=RUL&@G>YB38Y'V
M*F34<CD#)+=AD05\)&PA$G000?KI-'FTU#OWW,GH-]Q<FXDL;*P _8I)4UP,
M^EY(IEU\W:IJ+J(4?7]%KQ]2T7.J:\WN,**ZTIZ?XFX*+C8.J;FYN%=1:9V\
M/4/PW[@^AN5K_ C)I9'%YI80J*/': $14J4NQC,G>I_-+N:[#?MQ;(+[&;M/
MD-'-?T<7MX/KF\&(KT06 ^J7BW9CIU%CPEAH3_1B[%#MQX4VA<=\))KYHBU=
M^-SN!*9T_NG?&IDYJ*W_\.Q)';-\* A[2I".!V\C__Z7!D_"3ZY7HL/8EL,V
ME5FC<P';[/^^W?SGMC_X2D;PW[O^@-P,?KM]& Z^@Z3Z=^3^83BZN1K=#@<@
MPJMO@^'=\.OOY&KX_;X_^)W<W7Z_'=U<)TEJ3Z7;SI:%&<#$'\EH2$;?;F#"
M@\?AW>UU'V9+OMP.^H.K6UB=QQ'\ E?JD;R'CXP$%<_UAP)69+OEB"GD&\U%
MXOAOIHSP@>Z1@21JG4NRD0?YN,-'U]FP"R;Y5WBO?8_V0<A=_Y#QFIL-Q9&;
M(L5/,.8SX"_^:$\;C6[WW4%>8X^>5<A895MH2]&NZJ*;.%M8.'TH_%J3K7]4
M-=4$/>H?%;1#!W>JSUZ_;^EWAC8V3,,SJ*M:1YTH3_SA8J/I#B#MPVRZS03R
MJE'4>2N1:A2E!%[R1E%E-"FJ?XF27>EDIWK/E*$CAUKT J8N)WB@CU=_#5M8
M8QT%)DR\J6\2;3*!U_%4->BQ*Y@Z]7HJYI&*=, /P>]BT&#GF6(,I#^9.+YF
MNJ$DO]C.M9!C7X@Q&0[IN\/I 2$!OSY>IW#"U=9V)OI2Z='Y:G"[74LASG+2
MX&-6D=9K\FFPG.#X0+#DR88!+%9W]^1H&*;'UY<,-7^&.[!3;Z2*M5,[,/@%
M3Z_D?""T%<N:+"/G<!RD"C)>HXQ')/VKG3B#3'[(XOE",QQFT$W;1?(8$#3/
M'<:A$\K"YV#A4S6MK_.Q(I'>,8GF?!#4*IV..@HD&3F'HR#5K>F(6GM$Y&^E
M556W@=W>\FJF64_84)=,063D63-]R:I-3GBGK<4EPP&1+!T)]I2G_>0'-OP@
M($ 3)J%;ZPO(YS<43[YG0 R-?.1:<J5L9\\'*JG?;,'QY85^LPP+I<ID5^WE
M:@52(#+T,'+WBIOU_8OH5)UWB148?.ONO@J\KX/\-W5L77-G&WWCBY/0V]?Z
MRN>Y@Z39*.?IE)1TY#*)6$Z_<V1[C!HS5>DAPY*5MIAX@P^:8H=+A<<&U,O9
M&>U6NLWMP2[%Z*!T.>F.;H<QK=/E([;XK/0:VSGK9=#EG8KD3Z74-_K?9<NP
MU@SYJS4!K=,,B[>?L%T#A>.>5$WSCM68?9=HR%'MFXS#VIM1\A4\A(7 ?L-?
M+<U<NH9;(3""]D19Z&BFN:#-'G7FAH6G^4SSHJ_"%L:WLO%CSQ0>L(2OPF>1
M&]O/7ME+KFW%$"UD5WRVZVG^]GMJ81O7OJ4S@K)[V_4<ZAD.6Q31,MZ]-MR)
M:;N^<ZR23R+6B.I]3Y3QUEMZN]/;6@RZ8A!.J_2[6VCIMQ ]69B:M6MI]ZJ-
M7%N%'8KOY(S+)BL*I@5^7/@F;'Z=C)?,0CB^25W&A>_0)_P3;G],R>$?[Q^N
M*C$[@FOC&&/?@V]X-CQ,8\<=?,'&.T2T]9A47 83APU(Z'QAVDM*V7._@[$Q
M<;RKF6%IEV24^7AML7#LGP;:*7-)UKH2C0CKP");0BNP$GQ./VNN,7G43' 0
M[JF#!35@+E]'"A5N_3]PF#\^,Z<GM :A5W$/1B;N5MP.OH!K!7L WN^B_NY3
M+=UMY)^XDAOF5R]B?B-[\8K)I9G'_QD<86-\5>+BNQJ4<0PD]*+"%! /,<LF
M4]]!8T[L,>BOT$?6>0J> \_UX=1::$NF9O"<A; #\ $XO;R+F!*.Q0$ /RQM
M2^</L"Q\0*AJ[+!C.KA5FY$! 0YF_$#4#0N^")^ #T8O$GMM>$]F_T'$_'%Z
M-.?+T_1>-AF8:]^!XXHMRA+;J,/2Z##E>-$[P<.5_;?!9(Y<5MS$:$]/8(%
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
MY!R-$[A(>)WY P+Q7>E))UR-?PSQN*A[[=/[R$?Q6L9&4#4P/(\#EE\]!:&
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
MYYI)JFCM0/'C0?A0S'Y@5R)Z=,M;@&6-+2V#!O;NE%2-OF77N6IPR5($ZRS
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
M5;\;%,GPKC A-A0V)-07Z9R,<D?ECA0%%?*5CBI#-URFCXI\&V#GE $!?2K
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
MEIH'CR,3Q*0\UZ8:AV0H#7"'AO1_$FX+"[!L6S<4?B.VP&4T(1P.>TL5U9*
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
MZF&4 FK_$9" H" 4 H5!H3"4E(04ZG^&UP3 H8 M@ .#% $^. @,!_%: 7D
M  F ?@+\'1 ?F%] $ (5$A;9:Z@2!_A 8##?WO_W!/:JY+TZP \7D%#0-A&4
MQ%R!* 8B3D:GYD&53"N:I;"#;.53GL08(6%IF8.R2!55M:/J&CJZ>OJ_&AB>
M.6MVSMS"TLK!\<)%)V<75R_OJSZ^?KAK0<$A-VZ&AH7'QMVZ'9^02$E+OY_Q
M(/-A%C6_H+#HR=-GQ<]?5=*KJFMJ&75O6EK;VCLZN[J'AD=&Q\8G)IDSK-F/
M<_,+GQ:7.*O?UM8WOF]N;>][@0 PZ!_\1R_XGA??WECX(?M>(+Z;^PUP?@$%
M;4$)$PSD2J"DXLEH*,(T-:^B64CI%)8MY4D<%)96UIE1X>RK_33[[\1B_B^S
M?XK]RXL)B()!>\,#PP%C8*M?AYX]V$>&K\8,8J>:CXUPIMQ:5_L5II"HKJ#%
MBU4V,LX#"Q:ZI2?Q0K_][I@58+%>7-=XU*6JUSX_6^^S_X\5;^%U0GP4'Q<S
M^UE_QZWWDKXM89UH99"^:(6U'\V &M0K=9\QA&5T;F.E?>82":7A\:UV,9&J
MFQ%>/TH"=9RH/J;T9V&FX3X-==F^LIJM:K)G+ 54<41M6M10M0Y--/1.*^C1
MV<'C7S&VLK/GHVWJA;7]V_+IZ]<AK@/>\.5P]&CT[[<=FW2I$_V(<B*U.M8&
M@3%1'#1#0!<;0#Q 1:VE99<FN37^:G>T)^607^/Z?! /(",YY?$\8!5+0O,
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
M.8*W@ P2, ,H$) : )8!061 @G8 "P @&.CW /\*" R!PN (I(BHF+"A7AH
M@R 0L/#_0H"P&BNL U 9&$KUY#FX[$5OA%H8^E3<@R*DND5UBYS3X):&D4]X
MO(BH/.:(@B).4TM;1Q=/.&U\QN2LY7DKLK6-K9VSBZO;=W^YY'[5]YJ?__6
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
MG(1V*,?N#YC4ZK5#'&P=%6];/U4JYSK,4U".A0:X@XCE5J@AZYZ_Z]Q<<>O
M5"KMUE&QV4!'4V;=5,+;O7[W4[_2N>R]^]!@?^;6B7C:9!?7'_H-5JMFCCF1
M@F4*QLSHE*N]=BN;+:59E8^]W[O%U&)9Y:)SU;O\W%A?V&17G9MW/912S29-
MYF#B*ER*H6K,I.ZU7ZN!S9JL=92UV7<78\0P<2BD99W1:MCN?GK?.^WU6:U^
M6&L=E2\?1_2ZA8\C)43W@UFR\*Q[T^]=],XZ_=[UAX\+&\O?[%E8O9#2"]@Y
M'XF(?;YDEY"K8<!",#3(7,)=XRFM='P@829IH$V$^6<S'F).-JK-6"M7L>)O
M:'C)8Q&Y!/^LOMI#C:7,>!3AQ+=[U3W:RLSV28!"N%$[R29^()H-%!N\>=4<
MD;TAEZ5N3F?-O4>UN79(]B(012L*/;D>/9;P$3 #(P%C1#^7",NX4CF7^#+3
MQC&MV(4V*:M7*Q=,QZR;&\WZ$";LO99TWI:=Z33C:LHN12H(0_== NSUS[_6
MZ]5F.>:?:LV#YMQN_&'^W4V+\]ETQ=;.L;XC_CSE%L\?799.V:W28PG1$(+"
MK:4_(TV;:JQXF$U<*$:>RY4S.24>UD!?#M'1G*7X9 2&0LQ#?&681O\RIXMY
M=R8H",%:;J8T)>6WP"@.YGM:?!>A,BA2DM](!DT(A<$:C-,4+D=-,.?9.!$8
M8#:G'XOU8S!0;D(&I,)*K,M4K\?")6B@S2#T"M*^&:JF(S03O8"',I@N'\,S
MC</C78]#8+%0Z&D*FH5G PQ"G([#9FE<J!B!ASN!^P@5RCS"/3%ZEMP88.0)
M(Z<L0^=3W%(\2[D(S#(F[)IHC/U(T,8!S<@E3L!HU!@R7ISU^H3<)BR6>FSG
MH5H"':<WA=*H8K 4;G:FR4Q5>-X!]V9' JZ/![U4:FJ_-&T93R67(930<2SP
MT?NMQ[@!'Q[H;D&L SW)P!(#$3:AZ30M180DE*3G2-A0:IL;\-AIM"SB)#,Z
MA A?6[:/D1$!QEGA_NXD3+@: NL@+-WD$F?4CGFE=K(/!WYI[20JGHI'04Q4
M%?%)^S/"KJ6P+4*)=-E84+PB*$9!9*=;')<?)A;06(U0_$%D[+E3O\<-RX6!
M=U)D>^1SGQ_L1M*>@\47&,&^T'\]O0+B("'/[>9+B P, %.EE%30"YUCA.2(
MV"-A?1' 6:#\/M3R+,K'<@DR(+G/O9)?E/D3E+6)1@36$53$:BDB?YM@\X$5
MD>!&D/:BH$"^(BK:)K=$2SQ.6<]A?,G0%E ;A_6)%F6<O))+3F4.;?(:+.@-
MKBC(TC+'P[\&0!.Q&.%ZB!Y4?9XX(9ZSO-T[[:TE^_Y@)U%GXY)[!WPV+]8;
M8Q#BUDA$1$NXU<H71&X1EJ@UPI=#;J)9^B,:"3X04K@IL=/[Q!(2>J3P(%"
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
M);/3F]0R$@:D""!0@=@5T:W6*I"?R]JAHK0%0,@%-AU%J,7!@-!DS2@'2=;
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
M!O[!(C(:GGNK@05WJR&$A#AF7,_^T\BS[LX!7Q4L,/4<4U\,"OI W^B*,+L
MX1I3_:U3%*ZG8>(-K.>P-Y#FP)U4W$&-3"&<+=PBO878-O*<QA!P!@Y@U5$,
M5-SJOJ]BHCBSG&A&.F66>;3XOG@'.Q-CR8@[\VP;3:"60811;:Q50(%P4$B(
MLPX7AS@)8M*.&!YR2%O?=L#X;!L,KVPE'&'F&L1V5X4]Q%]$;W/MH'T.%T]*
M, CLB@D:82Z1=]*-%]/"8 #1VW)<Q2+:4(*@.3AA)E5'9( 1'&A1(OX+WF8I
M-/660U-Q;,_7\%S8%A=TT\"D@+Y^&>([!#'B.)5+L$:VS;HLX> CWIW)-3.:
MXTKGM>*2M -F(NE=^0V1$7Z5T$3D$Z\:6V+9J]TA15K<E_OBPJ7\M7^(S3F4
M$ECU,!H=W4J3FOA *&F:^.1LRG;7S6 Q1- 84B)<,5\>7A,-"@-GFAA81 L^
M,K69,ZDZF5+$B>E1CR'C<J-";\<G[X:G0XRAB;-W\-CHY!SC<*=GIQ\_O7T_
M/!+#TW=GY_#YYD79/JRVL=%^Q5(#@:Q%<=#<O/3JJB-/<K4%KD"Z6KUE0\3
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
M!M2[*S&_=N'QGNK?NQQ.[]T#')7ELO$<CLUK' 85+DRIYC$7%=[MVY$(.O/
M$!Y*D:4#&Y+',M$[C:*3$E3'&U>@?M J*%V*F<[UK)[].),W^%_^@M;/D^EV
M%C)U^#<N#9D./(@/2USNF%W$+(46;/W(\!26ID!*8%CJG##KR+I;K9ZYB"56
M>M& &P,6C/3G#/GZJNEL8'.<YW5%I1CI^0&1R3IV0(>8E#.N==NHK-TSQQ&O
M,TZ>GZ+XS9NO';5Y[1&#'0VW49/1OL"1,9@G<<!VWCV:>2.1Q:G$"UA>>JG@
MRJB[?_><O%T\]!M\A8SQ"G'O?LV0S69A]+Z=#?NCTF1J6,Q$54*S+'8E+-F>
MO7FLP 09E:=.,-)/&Q"8L #:+$O[/K%X;Q(4J<![!\Z0,?YSW:$B_ 8Z ,L4
MZVJCMF-GRY7MY@H25YC%0<+8I9LUL'RK7I"$Y@PYZ -,V(OUF,?*LQRP&'8#
MB9)"J![.94[XJ.#;U198CVW,B>Z.@7DT#_/BF@C:/P7"T6HQIT%_=+)EU>@3
MI-T@MO/2S<4D(]IV41"$S\U'H&5PM73CO1<*_U@!D$0S <.S127<S\=8]P?W
M\YKW:F==H8''8?HZ/'UO&1<M;PX<!3=-@"\0(M>LE[TA,"W2"L$Z)N4T\S-X
M'A4])L'/'/D?G26!Z[94A)I0Z)Z_)59SZ1HJ+'<^TOL_K2#%EBCVNR"*'44B
M@L2VO0C9_LH+IPJB4"@2K"H4:I@+4,5TAB0&NO3D^Z2E!>AG4A28-+('II'3
MQH,^!*(E.A$[R>Z.UKL[;W=9.PV=<\>.0#H,F/MW>8Z2M^;#Y(D^L</SZ],Y
M/%]]BQ9/YZ2LWMA(10ZMCME6R&W!.Y>3O^(RWK^+-_)>5OF!+IU'Z>^QYO31
M=NH3.3"8W^=+?W'!+X^Y(V?0\@D"@\37MD2.,[*G=VYV1:YS52W$SF_/=L%N
M7Q@K]&5J$WDHE3#EDD31163/&Y%;B)W%+E4)V7F^ZVDON#&O?[D$S;ILN^S^
M$D-++*<ZJ\;OL/#1P;.]_\9!N'_\%WDO2+>#%N&1?]:RK*@ 9>1O\,8N.@;P
M56SZ^U84;$7!QHD"3!YDKWC/+7B+6$"//HJ %TT10/KF>F+@N]0,GY!9]?4-
M]4TPN+R//(\MJ91KN$GV\&%A<8F!"'TC=G[9%92CB^1-%7EJ*(L>?@PMX%[
MY/^=@U_]S[POB!.($=?$ON_FZ1 7F+,,NQ5=[L&M8>,25UI=6Q<V.CLK-9N3
MFX/<?#*]DN32QDH\G/I,C;#]QN8<9NXN-<X!TL^*V0FH""H[W2E-SA:,M]7=
M,&K!=V>J)DI67# 1+F*-KK(X%=$UO[U,MY?I=RYNSJ@6>F],H^D))WF$ H7C
M[BO]QW!,;4J\:CO)2V$K&)._O!6WZXV1NL"DC]AA5#*.:RZ6HIB.9^P.,<Q'
MW[U;B;"5"$]& >D+?87(#R;J(X25U)$0C14[&/[&FH,@1"Y;)"<6O.,AUU3,
MT/^+B@L212!H^$CL9^N8JV4'[U-0V#<947GP['N%5&Z-M*V,O(N1)JG^NO/I
M)0CMSS+O8Y -T0C&SH]4CB>4J)Y$:(QZ#I^ E"5,$MA%&"-62/W1*+_M0L,P
M.H)H1 .R%*V^!!P+SR@LMZ-WB2J8-*N8P2H*7V3RVLEP=9,HY9$$2SBF97?E
M$MQ#+IA:BKOGD-Y//[%[%-3 C-LN$5L0D4MQ%5H,^=DBM E1G@?@ UB52%U+
M!#0X23#IQJ^!AU+R2U@"=<*;S.(Z:5F1?-ZKYT)>ELH%XE?"<W:W.N)61_S.
MY1\2%;GC0<H"!>O1C%H%@7,,1GBX"/!=U!65>HYAH1,2C2!1>EH9M#$T*)[F
M@3L/ 6K=N('C[<G=GMSO_>1>A,-#-+DY\JJ#?DO)B)Z^#5VJ;4#:8-7)MI!
M<M &;W.1>ZY6Q%]FUNGB$*JN-0?61ZWF6F7(Q'+P?+=!-+D]N=N3^YV?W"6;
M \G\X[L7<ZS@/%\618KJ?36U*#FL]TN93K9*-"9=X26;3!73,*LK:R"@S4!I
M/ZYZ>"OI <D902%WE!D#CP@/Y+:#6&0P%30"]^\O?TB.<0"1QL]@#KT:@4ZP
M> <^L;XF3LUJH#J:[F^OFG0]V(C5E0HYLC&+@Z?2VFY=SR%1+2RP9MI:3\%M
M"?^424H]9BADDF&=!T/K;.?U6Z]Y04AJ1W@Y$!>125R*D8WK64/-!>T<M!IY
M$1NQ_-+60'*3R#&%@<N40KL0MBGG!C(Y^C)FO;7AR6#->''B"$G,N>[CCW:<
M#>75Y1(%! (>09PC'U7U[T\U5]P$V*!HU+:))\&7\[!A5]@>OE8'4UBSQ8R@
M"A(.CE;2)P"T\44-4=(0(S!$0XD6"&H:!(+2.XUWI\XSQ%/=IG TAH6B(@I&
M[3J\/#+0,PTJ%D,+)[;)?3D@8@^:*)WS<_1RY*'AG8*G2I=)/4,S)%&6)!MI
MZ@E2C/-AM(N0:5\1H#7.2WV%.Z3$4%<$[(>1X_X(VSO,UB".6U,.SX7/3L2M
M2.YOMS]-*YTMSD(.NY+>,Z=J"? "&79M]2K:ZY3*DRP\ GN=4;FW")3"J*+A
M[- K\E[C%!@2[3 >MT RI$=8=Q><U ELL+QJ)CW@"A1Y;HGW_'Y8;WP-OQF5
MP:8 08'W6&495?T1=.,GM$-4<TC+L<:Z,_OB75WBT8@570MN"! #X3UW:4@G
M<TW'DX'=3JPK#G:K0_%^^]DOP]RO[H F&.?HJLA ULI29Y;!V*U;$Z$19K9M
MQK,;CYLUVS27K:O_J:C=AZO=6<68R@S A91D2I9T_W@\50<+.\KL%><#GM)E
M3WAS:_1NC=[MZ6N[G-8^35^-$X+P"A.\[$ESQ<M^E5;54EI6YQ;;9&5*J%MI
M]K:*\%D-9%_<(JZ0<PMF@(U.SDR.R_ UE)D)EEFP9 X"\Y1\;1,"6Z4%0\%X
MQ%\VWB^=Q*UDW$K&[UPRCM8\*FT0^>*6),78NHQ<>=L3MSUQW_F).RUZ,3NH
MC#!,!E,P, OIEV>[Z'V#\RE+2D?:'J#M ?K.#]"A2U/"N/#.P:Y8@,7,]Y/*
MY-P@R4UUK6Q\J-?1YQQZ<.^5"W;I-EWJC[XKMB=M>]*>J-GLXD:!=91.8Z@Z
MMX1,[32BJ<(G'-!-"$ Z6_38Y_;;$&,<]7#S%M<-IM1&5V@T, -T!KEB9J=
MS47J>.I*A;;#F;T2$%%VB/#E)8T<Z;?5B_TTM]A6&]ZB=*RHSNA:8QDTJ\@Z
M5J#9'+,W)C48^6;:Y_ZDN>BG*7-IIV$<C3E8F;W=<*QXGG78KY';15Y>8H=5
M \;<3C0C"L<H_I9V, M1 4N8-4Y8;[X0QGK@%"RB(& 4)WK$^GSW>(PLF^P?
M16V3=./,6YPLT(ZSVF!J,1R0.8;/.>K&,3(LP$U[H(,6+11$1@2[SCGT;['T
M=CL[=,L2=*,K*FR#<KQT]@SU,CO'-'B[(BT4HU-LZM,UZ/V(!2"R01"JL+<(
MEF[)6'5N:J0IH3 9105\M-'NJ:7*ISB#+LW24<IV%8:=4)M,"ABP,E)@Y@T<
M3CL7\40.A"UY#)L1GRU*EB.->6@$Y?PT-$6AF2*J@)8Y+Z(WLL4J>PDP XC
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
MY\%@+0NZ&CH)JG&;MF><FW"&P&R$U.'*[7CA+8+WNQU0G&5XFT'&O9CX!-^
M)8-ZB=KN,=7U/,WE5"$*7<.1, 1L%;KX8Z?*_.3.(9 3M!&\([Y9<J[:C:U=
M=K?'AI=6V/;H'![+23A7G[;2>-?S<#V+JT[QMY!0C .!I+42K(7T+1H=L1=!
MW^P(=-):-97ZV=![PCM.(FE5SR]E7"8)A*'@/!4.72>>^^+DH&T7;'3H0/E^
MW03O:'.RZL.CEWNO3[W%(5QQB/!61AE0.#0ELB56U:Z&1@,_FY2:8Z[ @HCA
MDLOK^ULXA[J@3%45C<*J8)$N=] Z)V"R(Z-'& V/@']\Q@)*VQ%P6,C#1Y?*
MK1]SVCLCXA'FM@S,";LPY3^U,I57%$U5=%>7_+@4'/QO8E3'R<"F,?2P*J]3
MD[?]8F\7"W!\SA;KOO2LCGR9#5NCO &+^?+IC?)E#L<G5BFW97U^$.\;,<J7
M^=*YU9YM'/IAP47,Y7PZ'4'<LDI+ZXP@"-?%CI\G.=\QT\ :1HN&N>WL9PD0
MH@R-)]\H5_L#AC%#5O_Q/;[J0:HJ*$:K&VL[HVY]*@M1%5BWB86ARLV6N4>1
M_!K<&KLNSAG$#+I,W6T-K37XAP@4Z#,H0#O"-Q=Q&$_&C,I(<S1&G/3W*,D(
M]ELV\ZL!=O@V=Q^X:_YZ/@NLFT>GKN3A\DYN#,KCZ@%*L[N$;8.ITAA,A55-
M+*&"#K+B%?)0-S* I1N#(?>?8$M#:U4M?(3=N^"*)\LW&<$)07OA' V. 2L@
M)T).)LX)<G<PL'']][+&NVBM41[8O65QZ+!C3;/(2PH$&ZP1ZG-WLU+E _(:
M0N![N9A@"OI>F?HVU>8^N*&VUFL#IN759P@IM47V2!*YK>'JF#B\2W>B(#JB
M# Z5@V!>QS7>T]4GE-9!5QIT;=$9*"WC8PRIIQ(4_=+EOYBV4"9"V*F92JEG
M;<[9-!S:=P]P1,&1[1A6B@BQO],81G.JN%JF5\+MFX/)O1ZK*C_&%VZ*TVS1
MNI1ER0TFH^9M-KW=<3\QUO0DOK3?LM4%'FK.8Z#.@N>(5.XG0BNEE74+J/B#
M<5EC.2&XYM:S9*'J2W3"+LH23 !V_[>73S$^Z5$'S;I;G%.)M]"HA&\U2RB&
MS2:VJ!]N79X0F&#7HL\W(V C \2NZ$E\$47ZO99OO/B^RS>^F%YL78KN$:8N
MN-IC$*]?O?3G\CR/X_Y;<-_NQ"]XM&X*@V#WM:+#A^?K#'-.>+/%1P.N)P]P
M&A5TK:LN'KU$O>XQ]^XYW<;.WG.-;2!N4R83&:CNFXLS?(H3!B&\P@%!Y4#A
M>49^AL22BA^!>Y>&EW+69=K-ZP^=JJ9FR.IIN@>F0PVWJ@F0[H9.=0K:@48U
M7M6ZL)ZS)@]2\=WEQV_#+)IE!*IF'.K@4))'#GBJ,<@6(.=$.)'S@;AM<+V&
MEL.<7=$\-6.(1OQ$9<;)4T7JF:J'[V'U%=2'$M>"^]A^5.-73DESR:G\I-,R
M7<80Z[*-ID %[5SN2(7@L+MI@8(#?UM,3C4H(+'V8=FC^_-(@AN4<'&)HY=2
M_"9DATY<VO]!=M8%*+(.K\(1N\=SMQNM&+59UKMV26]CDYLUO56[<PLL9YWI
M=0N6^KIK[ILBVE9"39635[F'@,$/78GWO1UM^FV>[G1JQ^90/D+=-9(% :+"
M<#VIA$I-PCL>DJ%X& Y:"=-Q#5H]NP_K77\JEGHY@^,>J6L1ZD=)97AC%N:)
MEVFAO+ZLZ[HX2^/A,-0-$QR4N^EK(T>W8E&_7'7'LK\2.NS::%[\Y>0NPIP
M85E4A=ZK+_N"@>)1GM_YCYAO"(ES>1Z.7/@$3/!Y!=-@[IPF]=]U;N 64]A
MP/_#TV,*IV@T4G\GV6T=B6WQA2ZMU;"7M7$>.>CW(=.[.OV'CBN^[7]_B']]
MJ!D%HZ;Q<;)"9\+.J'70='B4X?WV^%-*H,+JD'M[,#=P:GY\^H-Y4T;HC>5F
MB_0]%M%609?'G^@G2 +_O"I5J+$@GS#7QH-%FF[LQBJPB&^A[ G\VO9<?2Q7
MMM9W=V(!:_,^B;J13;)[O81%46OGOW<G.I[P$+=L)H,L^\K\RRE;^&F#\-/+
M+?RT_1G*;_%G*)^*9*#B\NJ7]Q?G[SX Z3T@_/(&_B).+\_%Z;OKBPO\^&LG
M<.VR1 $Z(\OGB8HG[O[-(??*&-^9Q"6Z]UK-W54ZLZK0?XV?X5SZ[4QIUX!&
M<?"'?F"3[[<,?WV"+I6B.F[L^,=KJA?<!' G?B_Q#@NRA:.\+,(F@)HVA&S)
MC*55S?< 9D#> %T)^+WW>5*"Q3/:]TH9>#./J+H.?6#7T$2H+H:,#D$;$9HV
MXG<Z;SNN"KE<52/W,SBDI=E_0-M#B)K[O8.UFLQ\CUB8?!]Q]9]>>:>JAYJ&
M8EP:LOV!I+B:<FKH"2G&B7R3Q_)-?$,O5+V6B&$G.<D$X])!9::O=:D*$UM5
M-[:;I77UYT=_/_;"(W#D533+-/B7HW:]1&4Y(R(X9JOJHA=6H'!50> =-4&:
M$0%\*U;NBULZ[RMLM,\YI \7^9P&K'&A=K/^0)S)F2[@D-,E9B1.= LN-@,R
MXL>WR+H\:]44AR4I='RQ$A8F0 0U"P?^/H*IGY8"IE%>%'FZT9CI!L95\6%W
MX+3"=:N=-E[HJ[U&V+=1UJ_M[U6S?]%U^"^>?N,^&@VG]A+,TA_=O.V6?>8M
MPR3EU[M9VXLN-ANJOGI:UA[CS9@G_P=02P$"% ,4    " #:@YY:/^KH/9$B
M   0Q0$ $0              @ $     8VQW="TR,#(T,3(S,2YX<V102P$"
M% ,4    " #:@YY:D5HC$*0.  #^L   %0              @ ' (@  8VQW
M="TR,#(T,3(S,5]C86PN>&UL4$L! A0#%     @ VH.>6B4OH&:@7@  /?\'
M !4              ( !ES$  &-L=W0M,C R-#$R,S%?9&5F+GAM;%!+ 0(4
M Q0    ( -J#GEKXG@[:=Z(  !!4"  5              "  6J0  !C;'=T
M+3(P,C0Q,C,Q7VQA8BYX;6Q02P$"% ,4    " #:@YY:,-<%A@Z;  #C/PD
M%0              @ $4,P$ 8VQW="TR,#(T,3(S,5]P<F4N>&UL4$L! A0#
M%     @ VH.>6A2]?3Q;\P, N$8Q  P              ( !5<X! &-L=W1?
M,C!F+FAT;5!+ 0(4 Q0    ( -J#GEH-5Q'"-#4  '=%   0
M  "  =K!!0!C;'=T7S(P9FEM9S$N:G!G4$L! A0#%     @ VH.>6DW?$':'
M"   (@D  !               ( !//<% &-L=W1?,C!F:6UG,BYJ<&=02P$"
M% ,4    " #:@YY:(,C#ZO$&  !^!P  $               @ 'Q_P4 8VQW
M=%\R,&9I;6<S+FIP9U!+ 0(4 Q0    ( -J#GEK-#2NS[08  "DN   .
M          "  1 '!@!C;'=T7V5X,3(Q+FAT;5!+ 0(4 Q0    ( -J#GEHT
MU!(C[P8  +0M   .              "  2D.!@!C;'=T7V5X,3(R+FAT;5!+
M 0(4 Q0    ( -J#GEK-.,?K(@0  )L2   .              "  405!@!C
M;'=T7V5X,3,Q+FAT;5!+ 0(4 Q0    ( -J#GEI*UU#1,@0  !L3   .
M          "  9(9!@!C;'=T7V5X,3,R+FAT;5!+ 0(4 Q0    ( -J#GEH6
M*?E &CH  "^B 0 .              "  ? =!@!C;'=T7V5X,38Q+FAT;5!+
M 0(4 Q0    ( -J#GEHH%)M_D (  '\-   -              "  398!@!C
M;'=T7V5X.#$N:'1M4$L! A0#%     @ VH.>6C5GKI#J%P  ,8(   X
M         ( !\5H& &-L=W1?97@Y-S$N:'1M4$L%!@     0 !  X@,   =S
$!@    $!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>156
<FILENAME>clwt_20f_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:clwt="http://euro-tech.com/20241231"
  xmlns:cyd="http://xbrl.sec.gov/cyd/2024"
  xmlns:dei="http://xbrl.sec.gov/dei/2024"
  xmlns:ecd="http://xbrl.sec.gov/ecd/2024"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2024"
  xmlns:us-gaap="http://fasb.org/us-gaap/2024"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink">
    <link:schemaRef xlink:href="clwt-20241231.xsd" xlink:type="simple"/>
    <context id="From2024-01-01to2024-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2025-02-01to2025-02-20_us-gaap_SubsequentEventMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-02-01</startDate>
            <endDate>2025-02-20</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_clwt_PactAsiaPacificLimitedMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">clwt:PactAsiaPacificLimitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2024-12-31_clwt_PactAsiaPacificLimitedMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RelatedPartyTransactionAxis">clwt:PactAsiaPacificLimitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_srt_SubsidiariesMember_clwt_EngineeringServiceMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">clwt:EngineeringServiceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_srt_SubsidiariesMember_clwt_EngineeringServiceMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">clwt:EngineeringServiceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_srt_SubsidiariesMember_clwt_EngineeringServiceMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">clwt:EngineeringServiceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_srt_SubsidiariesMember_clwt_EngineeringServiceMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">clwt:EngineeringServiceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_clwt_HongKongAndPRCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">clwt:HongKongAndPRCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_clwt_HongKongAndPRCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">clwt:HongKongAndPRCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_srt_SubsidiariesMember_clwt_CNMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">clwt:CNMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_clwt_HongKongAndPRCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">clwt:HongKongAndPRCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_srt_SubsidiariesMember_clwt_CNMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">clwt:CNMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_srt_SubsidiariesMember_clwt_CNMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">clwt:CNMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_clwt_HongKongAndPRCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">clwt:HongKongAndPRCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_srt_SubsidiariesMember_clwt_TopsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">clwt:TopsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_srt_SubsidiariesMember_clwt_BottomsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">clwt:BottomsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_clwt_TwoThousandTwentyNineStockOptionAndIncentivePlanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">clwt:TwoThousandTwentyNineStockOptionAndIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_clwt_TwoThousandTwentyNineStockOptionAndIncentivePlanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">clwt:TwoThousandTwentyNineStockOptionAndIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2019-04-01to2019-04-30_clwt_TwoThousandTwentyNineStockOptionAndIncentivePlanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">clwt:TwoThousandTwentyNineStockOptionAndIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-04-01</startDate>
            <endDate>2019-04-30</endDate>
        </period>
    </context>
    <context id="From2022-01-01to2022-12-31_clwt_TwoThousandTwentyNineStockOptionAndIncentivePlanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">clwt:TwoThousandTwentyNineStockOptionAndIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2024-12-31_us-gaap_StockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:StockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_us-gaap_StockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:StockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_us-gaap_StockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:StockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-01to2022-12-31_us-gaap_StockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:StockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_StockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:StockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_StockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:StockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_StockOptionMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:StockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="From2022-01-01to2022-12-31_clwt_YixingPactEnvironmentalTechnologyCoLtdMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">clwt:YixingPactEnvironmentalTechnologyCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-01to2022-12-31_clwt_ShanghaiEuroTechLimitedMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">clwt:ShanghaiEuroTechLimitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_clwt_ShanghaiEuroTechLimitedMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">clwt:ShanghaiEuroTechLimitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-01to2022-12-31_clwt_EuroTechTradingShanghaiLimitedMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">clwt:EuroTechTradingShanghaiLimitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_clwt_YixingPactEnvironmentalTechnologyCoLtdMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">clwt:YixingPactEnvironmentalTechnologyCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_clwt_YixingPactEnvironmentalTechnologyCoLtdMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">clwt:YixingPactEnvironmentalTechnologyCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_clwt_ShanghaiEuroTechLimitedMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">clwt:ShanghaiEuroTechLimitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_clwt_EuroTechTradingShanghaiLimitedMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">clwt:EuroTechTradingShanghaiLimitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_clwt_EuroTechTradingShanghaiLimitedMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">clwt:EuroTechTradingShanghaiLimitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_clwt_HKMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">clwt:HKMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_clwt_HKMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">clwt:HKMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-01to2022-12-31_clwt_HKMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">clwt:HKMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_clwt_HongKongProfitTaxMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">clwt:HongKongProfitTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-01to2022-12-31_clwt_HongKongProfitTaxMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">clwt:HongKongProfitTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_clwt_HongKongProfitTaxMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">clwt:HongKongProfitTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_clwt_StatutoryReserveFundMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">clwt:StatutoryReserveFundMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_clwt_StatutoryReserveFundMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">clwt:StatutoryReserveFundMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-01to2022-12-31_clwt_StatutoryReserveFundMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">clwt:StatutoryReserveFundMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_clwt_StatutoryStaffWelfareFundMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">clwt:StatutoryStaffWelfareFundMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_clwt_StatutoryStaffWelfareFundMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">clwt:StatutoryStaffWelfareFundMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_clwt_EnterpriseExpansionFundMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">clwt:EnterpriseExpansionFundMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_clwt_EnterpriseExpansionFundMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">clwt:EnterpriseExpansionFundMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_clwt_StockRepurchasePlanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">clwt:StockRepurchasePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_clwt_StockRepurchasePlanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">clwt:StockRepurchasePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-04-30_clwt_StockRepurchasePlanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">clwt:StockRepurchasePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-04-30</instant>
        </period>
    </context>
    <context id="From2022-01-01to2022-01-24">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-01-24</endDate>
        </period>
    </context>
    <context id="From2021-03-01to2021-03-03">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
        </entity>
        <period>
            <startDate>2021-03-01</startDate>
            <endDate>2021-03-03</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_srt_SubsidiariesMember_clwt_TopsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">clwt:TopsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_srt_SubsidiariesMember_clwt_BottomsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">clwt:BottomsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_srt_SubsidiariesMember_clwt_TopsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">clwt:TopsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_srt_SubsidiariesMember_clwt_BottomsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">clwt:BottomsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_clwt_BluesSkyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">clwt:BluesSkyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_clwt_BluesSkyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">clwt:BluesSkyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_clwt_BluesSkyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">clwt:BluesSkyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_clwt_BluesSkyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">clwt:BluesSkyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="From2022-01-01to2022-12-31_srt_SubsidiariesMember_clwt_BorrowedBySubsidiariesCompanyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">clwt:BorrowedBySubsidiariesCompanyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_srt_SubsidiariesMember_clwt_BorrowedByTheCompanyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">clwt:BorrowedByTheCompanyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-01to2022-12-31_srt_SubsidiariesMember_clwt_BorrowedByTheCompanyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">clwt:BorrowedByTheCompanyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_srt_SubsidiariesMember_clwt_BorrowedBySubsidiariesCompanyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">clwt:BorrowedBySubsidiariesCompanyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_srt_SubsidiariesMember_clwt_BorrowedBySubsidiariesCompanyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">clwt:BorrowedBySubsidiariesCompanyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_srt_SubsidiariesMember_clwt_BorrowedByTheCompanyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">clwt:BorrowedByTheCompanyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_srt_SubsidiariesMember_clwt_BankLoanBorrowedBySubsidiariesOfTheCompanysMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">clwt:BankLoanBorrowedBySubsidiariesOfTheCompanysMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_srt_SubsidiariesMember_clwt_BankLoanBorrowedBySubsidiariesOfTheCompanysMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">clwt:BankLoanBorrowedBySubsidiariesOfTheCompanysMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_srt_SubsidiariesMember_clwt_BankLoanBorrowedByTheCompanysMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">clwt:BankLoanBorrowedByTheCompanysMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_srt_SubsidiariesMember_clwt_BankLoanBorrowedByTheCompanysMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">clwt:BankLoanBorrowedByTheCompanysMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_clwt_PropertyInBeijingPRCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">clwt:PropertyInBeijingPRCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_clwt_PropertyInBeijingPRCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">clwt:PropertyInBeijingPRCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_BilledRevenuesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis">us-gaap:BilledRevenuesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_us-gaap_BilledRevenuesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis">us-gaap:BilledRevenuesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_srt_SubsidiaryIssuerMember_us-gaap_UnbilledRevenuesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiaryIssuerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis">us-gaap:UnbilledRevenuesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_srt_SubsidiaryIssuerMember_us-gaap_UnbilledRevenuesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiaryIssuerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis">us-gaap:UnbilledRevenuesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_UnbilledRevenuesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis">us-gaap:UnbilledRevenuesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_us-gaap_UnbilledRevenuesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis">us-gaap:UnbilledRevenuesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_clwt_PastDuesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">clwt:PastDuesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_clwt_PastDuesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">clwt:PastDuesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_clwt_MoreThanThreeMonthPastDueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">clwt:MoreThanThreeMonthPastDueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_clwt_MoreThanThreeMonthPastDueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">clwt:MoreThanThreeMonthPastDueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_clwt_ThreeMonthPastDueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">clwt:ThreeMonthPastDueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_clwt_ThreeMonthPastDueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">clwt:ThreeMonthPastDueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_clwt_OneToTwoMonthPastDueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">clwt:OneToTwoMonthPastDueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_clwt_OneToTwoMonthPastDueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">clwt:OneToTwoMonthPastDueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_clwt_OneMonthsPastDueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">clwt:OneMonthsPastDueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_clwt_OneMonthsPastDueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">clwt:OneMonthsPastDueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_srt_SubsidiaryIssuerMember_clwt_FourYearsToFiveYearsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiaryIssuerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">clwt:FourYearsToFiveYearsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_srt_SubsidiaryIssuerMember_clwt_ThreeYearsToFourYearMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiaryIssuerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">clwt:ThreeYearsToFourYearMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_srt_SubsidiaryIssuerMember_clwt_TwoYearToThreeYearMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiaryIssuerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">clwt:TwoYearToThreeYearMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_srt_SubsidiaryIssuerMember_clwt_OneYearToTwoYearMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiaryIssuerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">clwt:OneYearToTwoYearMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_srt_SubsidiaryIssuerMember_clwt_WithinOneYearMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiaryIssuerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">clwt:WithinOneYearMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_clwt_CurrentsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">clwt:CurrentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_srt_SubsidiaryIssuerMember_clwt_FourYearsToFiveYearsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiaryIssuerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">clwt:FourYearsToFiveYearsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_srt_SubsidiaryIssuerMember_clwt_ThreeYearsToFourYearMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiaryIssuerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">clwt:ThreeYearsToFourYearMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_srt_SubsidiaryIssuerMember_clwt_TwoYearToThreeYearMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiaryIssuerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">clwt:TwoYearToThreeYearMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_srt_SubsidiaryIssuerMember_clwt_OneYearToTwoYearMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiaryIssuerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">clwt:OneYearToTwoYearMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_srt_SubsidiaryIssuerMember_clwt_WithinOneYearMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiaryIssuerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">clwt:WithinOneYearMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_clwt_CurrentsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">clwt:CurrentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_srt_SubsidiaryIssuerMember_clwt_OverfiveYearsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiaryIssuerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">clwt:OverfiveYearsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_srt_SubsidiaryIssuerMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiaryIssuerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_srt_SubsidiaryIssuerMember_clwt_LeaseObligationsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiaryIssuerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">clwt:LeaseObligationsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_srt_SubsidiaryIssuerMember_clwt_LeaseObligationsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiaryIssuerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">clwt:LeaseObligationsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember_clwt_LeaseObligationsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiaryIssuerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">clwt:LeaseObligationsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_clwt_CustomersCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:CustomersCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_clwt_CustomerGMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:CustomerGMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_clwt_CustomerFMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:CustomerFMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-01to2022-12-31_clwt_CustomerFMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:CustomerFMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_clwt_CustomerFMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:CustomerFMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-01to2022-12-31_clwt_CustomerEMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:CustomerEMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_clwt_CustomerEMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:CustomerEMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-01to2022-12-31_clwt_CustomerDMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:CustomerDMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_clwt_CustomerDMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:CustomerDMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_clwt_CustomerEMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:CustomerEMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_clwt_CustomerDMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:CustomerDMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_clwt_CustomerHMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:CustomerHMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-01to2022-12-31_clwt_CustomersCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:CustomersCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-01to2022-12-31_clwt_CustomerGMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:CustomerGMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-01to2022-12-31_clwt_CustomerHMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:CustomerHMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_clwt_CustomersCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:CustomersCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_clwt_CustomerHMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:CustomerHMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_clwt_CustomerGMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:CustomerGMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_clwt_CustomersBMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:CustomersBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-01to2022-12-31_clwt_CustomersBMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:CustomersBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_clwt_CustomersBMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:CustomersBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_clwt_CustomersAMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:CustomersAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_clwt_CustomerIMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:CustomerIMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-01to2022-12-31_clwt_CustomersAMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:CustomersAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-01to2022-12-31_clwt_CustomerIMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:CustomerIMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_clwt_CustomersAMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:CustomersAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_clwt_CustomerIMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:CustomerIMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_clwt_SuppliersFMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:SuppliersFMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_clwt_SuppliersFMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:SuppliersFMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-01to2022-12-31_clwt_SuppliersFMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:SuppliersFMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_clwt_SuppliersEMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:SuppliersEMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_clwt_SuppliersEMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:SuppliersEMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-01to2022-12-31_clwt_SuppliersEMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:SuppliersEMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_clwt_SuppliersDMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:SuppliersDMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_clwt_SuppliersDMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:SuppliersDMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-01to2022-12-31_clwt_SuppliersDMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:SuppliersDMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_clwt_SuppliersCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:SuppliersCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_clwt_SuppliersCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:SuppliersCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-01to2022-12-31_clwt_SuppliersCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:SuppliersCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_clwt_SuppliersBMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:SuppliersBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_clwt_SuppliersBMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:SuppliersBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-01to2022-12-31_clwt_SuppliersBMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:SuppliersBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_clwt_SuppliersAMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:SuppliersAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_clwt_SuppliersAMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:SuppliersAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-01to2022-12-31_clwt_SuppliersAMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:SuppliersAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_clwt_OthersGeographicAreaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:OthersGeographicAreaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_clwt_OthersGeographicAreaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:OthersGeographicAreaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-01to2022-12-31_clwt_OthersGeographicAreaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:OthersGeographicAreaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_clwt_HongKongsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:HongKongsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_clwt_HongKongsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:HongKongsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-01to2022-12-31_clwt_HongKongsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:HongKongsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_clwt_ThePRCsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:ThePRCsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_clwt_ThePRCsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:ThePRCsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-01to2022-12-31_clwt_ThePRCsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:ThePRCsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2024-12-31_clwt_EngineeringsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">clwt:EngineeringsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_clwt_EngineeringsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">clwt:EngineeringsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_clwt_TradingsAndManufacturingMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">clwt:TradingsAndManufacturingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_clwt_TradingsAndManufacturingMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">clwt:TradingsAndManufacturingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_clwt_UnallocatedCorporateExpensessMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">clwt:UnallocatedCorporateExpensessMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-01to2022-12-31_clwt_UnallocatedCorporateExpensessMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">clwt:UnallocatedCorporateExpensessMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_clwt_UnallocatedCorporateExpensessMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">clwt:UnallocatedCorporateExpensessMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_clwt_EngineeringsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">clwt:EngineeringsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-01to2022-12-31_clwt_EngineeringsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">clwt:EngineeringsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_clwt_EngineeringsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">clwt:EngineeringsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_clwt_TradingsAndManufacturingMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">clwt:TradingsAndManufacturingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-01to2022-12-31_clwt_TradingsAndManufacturingMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">clwt:TradingsAndManufacturingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_clwt_TradingsAndManufacturingMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">clwt:TradingsAndManufacturingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_srt_SubsidiaryIssuerMember_us-gaap_SalesRevenueNetMember_clwt_CustomerOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiaryIssuerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:CustomerOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember_us-gaap_SalesRevenueNetMember_clwt_CustomerOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiaryIssuerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:CustomerOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-01to2022-12-31_srt_SubsidiaryIssuerMember_us-gaap_SalesRevenueNetMember_clwt_CustomerOneMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiaryIssuerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">clwt:CustomerOneMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_us-gaap_SalesRevenueNetMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_us-gaap_SalesRevenueNetMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-01to2022-12-31_us-gaap_SalesRevenueNetMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_srt_SubsidiaryIssuerMember_us-gaap_SalesRevenueNetMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiaryIssuerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember_us-gaap_SalesRevenueNetMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiaryIssuerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-01to2022-12-31_srt_SubsidiaryIssuerMember_us-gaap_SalesRevenueNetMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiaryIssuerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2021-03-03">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
        </entity>
        <period>
            <instant>2021-03-03</instant>
        </period>
    </context>
    <context id="AsOf2019-10-08">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
        </entity>
        <period>
            <instant>2019-10-08</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_srt_SubsidiaryIssuerMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiaryIssuerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_srt_SubsidiaryIssuerMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiaryIssuerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_srt_SubsidiaryIssuerMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiaryIssuerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiaryIssuerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-01to2022-12-31_srt_SubsidiaryIssuerMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiaryIssuerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_srt_SubsidiariesMember_clwt_PlantAndMachineriesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">clwt:PlantAndMachineriesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_srt_SubsidiariesMember_us-gaap_VehiclesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_srt_SubsidiariesMember_us-gaap_FurnitureAndFixturesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_srt_SubsidiariesMember_us-gaap_BuildingAndBuildingImprovementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_srt_SubsidiariesMember_clwt_LandUseRightMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">clwt:LandUseRightMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_us-gaap_LeaseholdImprovementsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_us-gaap_OtherMachineryAndEquipmentMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:OtherMachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_us-gaap_VehiclesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_us-gaap_FurnitureAndFixturesMember_clwt_TopsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">clwt:TopsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_us-gaap_FurnitureAndFixturesMember_clwt_BottomsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">clwt:BottomsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_clwt_OfficePremisesMember_clwt_TopsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">clwt:TopsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">clwt:OfficePremisesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_clwt_OfficerPremisesMember_clwt_BottomsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">clwt:BottomsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">clwt:OfficerPremisesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_clwt_ZhejiangTianlanMember_clwt_XuanchengLanjingEnvironmentalProtectionEquipmentCoLtdMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">clwt:ZhejiangTianlanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">clwt:XuanchengLanjingEnvironmentalProtectionEquipmentCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_clwt_ZhejiangTianlanEnvironmentalProtectionTechnologyCoLtdMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">clwt:ZhejiangTianlanEnvironmentalProtectionTechnologyCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_clwt_PactEnvironmentalTechnologyPteLtdMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">clwt:PactEnvironmentalTechnologyPteLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_clwt_ZhejiangTianlanMember_clwt_XuanchengLanjingEnvironmentalProtectionEquipmentCoLtdMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">clwt:ZhejiangTianlanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">clwt:XuanchengLanjingEnvironmentalProtectionEquipmentCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_clwt_ZhejiangTianlanEnvironmentalProtectionTechnologyCoLtdMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">clwt:ZhejiangTianlanEnvironmentalProtectionTechnologyCoLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_clwt_PactEnvironmentalTechnologyPteLtdMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">clwt:PactEnvironmentalTechnologyPteLtdMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_clwt_PactAsiaPacificLimitedsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">clwt:PactAsiaPacificLimitedsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_clwt_PactAsiaPacificLimitedsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">clwt:PactAsiaPacificLimitedsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_clwt_YixingPactEnvironmentalsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">clwt:YixingPactEnvironmentalsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_clwt_YixingPactEnvironmentalsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">clwt:YixingPactEnvironmentalsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_clwt_ZhejiangTianlanMember_clwt_HangzhouZhongyiEcologicalAndEnvironmentalConsultingCompanyLimitedMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">clwt:ZhejiangTianlanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">clwt:HangzhouZhongyiEcologicalAndEnvironmentalConsultingCompanyLimitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_clwt_ZhejiangTianlanMember_clwt_HangzhouZhongyiEcologicalAndEnvironmentalConsultingCompanyLimitedMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">clwt:ZhejiangTianlanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">clwt:HangzhouZhongyiEcologicalAndEnvironmentalConsultingCompanyLimitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_clwt_HangzhouTiancanEnvironmentalTechnologyCompanysLimitedMember_clwt_ZhejiangTianlanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">clwt:ZhejiangTianlanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">clwt:HangzhouTiancanEnvironmentalTechnologyCompanysLimitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_clwt_HangzhouTianlanPureEnvironmentalProtectionTechnologyCompanysLimitedMember_clwt_ZhejiangTianlanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">clwt:ZhejiangTianlanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">clwt:HangzhouTianlanPureEnvironmentalProtectionTechnologyCompanysLimitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_clwt_HangzhouTianlanEnvironmenstalProtectionEquipmentCompanyLimitedMember_clwt_ZhejiangTianlanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">clwt:ZhejiangTianlanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">clwt:HangzhouTianlanEnvironmenstalProtectionEquipmentCompanyLimitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_clwt_ShanghaiEuroTechsLimitedMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">clwt:ShanghaiEuroTechsLimitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_clwt_HangzhouTiancanEnvironmentalTechnologyCompanysLimitedMember_clwt_ZhejiangTianlanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">clwt:ZhejiangTianlanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">clwt:HangzhouTiancanEnvironmentalTechnologyCompanysLimitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_clwt_HangzhouTianlanPureEnvironmentalProtectionTechnologyCompanysLimitedMember_clwt_ZhejiangTianlanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">clwt:ZhejiangTianlanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">clwt:HangzhouTianlanPureEnvironmentalProtectionTechnologyCompanysLimitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_clwt_HangzhouTianlanEnvironmenstalProtectionEquipmentCompanyLimitedMember_clwt_ZhejiangTianlanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">clwt:ZhejiangTianlanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">clwt:HangzhouTianlanEnvironmenstalProtectionEquipmentCompanyLimitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_clwt_ShanghaiEuroTechsLimitedMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">clwt:ShanghaiEuroTechsLimitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_clwt_ZhejiangTianlanEnvironmentalProtectionEngineeringsMember_clwt_ZhejiangTianlanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">clwt:ZhejiangTianlanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">clwt:ZhejiangTianlanEnvironmentalProtectionEngineeringsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_clwt_EuroTechTradingsLimitedMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">clwt:EuroTechTradingsLimitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_clwt_ZhejiangTianlanEnvironmentalProtectionEngineeringsMember_clwt_ZhejiangTianlanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">clwt:ZhejiangTianlanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">clwt:ZhejiangTianlanEnvironmentalProtectionEngineeringsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_clwt_EuroTechTradingsLimitedMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">clwt:EuroTechTradingsLimitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_clwt_EuroTechFarEastsLimitedMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">clwt:EuroTechFarEastsLimitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_clwt_EuroTechFarEastsLimitedMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">clwt:EuroTechFarEastsLimitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2024-12-31_clwt_ZhejiangTianlanNonControllingInterestsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanNonControllingInterestsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_clwt_ZhejiangTianlanRetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanRetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_clwt_ZhejiangTianlanPrcStatutoryReserveMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanPrcStatutoryReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_clwt_ZhejiangTianlanCapitalReserveMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanCapitalReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_clwt_ZhejiangTianlanShareCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanShareCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_clwt_SubsidiaryMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:SubsidiaryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_us-gaap_NoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</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="AsOf2024-12-31_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</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="AsOf2024-12-31_clwt_PRCStatutoryReserveMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:PRCStatutoryReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</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="AsOf2024-12-31_us-gaap_TreasuryStockCommonMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</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="AsOf2024-12-31_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</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="AsOf2024-12-31_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</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="From2024-01-01to2024-12-31_clwt_ZhejiangTianlanCapitalReserveMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanCapitalReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_clwt_ZhejiangTianlanShareCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanShareCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_us-gaap_NoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_clwt_PRCStatutoryReserveMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:PRCStatutoryReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_us-gaap_TreasuryStockCommonMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_clwt_ZhejiangTianlanNonControllingInterestsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanNonControllingInterestsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_clwt_ZhejiangTianlanRetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanRetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_clwt_ZhejiangTianlanPrcStatutoryReserveMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanPrcStatutoryReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_clwt_SubsidiaryMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:SubsidiaryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-12-31_clwt_ZhejiangTianlanNonControllingInterestsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanNonControllingInterestsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_clwt_ZhejiangTianlanRetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanRetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_clwt_ZhejiangTianlanPrcStatutoryReserveMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanPrcStatutoryReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_clwt_ZhejiangTianlanCapitalReserveMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanCapitalReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_clwt_ZhejiangTianlanShareCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanShareCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_clwt_SubsidiaryMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:SubsidiaryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_NoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</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="AsOf2023-12-31_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</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="AsOf2023-12-31_clwt_PRCStatutoryReserveMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:PRCStatutoryReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</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="AsOf2023-12-31_us-gaap_TreasuryStockCommonMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</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="AsOf2023-12-31_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</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="AsOf2023-12-31_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</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="From2023-01-01to2023-12-31_us-gaap_NoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_clwt_PRCStatutoryReserveMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:PRCStatutoryReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_us-gaap_TreasuryStockCommonMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_clwt_ZhejiangTianlanNonControllingInterestsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanNonControllingInterestsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_clwt_ZhejiangTianlanRetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanRetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_clwt_ZhejiangTianlanPrcStatutoryReserveMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanPrcStatutoryReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_clwt_ZhejiangTianlanCapitalReserveMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanCapitalReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_clwt_ZhejiangTianlanShareCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanShareCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_clwt_SubsidiaryMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:SubsidiaryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2022-12-31_clwt_ZhejiangTianlanNonControllingInterestsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanNonControllingInterestsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_clwt_ZhejiangTianlanRetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanRetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_clwt_ZhejiangTianlanPrcStatutoryReserveMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanPrcStatutoryReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_clwt_ZhejiangTianlanCapitalReserveMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanCapitalReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_clwt_ZhejiangTianlanShareCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanShareCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_clwt_SubsidiaryMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:SubsidiaryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_NoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_clwt_PRCStatutoryReserveMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:PRCStatutoryReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_TreasuryStockCommonMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="From2022-01-01to2022-12-31_clwt_ZhejiangTianlanNonControllingInterestsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanNonControllingInterestsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-01to2022-12-31_clwt_ZhejiangTianlanRetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanRetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-01to2022-12-31_clwt_ZhejiangTianlanPrcStatutoryReserveMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanPrcStatutoryReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-01to2022-12-31_clwt_ZhejiangTianlanCapitalReserveMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanCapitalReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-01to2022-12-31_clwt_ZhejiangTianlanShareCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanShareCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-01to2022-12-31_clwt_SubsidiaryMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:SubsidiaryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-01to2022-12-31_us-gaap_NoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-01to2022-12-31_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-01to2022-12-31_clwt_PRCStatutoryReserveMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:PRCStatutoryReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-01to2022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-01to2022-12-31_us-gaap_TreasuryStockCommonMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-01to2022-12-31_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-01to2022-12-31_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2021-12-31_clwt_ZhejiangTianlanNonControllingInterestsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanNonControllingInterestsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_clwt_ZhejiangTianlanRetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanRetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_clwt_ZhejiangTianlanPrcStatutoryReserveMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanPrcStatutoryReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_clwt_ZhejiangTianlanCapitalReserveMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanCapitalReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_clwt_ZhejiangTianlanShareCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:ZhejiangTianlanShareCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_clwt_SubsidiaryMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:SubsidiaryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_NoncontrollingInterestMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:NoncontrollingInterestMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_clwt_PRCStatutoryReserveMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">clwt:PRCStatutoryReserveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_TreasuryStockCommonMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31_srt_SubsidiariesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31_srt_SubsidiariesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2022-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="AsOf2021-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_srt_SubsidiariesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-01to2022-12-31_srt_SubsidiariesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31_srt_SubsidiariesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="From2022-01-01to2022-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="From2023-01-01to2023-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="AsOf2024-12-31_srt_SubsidiariesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31_srt_SubsidiariesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2023-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="AsOf2024-12-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="From2024-01-01to2024-12-31_dei_BusinessContactMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001026662</identifier>
            <segment>
                <xbrldi:explicitMember dimension="dei:EntityAddressesAddressTypeAxis">dei:BusinessContactMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <unit id="USD">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="Shares">
        <measure>shares</measure>
    </unit>
    <unit id="USDPShares">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="CNY">
        <measure>iso4217:CNY</measure>
    </unit>
    <unit id="CNYPShares">
        <divide>
            <unitNumerator>
                <measure>iso4217:CNY</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="Pure">
        <measure>pure</measure>
    </unit>
    <dei:EntityCentralIndexKey contextRef="From2024-01-01to2024-12-31" id="ixv-35004">0001026662</dei:EntityCentralIndexKey>
    <dei:AmendmentFlag contextRef="From2024-01-01to2024-12-31" id="ixv-35005">false</dei:AmendmentFlag>
    <dei:CurrentFiscalYearEndDate contextRef="From2024-01-01to2024-12-31" id="ixv-35006">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentFiscalPeriodFocus contextRef="From2024-01-01to2024-12-31" id="ixv-35007">FY</dei:DocumentFiscalPeriodFocus>
    <dei:DocumentFiscalYearFocus contextRef="From2024-01-01to2024-12-31" id="ixv-35008">2024</dei:DocumentFiscalYearFocus>
    <dei:EntityAddressPostalZipCode contextRef="From2024-01-01to2024-12-31" id="ixv-35009">true</dei:EntityAddressPostalZipCode>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-35010"
      unitRef="Shares">20000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="AsOf2023-12-31_srt_SubsidiariesMember"
      decimals="0"
      id="ixv-35011"
      unitRef="Shares">82572000</us-gaap:CommonStockSharesAuthorized>
    <clwt:ForeignCurrencyTranslationAdjustment
      contextRef="From2022-01-01to2022-12-31_clwt_PRCStatutoryReserveMember"
      decimals="0"
      id="ixv-35012"
      unitRef="USD">0</clwt:ForeignCurrencyTranslationAdjustment>
    <clwt:PurchaseSharesOfTreasuryStock
      contextRef="From2023-01-01to2023-12-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      id="ixv-35013"
      unitRef="USD">0</clwt:PurchaseSharesOfTreasuryStock>
    <clwt:PurchaseSharesOfTreasuryStock
      contextRef="From2024-01-01to2024-12-31_us-gaap_RetainedEarningsMember"
      decimals="0"
      id="ixv-35014"
      unitRef="USD">0</clwt:PurchaseSharesOfTreasuryStock>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-01-01to2024-12-31_clwt_ZhejiangTianlanShareCapitalMember"
      decimals="0"
      id="ixv-35015"
      unitRef="CNY">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-01-01to2024-12-31_clwt_ZhejiangTianlanCapitalReserveMember"
      decimals="0"
      id="ixv-35016"
      unitRef="CNY">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-01-01to2024-12-31_clwt_ZhejiangTianlanPrcStatutoryReserveMember"
      decimals="0"
      id="ixv-35017"
      unitRef="CNY">0</us-gaap:NetIncomeLoss>
    <ecd:Rule10b51ArrAdoptedFlag contextRef="From2024-01-01to2024-12-31" id="ixv-35018">false</ecd:Rule10b51ArrAdoptedFlag>
    <ecd:Rule10b51ArrTrmntdFlag contextRef="From2024-01-01to2024-12-31" id="ixv-35019">false</ecd:Rule10b51ArrTrmntdFlag>
    <ecd:NonRule10b51ArrAdoptedFlag contextRef="From2024-01-01to2024-12-31" id="ixv-35020">false</ecd:NonRule10b51ArrAdoptedFlag>
    <ecd:NonRule10b51ArrTrmntdFlag contextRef="From2024-01-01to2024-12-31" id="ixv-35021">false</ecd:NonRule10b51ArrTrmntdFlag>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="From2024-01-01to2024-12-31_clwt_ShanghaiEuroTechsLimitedMember"
      decimals="INF"
      id="ixv-35022"
      unitRef="Pure">0</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="From2023-01-01to2023-12-31_clwt_PactEnvironmentalTechnologyPteLtdMember"
      decimals="INF"
      id="ixv-35023"
      unitRef="Pure">0</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="From2023-01-01to2023-12-31_clwt_ZhejiangTianlanMember_clwt_XuanchengLanjingEnvironmentalProtectionEquipmentCoLtdMember"
      decimals="INF"
      id="ixv-35024"
      unitRef="Pure">0</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="From2022-01-01to2022-12-31"
      decimals="0"
      id="ixv-35025"
      unitRef="USD">0</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="ixv-35026"
      unitRef="USD">0</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="ixv-35027"
      unitRef="USD">0</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ImpairmentOfLongLivedAssetsHeldForUse
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiaryIssuerMember"
      decimals="0"
      id="ixv-35028"
      unitRef="USD">0</us-gaap:ImpairmentOfLongLivedAssetsHeldForUse>
    <us-gaap:ImpairmentOfLongLivedAssetsHeldForUse
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="0"
      id="ixv-35029"
      unitRef="USD">0</us-gaap:ImpairmentOfLongLivedAssetsHeldForUse>
    <us-gaap:ImpairmentOfLongLivedAssetsHeldForUse
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="0"
      id="ixv-35030"
      unitRef="CNY">0</us-gaap:ImpairmentOfLongLivedAssetsHeldForUse>
    <clwt:BillingsToDate
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="ixv-35031"
      unitRef="USD">885000</clwt:BillingsToDate>
    <clwt:BillingsToDate
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-35032"
      unitRef="USD">839000</clwt:BillingsToDate>
    <us-gaap:OtherOwnershipInterestsValue
      contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="0"
      id="ixv-35033"
      unitRef="CNY">0</us-gaap:OtherOwnershipInterestsValue>
    <us-gaap:LongTermInvestments
      contextRef="AsOf2023-12-31_clwt_BluesSkyMember"
      decimals="0"
      id="ixv-35034"
      unitRef="USD">5540000</us-gaap:LongTermInvestments>
    <us-gaap:StatutoryAccountingPracticesStatutoryNetIncomeAmount
      contextRef="From2023-01-01to2023-12-31_clwt_EnterpriseExpansionFundMember"
      decimals="0"
      id="ixv-35035"
      unitRef="USD">408000</us-gaap:StatutoryAccountingPracticesStatutoryNetIncomeAmount>
    <us-gaap:ProfitLoss
      contextRef="From2022-01-01to2022-12-31_clwt_HKMember"
      decimals="0"
      id="ixv-35036"
      unitRef="USD">256000</us-gaap:ProfitLoss>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="From2022-01-01to2022-12-31_clwt_EuroTechTradingShanghaiLimitedMember"
      decimals="INF"
      id="ixv-35037"
      unitRef="Pure">0.25</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="From2022-01-01to2022-12-31_clwt_ShanghaiEuroTechLimitedMember"
      decimals="INF"
      id="ixv-35038"
      unitRef="Pure">0.25</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="From2022-01-01to2022-12-31_clwt_YixingPactEnvironmentalTechnologyCoLtdMember"
      decimals="INF"
      id="ixv-35039"
      unitRef="Pure">0.25</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:Investments
      contextRef="AsOf2024-12-31_srt_SubsidiariesMember_clwt_EngineeringServiceMember"
      decimals="0"
      id="ixv-35040"
      unitRef="USD">0</us-gaap:Investments>
    <us-gaap:Investments
      contextRef="AsOf2023-12-31_srt_SubsidiariesMember_clwt_EngineeringServiceMember"
      decimals="0"
      id="ixv-35041"
      unitRef="CNY">0</us-gaap:Investments>
    <us-gaap:SecurityDeposit
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="ixv-35042"
      unitRef="USD">897000</us-gaap:SecurityDeposit>
    <dei:DocumentType contextRef="From2024-01-01to2024-12-31" id="ixv-37659">20-F</dei:DocumentType>
    <dei:DocumentAnnualReport contextRef="From2024-01-01to2024-12-31" id="ixv-37660">true</dei:DocumentAnnualReport>
    <dei:DocumentPeriodEndDate contextRef="From2024-01-01to2024-12-31" id="ixv-37661">2024-12-31</dei:DocumentPeriodEndDate>
    <dei:DocumentTransitionReport contextRef="From2024-01-01to2024-12-31" id="ixv-37662">false</dei:DocumentTransitionReport>
    <dei:DocumentShellCompanyReport contextRef="From2024-01-01to2024-12-31" id="ixv-37663">false</dei:DocumentShellCompanyReport>
    <dei:EntityFileNumber contextRef="From2024-01-01to2024-12-31" id="ixv-37664">000-22113</dei:EntityFileNumber>
    <dei:EntityRegistrantName contextRef="From2024-01-01to2024-12-31" id="ixv-37665">EURO TECH HOLDINGS COMPANY LIMITED</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode contextRef="From2024-01-01to2024-12-31" id="ixv-37666">D8</dei:EntityIncorporationStateCountryCode>
    <dei:EntityAddressAddressLine1 contextRef="From2024-01-01to2024-12-31" id="ixv-37667">Unit D, 18/F.</dei:EntityAddressAddressLine1>
    <dei:EntityAddressAddressLine2 contextRef="From2024-01-01to2024-12-31" id="ixv-37668">Gee Chang Hong Centre</dei:EntityAddressAddressLine2>
    <dei:EntityAddressCityOrTown contextRef="From2024-01-01to2024-12-31" id="ixv-37669">65 Wong Chuk Hang Road</dei:EntityAddressCityOrTown>
    <dei:EntityAddressCountry contextRef="From2024-01-01to2024-12-31" id="ixv-37670">HK</dei:EntityAddressCountry>
    <dei:ContactPersonnelName
      contextRef="From2024-01-01to2024-12-31_dei_BusinessContactMember"
      id="aid_190_0">David YL Leung</dei:ContactPersonnelName>
    <dei:PhoneFaxNumberDescription
      contextRef="From2024-01-01to2024-12-31_dei_BusinessContactMember"
      id="aid_190_1">852-28734887</dei:PhoneFaxNumberDescription>
    <dei:EntityAddressAddressLine1
      contextRef="From2024-01-01to2024-12-31_dei_BusinessContactMember"
      id="aid_190_2">Unit D, 18/F</dei:EntityAddressAddressLine1>
    <dei:EntityAddressAddressLine2
      contextRef="From2024-01-01to2024-12-31_dei_BusinessContactMember"
      id="aid_190_3">Gee Chang Hong Centre</dei:EntityAddressAddressLine2>
    <dei:EntityAddressCityOrTown
      contextRef="From2024-01-01to2024-12-31_dei_BusinessContactMember"
      id="aid_190_4">65 Wong Chuk Hang Road</dei:EntityAddressCityOrTown>
    <dei:EntityAddressCountry
      contextRef="From2024-01-01to2024-12-31_dei_BusinessContactMember"
      id="aid_190_5">HK</dei:EntityAddressCountry>
    <dei:Security12bTitle contextRef="From2024-01-01to2024-12-31" id="ixv-37677">ordinary shares, no par value</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="From2024-01-01to2024-12-31" id="ixv-37678">CLWT</dei:TradingSymbol>
    <dei:SecurityExchangeName contextRef="From2024-01-01to2024-12-31" id="ixv-37679">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="AsOf2024-12-31"
      decimals="INF"
      id="ixv-37680"
      unitRef="Shares">7716299</dei:EntityCommonStockSharesOutstanding>
    <dei:EntityWellKnownSeasonedIssuer contextRef="From2024-01-01to2024-12-31" id="ixv-37681">No</dei:EntityWellKnownSeasonedIssuer>
    <dei:EntityVoluntaryFilers contextRef="From2024-01-01to2024-12-31" id="ixv-37682">No</dei:EntityVoluntaryFilers>
    <dei:EntityCurrentReportingStatus contextRef="From2024-01-01to2024-12-31" id="ixv-37683">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent contextRef="From2024-01-01to2024-12-31" id="ixv-37684">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory contextRef="From2024-01-01to2024-12-31" id="ixv-37685">Non-accelerated Filer</dei:EntityFilerCategory>
    <dei:EntityEmergingGrowthCompany contextRef="From2024-01-01to2024-12-31" id="ixv-37686">false</dei:EntityEmergingGrowthCompany>
    <dei:IcfrAuditorAttestationFlag contextRef="From2024-01-01to2024-12-31" id="ixv-37687">false</dei:IcfrAuditorAttestationFlag>
    <dei:DocumentAccountingStandard contextRef="From2024-01-01to2024-12-31" id="ixv-37688">U.S. GAAP</dei:DocumentAccountingStandard>
    <dei:DocumentRegistrationStatement contextRef="From2024-01-01to2024-12-31" id="ixv-37689">false</dei:DocumentRegistrationStatement>
    <dei:EntityShellCompany contextRef="From2024-01-01to2024-12-31" id="ixv-37690">false</dei:EntityShellCompany>
    <cyd:CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_72fee636">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;"&gt;We have implemented robust processes for assessing, identifying and managing material risks from cybersecurity threats and monitoring the prevention, detection, mitigation and remediation of material cybersecurity incident. We have also integrated cybersecurity risk management into our overall enterprise risk management system. &lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;"&gt;We have established a dynamic and multi-layered cybersecurity defense system to effectively mitigate both internal and external cybersecurity threats. This comprehensive system spans multiple security domains, including network, host, and application layers. It integrates a range of security capabilities such as threat defense, continuous monitoring, in-depth analysis and rapid response. Our approach to managing cybersecurity risks and safeguarding sensitive data is multi-faceted, involving technological safeguards, procedural protocols, a rigorous program of surveillance on our corporate network, ongoing internal and external evaluations of our security measures, a solid incident response framework, and regular cybersecurity training sessions for our employees. Our cybersecurity department is actively engaged in continuous monitoring of our applications, platforms and infrastructure to ensure prompt identification and response to potential issues, including emerging cybersecurity threats. &lt;/p&gt;</cyd:CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock>
    <cyd:CybersecurityRiskManagementProcessesIntegratedFlag contextRef="From2024-01-01to2024-12-31" id="fid_8aeb94d1">true</cyd:CybersecurityRiskManagementProcessesIntegratedFlag>
    <cyd:CybersecurityRiskManagementPositionsOrCommitteesResponsibleReportToBoardFlag contextRef="From2024-01-01to2024-12-31" id="fid_c8af0a29">true</cyd:CybersecurityRiskManagementPositionsOrCommitteesResponsibleReportToBoardFlag>
    <cyd:CybersecurityRiskRoleOfManagementTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_d2f05847">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;"&gt;At management level, our cybersecurity committee is responsible for overseeing the process of assessing, identifying and managing material risks from cybersecurity threats to our company and monitoring the prevention, detection, mitigation and remediation of material cybersecurity incident. Our cybersecurity officer, as the management representative of our cybersecurity committee, reports to our board of directors on (i) a quarterly basis on updates to the status of any material cybersecurity incidents or material risks from cybersecurity threats to our company, and the disclosure issues, if any, and (ii) on disclosure concerning cybersecurity matters in our annual report on Form 20-F.&lt;/p&gt;</cyd:CybersecurityRiskRoleOfManagementTextBlock>
    <cyd:CybersecurityRiskProcessForInformingBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_9f75b37f">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;"&gt;If a cybersecurity incident occurs, our cybersecurity department will promptly organize personnel for internal assessment and report to our cybersecurity committee. If it is further determined that the incident could potentially be a material cybersecurity event, our cybersecurity officer will promptly report the incident and assessment results to our disclosure committee and external legal counsel to the extent appropriate. Our cybersecurity officer shall prepare disclosure material on the cybersecurity incident for review and approval by our disclosure committee and board of directors, before it is disseminated to the public. &lt;/p&gt;</cyd:CybersecurityRiskProcessForInformingBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock>
    <dei:AuditorFirmId contextRef="From2024-01-01to2024-12-31" id="ixv-37693">6743</dei:AuditorFirmId>
    <dei:AuditorName contextRef="From2024-01-01to2024-12-31" id="ixv-37694">J&amp;S Associate PLT</dei:AuditorName>
    <dei:AuditorLocation contextRef="From2024-01-01to2024-12-31" id="ixv-37695">Kuala Lumpur, Malaysia</dei:AuditorLocation>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_5439"
      unitRef="USD">5805000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_5438"
      unitRef="USD">5453000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCashCurrent
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_5441"
      unitRef="USD">1132000</us-gaap:RestrictedCashCurrent>
    <us-gaap:RestrictedCashCurrent
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_5440"
      unitRef="USD">1193000</us-gaap:RestrictedCashCurrent>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_5443"
      unitRef="USD">1386000</us-gaap:AccountsReceivableNet>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_5442"
      unitRef="USD">2864000</us-gaap:AccountsReceivableNet>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_5445"
      unitRef="USD">271000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_5444"
      unitRef="USD">246000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:ContractWithCustomerAssetNet
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_5447"
      unitRef="USD">135000</us-gaap:ContractWithCustomerAssetNet>
    <us-gaap:ContractWithCustomerAssetNet
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_5446"
      unitRef="USD">66000</us-gaap:ContractWithCustomerAssetNet>
    <us-gaap:InventoryNet
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_5449"
      unitRef="USD">500000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_5448"
      unitRef="USD">723000</us-gaap:InventoryNet>
    <us-gaap:AssetsCurrent
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_5451"
      unitRef="USD">9229000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_5450"
      unitRef="USD">10545000</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_5454"
      unitRef="USD">159000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_5453"
      unitRef="USD">168000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVentures
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_5456"
      unitRef="USD">9947000</us-gaap:InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVentures>
    <us-gaap:InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVentures
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_5455"
      unitRef="USD">9856000</us-gaap:InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVentures>
    <us-gaap:Goodwill
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_5457"
      unitRef="USD">1071000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_5458"
      unitRef="USD">1071000</us-gaap:Goodwill>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_5460"
      unitRef="USD">101000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_5459"
      unitRef="USD">233000</us-gaap:OperatingLeaseRightOfUseAsset>
    <clwt:DeferredTaxAssets
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_5462"
      unitRef="USD">62000</clwt:DeferredTaxAssets>
    <clwt:DeferredTaxAssets
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_5461"
      unitRef="USD">103000</clwt:DeferredTaxAssets>
    <us-gaap:RestrictedCashNoncurrent
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_5464"
      unitRef="USD">139000</us-gaap:RestrictedCashNoncurrent>
    <us-gaap:RestrictedCashNoncurrent
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_5463"
      unitRef="USD">144000</us-gaap:RestrictedCashNoncurrent>
    <us-gaap:Assets
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_5466"
      unitRef="USD">20708000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_5465"
      unitRef="USD">22120000</us-gaap:Assets>
    <us-gaap:ShortTermBankLoansAndNotesPayable
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_5470"
      unitRef="USD">0</us-gaap:ShortTermBankLoansAndNotesPayable>
    <us-gaap:ShortTermBankLoansAndNotesPayable
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_5469"
      unitRef="USD">154000</us-gaap:ShortTermBankLoansAndNotesPayable>
    <us-gaap:AccountsPayableCurrent
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_5472"
      unitRef="USD">2279000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_5471"
      unitRef="USD">3456000</us-gaap:AccountsPayableCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_5474"
      unitRef="USD">593000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_5473"
      unitRef="USD">650000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:OtherAccountsPayableAndAccruedLiabilities
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_5476"
      unitRef="USD">1050000</us-gaap:OtherAccountsPayableAndAccruedLiabilities>
    <us-gaap:OtherAccountsPayableAndAccruedLiabilities
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_5475"
      unitRef="USD">1124000</us-gaap:OtherAccountsPayableAndAccruedLiabilities>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_5478"
      unitRef="USD">83000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_5477"
      unitRef="USD">170000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:TaxesPayableCurrent
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_5480"
      unitRef="USD">0</us-gaap:TaxesPayableCurrent>
    <us-gaap:TaxesPayableCurrent
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_5479"
      unitRef="USD">42000</us-gaap:TaxesPayableCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_5482"
      unitRef="USD">4005000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_5481"
      unitRef="USD">5596000</us-gaap:LiabilitiesCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_5487"
      unitRef="USD">9000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_5486"
      unitRef="USD">44000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:Liabilities
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_5489"
      unitRef="USD">4014000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_5488"
      unitRef="USD">5640000</us-gaap:Liabilities>
    <us-gaap:CommitmentsAndContingencies
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_5491"
      unitRef="USD">0</us-gaap:CommitmentsAndContingencies>
    <us-gaap:CommitmentsAndContingencies
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_5490"
      unitRef="USD">0</us-gaap:CommitmentsAndContingencies>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="fid_5711"
      unitRef="Shares">20000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="fid_5893"
      unitRef="Shares">7899832</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="fid_5889"
      unitRef="Shares">7899832</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockValue
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_5493"
      unitRef="USD">123000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_5494"
      unitRef="USD">123000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapital
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_5496"
      unitRef="USD">9774000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AdditionalPaidInCapital
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_5495"
      unitRef="USD">9762000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:TreasuryStockCommonShares
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="fid_5720"
      unitRef="Shares">183533</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockCommonShares
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="fid_5894"
      unitRef="Shares">178400</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockValue
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_5498"
      unitRef="USD">807000</us-gaap:TreasuryStockValue>
    <us-gaap:TreasuryStockValue
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_5497"
      unitRef="USD">800000</us-gaap:TreasuryStockValue>
    <clwt:PRCStatutoryReserve
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_5500"
      unitRef="USD">345000</clwt:PRCStatutoryReserve>
    <clwt:PRCStatutoryReserve
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_5499"
      unitRef="USD">342000</clwt:PRCStatutoryReserve>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_5502"
      unitRef="USD">713000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_5501"
      unitRef="USD">733000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_5504"
      unitRef="USD">5595000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_5503"
      unitRef="USD">5481000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_5506"
      unitRef="USD">15743000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_5505"
      unitRef="USD">15641000</us-gaap:StockholdersEquity>
    <us-gaap:MinorityInterest
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_5508"
      unitRef="USD">951000</us-gaap:MinorityInterest>
    <us-gaap:MinorityInterest
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_5507"
      unitRef="USD">839000</us-gaap:MinorityInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_5510"
      unitRef="USD">16694000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_5509"
      unitRef="USD">16480000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_5512"
      unitRef="USD">20708000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_5511"
      unitRef="USD">22120000</us-gaap:LiabilitiesAndStockholdersEquity>
    <clwt:RevenueFromTradingAndManufacturing
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5515"
      unitRef="USD">9549000</clwt:RevenueFromTradingAndManufacturing>
    <clwt:RevenueFromTradingAndManufacturing
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5513"
      unitRef="USD">12143000</clwt:RevenueFromTradingAndManufacturing>
    <clwt:RevenueFromTradingAndManufacturing
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5514"
      unitRef="USD">9332000</clwt:RevenueFromTradingAndManufacturing>
    <clwt:RevenueFromEngineering
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5518"
      unitRef="USD">5834000</clwt:RevenueFromEngineering>
    <clwt:RevenueFromEngineering
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5516"
      unitRef="USD">5797000</clwt:RevenueFromEngineering>
    <clwt:RevenueFromEngineering
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5517"
      unitRef="USD">5617000</clwt:RevenueFromEngineering>
    <us-gaap:Revenues
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5521"
      unitRef="USD">15383000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5519"
      unitRef="USD">17940000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5520"
      unitRef="USD">14949000</us-gaap:Revenues>
    <clwt:CostOfTradingAndManufacturing
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5525"
      unitRef="USD">-7300000</clwt:CostOfTradingAndManufacturing>
    <clwt:CostOfTradingAndManufacturing
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5523"
      unitRef="USD">-9751000</clwt:CostOfTradingAndManufacturing>
    <clwt:CostOfTradingAndManufacturing
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5524"
      unitRef="USD">-7345000</clwt:CostOfTradingAndManufacturing>
    <clwt:CostOfEngineering
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5528"
      unitRef="USD">-3629000</clwt:CostOfEngineering>
    <clwt:CostOfEngineering
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5526"
      unitRef="USD">-4328000</clwt:CostOfEngineering>
    <clwt:CostOfEngineering
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5527"
      unitRef="USD">-2986000</clwt:CostOfEngineering>
    <us-gaap:CostOfRevenue
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5531"
      unitRef="USD">10929000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5529"
      unitRef="USD">14079000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5530"
      unitRef="USD">10331000</us-gaap:CostOfRevenue>
    <us-gaap:GrossProfit
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5534"
      unitRef="USD">4454000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5532"
      unitRef="USD">3861000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5533"
      unitRef="USD">4618000</us-gaap:GrossProfit>
    <clwt:FinanceCosts
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5538"
      unitRef="USD">-1000</clwt:FinanceCosts>
    <clwt:FinanceCosts
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5536"
      unitRef="USD">-7000</clwt:FinanceCosts>
    <clwt:FinanceCosts
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5537"
      unitRef="USD">-7000</clwt:FinanceCosts>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5541"
      unitRef="USD">4067000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5539"
      unitRef="USD">4103000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5540"
      unitRef="USD">4490000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GainLossOnDispositionOfAssets
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5544"
      unitRef="USD">0</us-gaap:GainLossOnDispositionOfAssets>
    <us-gaap:GainLossOnDispositionOfAssets
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5542"
      unitRef="USD">0</us-gaap:GainLossOnDispositionOfAssets>
    <us-gaap:GainLossOnDispositionOfAssets
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5543"
      unitRef="USD">7000</us-gaap:GainLossOnDispositionOfAssets>
    <us-gaap:OperatingExpenses
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5547"
      unitRef="USD">-4068000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5545"
      unitRef="USD">-4110000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5546"
      unitRef="USD">-4504000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5550"
      unitRef="USD">386000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5548"
      unitRef="USD">-249000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5549"
      unitRef="USD">114000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestIncomeOther
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5554"
      unitRef="USD">96000</us-gaap:InterestIncomeOther>
    <us-gaap:InterestIncomeOther
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5552"
      unitRef="USD">37000</us-gaap:InterestIncomeOther>
    <us-gaap:InterestIncomeOther
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5553"
      unitRef="USD">23000</us-gaap:InterestIncomeOther>
    <us-gaap:EquitySecuritiesFvNiRealizedGainLoss
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5557"
      unitRef="USD">398000</us-gaap:EquitySecuritiesFvNiRealizedGainLoss>
    <us-gaap:EquitySecuritiesFvNiRealizedGainLoss
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5555"
      unitRef="USD">1927000</us-gaap:EquitySecuritiesFvNiRealizedGainLoss>
    <us-gaap:EquitySecuritiesFvNiRealizedGainLoss
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5556"
      unitRef="USD">413000</us-gaap:EquitySecuritiesFvNiRealizedGainLoss>
    <clwt:OtherIncomeNet
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5560"
      unitRef="USD">37000</clwt:OtherIncomeNet>
    <clwt:OtherIncomeNet
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5558"
      unitRef="USD">-20000</clwt:OtherIncomeNet>
    <clwt:OtherIncomeNet
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5559"
      unitRef="USD">13000</clwt:OtherIncomeNet>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5563"
      unitRef="USD">531000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5561"
      unitRef="USD">1944000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5562"
      unitRef="USD">449000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5566"
      unitRef="USD">917000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5564"
      unitRef="USD">1695000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5565"
      unitRef="USD">563000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5569"
      unitRef="USD">-72000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5567"
      unitRef="USD">-45000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5568"
      unitRef="USD">-24000</us-gaap:IncomeTaxExpenseBenefit>
    <clwt:NetIncome
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5572"
      unitRef="USD">845000</clwt:NetIncome>
    <clwt:NetIncome
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5570"
      unitRef="USD">1650000</clwt:NetIncome>
    <clwt:NetIncome
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5571"
      unitRef="USD">539000</clwt:NetIncome>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5575"
      unitRef="USD">-111000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5573"
      unitRef="USD">178000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5574"
      unitRef="USD">-170000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <clwt:NetIncomeAttributableToEuroTechHoldingsCompanyLimited
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5578"
      unitRef="USD">734000</clwt:NetIncomeAttributableToEuroTechHoldingsCompanyLimited>
    <clwt:NetIncomeAttributableToEuroTechHoldingsCompanyLimited
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5576"
      unitRef="USD">1828000</clwt:NetIncomeAttributableToEuroTechHoldingsCompanyLimited>
    <clwt:NetIncomeAttributableToEuroTechHoldingsCompanyLimited
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5577"
      unitRef="USD">369000</clwt:NetIncomeAttributableToEuroTechHoldingsCompanyLimited>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5581"
      unitRef="USD">845000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5579"
      unitRef="USD">1650000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5580"
      unitRef="USD">539000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5584"
      unitRef="USD">-19000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5582"
      unitRef="USD">-9000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5583"
      unitRef="USD">-115000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5587"
      unitRef="USD">826000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5585"
      unitRef="USD">1641000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5586"
      unitRef="USD">424000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5590"
      unitRef="USD">-111000</us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5588"
      unitRef="USD">195000</us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest>
    <us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5589"
      unitRef="USD">-117000</us-gaap:ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest>
    <us-gaap:OtherComprehensiveIncomeLossTaxPortionAttributableToParent1
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5593"
      unitRef="USD">715000</us-gaap:OtherComprehensiveIncomeLossTaxPortionAttributableToParent1>
    <us-gaap:OtherComprehensiveIncomeLossTaxPortionAttributableToParent1
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5591"
      unitRef="USD">1836000</us-gaap:OtherComprehensiveIncomeLossTaxPortionAttributableToParent1>
    <us-gaap:OtherComprehensiveIncomeLossTaxPortionAttributableToParent1
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5592"
      unitRef="USD">307000</us-gaap:OtherComprehensiveIncomeLossTaxPortionAttributableToParent1>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2024-01-01to2024-12-31"
      decimals="INF"
      id="fid_5596"
      unitRef="USDPShares">0.10</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2023-01-01to2023-12-31"
      decimals="INF"
      id="fid_5594"
      unitRef="USDPShares">0.24</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2022-01-01to2022-12-31"
      decimals="INF"
      id="fid_5595"
      unitRef="USDPShares">0.05</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="fid_5599"
      unitRef="Shares">7716993</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="fid_5597"
      unitRef="Shares">7726118</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2022-01-01to2022-12-31"
      decimals="0"
      id="fid_5598"
      unitRef="Shares">7732132</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:ProfitLoss
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5603"
      unitRef="USD">734000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5601"
      unitRef="USD">1828000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5602"
      unitRef="USD">369000</us-gaap:ProfitLoss>
    <us-gaap:Depreciation
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5607"
      unitRef="USD">14000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5605"
      unitRef="USD">15000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5606"
      unitRef="USD">33000</us-gaap:Depreciation>
    <clwt:AmortizationOnRightOfUseAssets
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5629"
      unitRef="USD">132000</clwt:AmortizationOnRightOfUseAssets>
    <clwt:AmortizationOnRightOfUseAssets
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5627"
      unitRef="USD">-14000</clwt:AmortizationOnRightOfUseAssets>
    <clwt:AmortizationOnRightOfUseAssets
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5628"
      unitRef="USD">19000</clwt:AmortizationOnRightOfUseAssets>
    <us-gaap:GainLossOnDispositionOfAssets
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5610"
      unitRef="USD">0</us-gaap:GainLossOnDispositionOfAssets>
    <us-gaap:GainLossOnDispositionOfAssets
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5608"
      unitRef="USD">0</us-gaap:GainLossOnDispositionOfAssets>
    <us-gaap:GainLossOnDispositionOfAssets
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5609"
      unitRef="USD">7000</us-gaap:GainLossOnDispositionOfAssets>
    <us-gaap:ShareBasedCompensation
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5613"
      unitRef="USD">12000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5611"
      unitRef="USD">47000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5612"
      unitRef="USD">45000</us-gaap:ShareBasedCompensation>
    <clwt:NonControllingInterestsInIncomeLossOfSubsidiaries
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5616"
      unitRef="USD">111000</clwt:NonControllingInterestsInIncomeLossOfSubsidiaries>
    <clwt:NonControllingInterestsInIncomeLossOfSubsidiaries
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5614"
      unitRef="USD">-178000</clwt:NonControllingInterestsInIncomeLossOfSubsidiaries>
    <clwt:NonControllingInterestsInIncomeLossOfSubsidiaries
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5615"
      unitRef="USD">170000</clwt:NonControllingInterestsInIncomeLossOfSubsidiaries>
    <clwt:AdjustmentInAdvancesToAffiliatesAmountOfEquityProfit
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5619"
      unitRef="USD">-398000</clwt:AdjustmentInAdvancesToAffiliatesAmountOfEquityProfit>
    <clwt:AdjustmentInAdvancesToAffiliatesAmountOfEquityProfit
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5617"
      unitRef="USD">-1927000</clwt:AdjustmentInAdvancesToAffiliatesAmountOfEquityProfit>
    <clwt:AdjustmentInAdvancesToAffiliatesAmountOfEquityProfit
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5618"
      unitRef="USD">-413000</clwt:AdjustmentInAdvancesToAffiliatesAmountOfEquityProfit>
    <us-gaap:IncreaseDecreaseInDeferredIncomeTaxes
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5622"
      unitRef="USD">41000</us-gaap:IncreaseDecreaseInDeferredIncomeTaxes>
    <us-gaap:IncreaseDecreaseInDeferredIncomeTaxes
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5620"
      unitRef="USD">5000</us-gaap:IncreaseDecreaseInDeferredIncomeTaxes>
    <us-gaap:IncreaseDecreaseInDeferredIncomeTaxes
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5621"
      unitRef="USD">34000</us-gaap:IncreaseDecreaseInDeferredIncomeTaxes>
    <clwt:IncreaseDecreaseInOperatingLeaseLiabiltyCurrent
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5626"
      unitRef="USD">-35000</clwt:IncreaseDecreaseInOperatingLeaseLiabiltyCurrent>
    <clwt:IncreaseDecreaseInOperatingLeaseLiabiltyCurrent
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5624"
      unitRef="USD">-43000</clwt:IncreaseDecreaseInOperatingLeaseLiabiltyCurrent>
    <clwt:IncreaseDecreaseInOperatingLeaseLiabiltyCurrent
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5625"
      unitRef="USD">46000</clwt:IncreaseDecreaseInOperatingLeaseLiabiltyCurrent>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5633"
      unitRef="USD">1478000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5631"
      unitRef="USD">-1278000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5632"
      unitRef="USD">2045000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5636"
      unitRef="USD">-25000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5634"
      unitRef="USD">240000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5635"
      unitRef="USD">86000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInContractWithCustomerAsset
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5639"
      unitRef="USD">-69000</us-gaap:IncreaseDecreaseInContractWithCustomerAsset>
    <us-gaap:IncreaseDecreaseInContractWithCustomerAsset
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5637"
      unitRef="USD">151000</us-gaap:IncreaseDecreaseInContractWithCustomerAsset>
    <us-gaap:IncreaseDecreaseInContractWithCustomerAsset
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5638"
      unitRef="USD">-143000</us-gaap:IncreaseDecreaseInContractWithCustomerAsset>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5642"
      unitRef="USD">223000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5640"
      unitRef="USD">-120000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5641"
      unitRef="USD">-56000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5645"
      unitRef="USD">-1177000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5643"
      unitRef="USD">1177000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5644"
      unitRef="USD">-872000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5648"
      unitRef="USD">-57000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5646"
      unitRef="USD">25000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5647"
      unitRef="USD">-451000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInOtherAccountsPayableAndAccruedLiabilities
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5651"
      unitRef="USD">-74000</us-gaap:IncreaseDecreaseInOtherAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInOtherAccountsPayableAndAccruedLiabilities
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5649"
      unitRef="USD">-107000</us-gaap:IncreaseDecreaseInOtherAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInOtherAccountsPayableAndAccruedLiabilities
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5650"
      unitRef="USD">-354000</us-gaap:IncreaseDecreaseInOtherAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5654"
      unitRef="USD">-42000</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5652"
      unitRef="USD">42000</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5653"
      unitRef="USD">-42000</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <clwt:IncreaseDecreaseInRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5657"
      unitRef="USD">-87000</clwt:IncreaseDecreaseInRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <clwt:IncreaseDecreaseInRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5655"
      unitRef="USD">57000</clwt:IncreaseDecreaseInRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <clwt:IncreaseDecreaseInRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5656"
      unitRef="USD">-62000</clwt:IncreaseDecreaseInRightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5660"
      unitRef="USD">781000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5658"
      unitRef="USD">-80000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5659"
      unitRef="USD">461000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5664"
      unitRef="USD">5000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5662"
      unitRef="USD">5000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5663"
      unitRef="USD">7000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:ProceedsFromDividendsReceived
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5667"
      unitRef="USD">307000</us-gaap:ProceedsFromDividendsReceived>
    <us-gaap:ProceedsFromDividendsReceived
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5665"
      unitRef="USD">322000</us-gaap:ProceedsFromDividendsReceived>
    <us-gaap:ProceedsFromDividendsReceived
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5666"
      unitRef="USD">239000</us-gaap:ProceedsFromDividendsReceived>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5670"
      unitRef="USD">302000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5668"
      unitRef="USD">317000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5669"
      unitRef="USD">232000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:PaymentsOfDividends
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5674"
      unitRef="USD">617000</us-gaap:PaymentsOfDividends>
    <us-gaap:PaymentsOfDividends
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5672"
      unitRef="USD">0</us-gaap:PaymentsOfDividends>
    <us-gaap:PaymentsOfDividends
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5673"
      unitRef="USD">464000</us-gaap:PaymentsOfDividends>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5677"
      unitRef="USD">7000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5675"
      unitRef="USD">14000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5676"
      unitRef="USD">0</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:ProceedsFromBankDebt
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5680"
      unitRef="USD">0</us-gaap:ProceedsFromBankDebt>
    <us-gaap:ProceedsFromBankDebt
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5678"
      unitRef="USD">666000</us-gaap:ProceedsFromBankDebt>
    <us-gaap:ProceedsFromBankDebt
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5679"
      unitRef="USD">868000</us-gaap:ProceedsFromBankDebt>
    <us-gaap:RepaymentsOfBankDebt
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5683"
      unitRef="USD">154000</us-gaap:RepaymentsOfBankDebt>
    <us-gaap:RepaymentsOfBankDebt
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5681"
      unitRef="USD">734000</us-gaap:RepaymentsOfBankDebt>
    <us-gaap:RepaymentsOfBankDebt
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5682"
      unitRef="USD">1022000</us-gaap:RepaymentsOfBankDebt>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5686"
      unitRef="USD">-778000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5684"
      unitRef="USD">-82000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5685"
      unitRef="USD">-618000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5689"
      unitRef="USD">19000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5687"
      unitRef="USD">8000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5688"
      unitRef="USD">112000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5692"
      unitRef="USD">286000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5690"
      unitRef="USD">147000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5691"
      unitRef="USD">-37000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_5899"
      unitRef="USD">6790000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="AsOf2022-12-31"
      decimals="-3"
      id="fid_5896"
      unitRef="USD">6643000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="AsOf2021-12-31"
      decimals="-3"
      id="fid_5898"
      unitRef="USD">6680000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_5900"
      unitRef="USD">7076000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_5897"
      unitRef="USD">6790000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="AsOf2022-12-31"
      decimals="-3"
      id="fid_5895"
      unitRef="USD">6643000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <clwt:EffectOfExchangeRateOnCashCashEquivalents
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5699"
      unitRef="USD">5805000</clwt:EffectOfExchangeRateOnCashCashEquivalents>
    <clwt:EffectOfExchangeRateOnCashCashEquivalents
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5697"
      unitRef="USD">5453000</clwt:EffectOfExchangeRateOnCashCashEquivalents>
    <clwt:EffectOfExchangeRateOnCashCashEquivalents
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5698"
      unitRef="USD">5628000</clwt:EffectOfExchangeRateOnCashCashEquivalents>
    <clwt:EffectOfExchangeRateOnRestrictedCash
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5702"
      unitRef="USD">1271000</clwt:EffectOfExchangeRateOnRestrictedCash>
    <clwt:EffectOfExchangeRateOnRestrictedCash
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5700"
      unitRef="USD">1337000</clwt:EffectOfExchangeRateOnRestrictedCash>
    <clwt:EffectOfExchangeRateOnRestrictedCash
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5701"
      unitRef="USD">1015000</clwt:EffectOfExchangeRateOnRestrictedCash>
    <clwt:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCash
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5936"
      unitRef="USD">7076000</clwt:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCash>
    <clwt:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCash
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5934"
      unitRef="USD">6790000</clwt:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCash>
    <clwt:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCash
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5935"
      unitRef="USD">6643000</clwt:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCash>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5706"
      unitRef="USD">77000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5704"
      unitRef="USD">1000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5705"
      unitRef="USD">42000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5709"
      unitRef="USD">1000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5707"
      unitRef="USD">7000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5708"
      unitRef="USD">7000</us-gaap:InterestPaidNet>
    <us-gaap:SharesIssued
      contextRef="AsOf2021-12-31_us-gaap_CommonStockMember"
      decimals="0"
      id="fid_5883"
      unitRef="Shares">7899832</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2021-12-31_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_5770"
      unitRef="USD">123000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2021-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="fid_5771"
      unitRef="USD">9670000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2021-12-31_us-gaap_TreasuryStockCommonMember"
      decimals="-3"
      id="fid_5772"
      unitRef="USD">-786000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2021-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="fid_5773"
      unitRef="USD">787000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2021-12-31_clwt_PRCStatutoryReserveMember"
      decimals="-3"
      id="fid_5774"
      unitRef="USD">316000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2021-12-31_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="fid_5775"
      unitRef="USD">3774000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2021-12-31_us-gaap_NoncontrollingInterestMember"
      decimals="-3"
      id="fid_5776"
      unitRef="USD">917000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2021-12-31"
      decimals="-3"
      id="fid_5777"
      unitRef="USD">14801000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <clwt:ForeignCurrencyTranslationAdjustment
      contextRef="From2022-01-01to2022-12-31_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_7309"
      unitRef="USD">0</clwt:ForeignCurrencyTranslationAdjustment>
    <clwt:ForeignCurrencyTranslationAdjustment
      contextRef="From2022-01-01to2022-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="fid_7329"
      unitRef="USD">0</clwt:ForeignCurrencyTranslationAdjustment>
    <clwt:ForeignCurrencyTranslationAdjustment
      contextRef="From2022-01-01to2022-12-31_us-gaap_TreasuryStockCommonMember"
      decimals="-3"
      id="fid_7330"
      unitRef="USD">0</clwt:ForeignCurrencyTranslationAdjustment>
    <clwt:ForeignCurrencyTranslationAdjustment
      contextRef="From2022-01-01to2022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="fid_7331"
      unitRef="USD">-62000</clwt:ForeignCurrencyTranslationAdjustment>
    <clwt:ForeignCurrencyTranslationAdjustment
      contextRef="From2022-01-01to2022-12-31_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="fid_7333"
      unitRef="USD">0</clwt:ForeignCurrencyTranslationAdjustment>
    <clwt:ForeignCurrencyTranslationAdjustment
      contextRef="From2022-01-01to2022-12-31_us-gaap_NoncontrollingInterestMember"
      decimals="-3"
      id="fid_7334"
      unitRef="USD">-53000</clwt:ForeignCurrencyTranslationAdjustment>
    <clwt:ForeignCurrencyTranslationAdjustment
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_7335"
      unitRef="USD">-115000</clwt:ForeignCurrencyTranslationAdjustment>
    <clwt:DividendPaidAmount
      contextRef="From2022-01-01to2022-12-31_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_7312"
      unitRef="USD">0</clwt:DividendPaidAmount>
    <clwt:DividendPaidAmount
      contextRef="From2022-01-01to2022-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="fid_7336"
      unitRef="USD">0</clwt:DividendPaidAmount>
    <clwt:DividendPaidAmount
      contextRef="From2022-01-01to2022-12-31_us-gaap_TreasuryStockCommonMember"
      decimals="-3"
      id="fid_7337"
      unitRef="USD">0</clwt:DividendPaidAmount>
    <clwt:DividendPaidAmount
      contextRef="From2022-01-01to2022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="fid_7338"
      unitRef="USD">0</clwt:DividendPaidAmount>
    <clwt:DividendPaidAmount
      contextRef="From2022-01-01to2022-12-31_clwt_PRCStatutoryReserveMember"
      decimals="-3"
      id="fid_7339"
      unitRef="USD">0</clwt:DividendPaidAmount>
    <clwt:DividendPaidAmount
      contextRef="From2022-01-01to2022-12-31_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="fid_7340"
      unitRef="USD">-464000</clwt:DividendPaidAmount>
    <clwt:DividendPaidAmount
      contextRef="From2022-01-01to2022-12-31_us-gaap_NoncontrollingInterestMember"
      decimals="-3"
      id="fid_7341"
      unitRef="USD">0</clwt:DividendPaidAmount>
    <clwt:DividendPaidAmount
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_7342"
      unitRef="USD">-464000</clwt:DividendPaidAmount>
    <clwt:StockBasedCompensationExpenseAmount
      contextRef="From2022-01-01to2022-12-31_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_7315"
      unitRef="USD">0</clwt:StockBasedCompensationExpenseAmount>
    <clwt:StockBasedCompensationExpenseAmount
      contextRef="From2022-01-01to2022-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="fid_7343"
      unitRef="USD">45000</clwt:StockBasedCompensationExpenseAmount>
    <clwt:StockBasedCompensationExpenseAmount
      contextRef="From2022-01-01to2022-12-31_us-gaap_TreasuryStockCommonMember"
      decimals="-3"
      id="fid_7344"
      unitRef="USD">0</clwt:StockBasedCompensationExpenseAmount>
    <clwt:StockBasedCompensationExpenseAmount
      contextRef="From2022-01-01to2022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="fid_7345"
      unitRef="USD">0</clwt:StockBasedCompensationExpenseAmount>
    <clwt:StockBasedCompensationExpenseAmount
      contextRef="From2022-01-01to2022-12-31_clwt_PRCStatutoryReserveMember"
      decimals="-3"
      id="fid_7346"
      unitRef="USD">0</clwt:StockBasedCompensationExpenseAmount>
    <clwt:StockBasedCompensationExpenseAmount
      contextRef="From2022-01-01to2022-12-31_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="fid_7347"
      unitRef="USD">0</clwt:StockBasedCompensationExpenseAmount>
    <clwt:StockBasedCompensationExpenseAmount
      contextRef="From2022-01-01to2022-12-31_us-gaap_NoncontrollingInterestMember"
      decimals="-3"
      id="fid_7348"
      unitRef="USD">0</clwt:StockBasedCompensationExpenseAmount>
    <clwt:StockBasedCompensationExpenseAmount
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_7349"
      unitRef="USD">45000</clwt:StockBasedCompensationExpenseAmount>
    <clwt:AppropriationToStatutoryReserve
      contextRef="From2022-01-01to2022-12-31_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_7318"
      unitRef="USD">0</clwt:AppropriationToStatutoryReserve>
    <clwt:AppropriationToStatutoryReserve
      contextRef="From2022-01-01to2022-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="fid_7350"
      unitRef="USD">0</clwt:AppropriationToStatutoryReserve>
    <clwt:AppropriationToStatutoryReserve
      contextRef="From2022-01-01to2022-12-31_us-gaap_TreasuryStockCommonMember"
      decimals="-3"
      id="fid_7351"
      unitRef="USD">0</clwt:AppropriationToStatutoryReserve>
    <clwt:AppropriationToStatutoryReserve
      contextRef="From2022-01-01to2022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="fid_7352"
      unitRef="USD">0</clwt:AppropriationToStatutoryReserve>
    <clwt:AppropriationToStatutoryReserve
      contextRef="From2022-01-01to2022-12-31_clwt_PRCStatutoryReserveMember"
      decimals="-3"
      id="fid_7353"
      unitRef="USD">46000</clwt:AppropriationToStatutoryReserve>
    <clwt:AppropriationToStatutoryReserve
      contextRef="From2022-01-01to2022-12-31_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="fid_7354"
      unitRef="USD">-46000</clwt:AppropriationToStatutoryReserve>
    <clwt:AppropriationToStatutoryReserve
      contextRef="From2022-01-01to2022-12-31_us-gaap_NoncontrollingInterestMember"
      decimals="-3"
      id="fid_7355"
      unitRef="USD">0</clwt:AppropriationToStatutoryReserve>
    <clwt:AppropriationToStatutoryReserve
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_7356"
      unitRef="USD">0</clwt:AppropriationToStatutoryReserve>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-01to2022-12-31_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_5810"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-01to2022-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="fid_5811"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-01to2022-12-31_us-gaap_TreasuryStockCommonMember"
      decimals="-3"
      id="fid_5812"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-01to2022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="fid_5813"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-01to2022-12-31_clwt_PRCStatutoryReserveMember"
      decimals="-3"
      id="fid_5814"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-01to2022-12-31_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="fid_5815"
      unitRef="USD">369000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-01to2022-12-31_us-gaap_NoncontrollingInterestMember"
      decimals="-3"
      id="fid_5816"
      unitRef="USD">170000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5817"
      unitRef="USD">539000</us-gaap:NetIncomeLoss>
    <us-gaap:SharesIssued
      contextRef="AsOf2022-12-31_us-gaap_CommonStockMember"
      decimals="0"
      id="fid_5885"
      unitRef="Shares">7899832</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-12-31_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_5818"
      unitRef="USD">123000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="fid_5819"
      unitRef="USD">9715000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-12-31_us-gaap_TreasuryStockCommonMember"
      decimals="-3"
      id="fid_5820"
      unitRef="USD">-786000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="fid_5821"
      unitRef="USD">725000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-12-31_clwt_PRCStatutoryReserveMember"
      decimals="-3"
      id="fid_5822"
      unitRef="USD">362000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-12-31_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="fid_5823"
      unitRef="USD">3633000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-12-31_us-gaap_NoncontrollingInterestMember"
      decimals="-3"
      id="fid_5824"
      unitRef="USD">1034000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-12-31"
      decimals="-3"
      id="fid_5825"
      unitRef="USD">14806000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:SharesIssued
      contextRef="AsOf2022-12-31_us-gaap_CommonStockMember"
      decimals="0"
      id="fid_5886"
      unitRef="Shares">7899832</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-12-31_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_5826"
      unitRef="USD">123000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="fid_5827"
      unitRef="USD">9715000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-12-31_us-gaap_TreasuryStockCommonMember"
      decimals="-3"
      id="fid_5828"
      unitRef="USD">-786000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="fid_5829"
      unitRef="USD">725000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-12-31_clwt_PRCStatutoryReserveMember"
      decimals="-3"
      id="fid_5830"
      unitRef="USD">362000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-12-31_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="fid_5831"
      unitRef="USD">3633000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-12-31_us-gaap_NoncontrollingInterestMember"
      decimals="-3"
      id="fid_5832"
      unitRef="USD">1034000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-12-31"
      decimals="-3"
      id="fid_5833"
      unitRef="USD">14806000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <clwt:ForeignCurrencyTranslationAdjustment
      contextRef="From2023-01-01to2023-12-31_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_7310"
      unitRef="USD">0</clwt:ForeignCurrencyTranslationAdjustment>
    <clwt:ForeignCurrencyTranslationAdjustment
      contextRef="From2023-01-01to2023-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="fid_7357"
      unitRef="USD">0</clwt:ForeignCurrencyTranslationAdjustment>
    <clwt:ForeignCurrencyTranslationAdjustment
      contextRef="From2023-01-01to2023-12-31_us-gaap_TreasuryStockCommonMember"
      decimals="-3"
      id="fid_7358"
      unitRef="USD">0</clwt:ForeignCurrencyTranslationAdjustment>
    <clwt:ForeignCurrencyTranslationAdjustment
      contextRef="From2023-01-01to2023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="fid_7359"
      unitRef="USD">8000</clwt:ForeignCurrencyTranslationAdjustment>
    <clwt:ForeignCurrencyTranslationAdjustment
      contextRef="From2023-01-01to2023-12-31_clwt_PRCStatutoryReserveMember"
      decimals="-3"
      id="fid_7360"
      unitRef="USD">0</clwt:ForeignCurrencyTranslationAdjustment>
    <clwt:ForeignCurrencyTranslationAdjustment
      contextRef="From2023-01-01to2023-12-31_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="fid_7361"
      unitRef="USD">0</clwt:ForeignCurrencyTranslationAdjustment>
    <clwt:ForeignCurrencyTranslationAdjustment
      contextRef="From2023-01-01to2023-12-31_us-gaap_NoncontrollingInterestMember"
      decimals="-3"
      id="fid_7362"
      unitRef="USD">-17000</clwt:ForeignCurrencyTranslationAdjustment>
    <clwt:ForeignCurrencyTranslationAdjustment
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_7363"
      unitRef="USD">-9000</clwt:ForeignCurrencyTranslationAdjustment>
    <clwt:PurchaseSharesOfTreasuryStock
      contextRef="From2023-01-01to2023-12-31_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_7322"
      unitRef="USD">0</clwt:PurchaseSharesOfTreasuryStock>
    <clwt:PurchaseSharesOfTreasuryStock
      contextRef="From2023-01-01to2023-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="fid_7364"
      unitRef="USD">0</clwt:PurchaseSharesOfTreasuryStock>
    <clwt:PurchaseSharesOfTreasuryStock
      contextRef="From2023-01-01to2023-12-31_us-gaap_TreasuryStockCommonMember"
      decimals="-3"
      id="fid_7365"
      unitRef="USD">-14000</clwt:PurchaseSharesOfTreasuryStock>
    <clwt:PurchaseSharesOfTreasuryStock
      contextRef="From2023-01-01to2023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="fid_7366"
      unitRef="USD">0</clwt:PurchaseSharesOfTreasuryStock>
    <clwt:PurchaseSharesOfTreasuryStock
      contextRef="From2023-01-01to2023-12-31_clwt_PRCStatutoryReserveMember"
      decimals="-3"
      id="fid_7367"
      unitRef="USD">0</clwt:PurchaseSharesOfTreasuryStock>
    <clwt:PurchaseSharesOfTreasuryStock
      contextRef="From2023-01-01to2023-12-31_us-gaap_NoncontrollingInterestMember"
      decimals="-3"
      id="fid_7369"
      unitRef="USD">0</clwt:PurchaseSharesOfTreasuryStock>
    <clwt:PurchaseSharesOfTreasuryStock
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_7370"
      unitRef="USD">-14000</clwt:PurchaseSharesOfTreasuryStock>
    <clwt:StockBasedCompensationExpenseAmount
      contextRef="From2023-01-01to2023-12-31_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_7316"
      unitRef="USD">0</clwt:StockBasedCompensationExpenseAmount>
    <clwt:StockBasedCompensationExpenseAmount
      contextRef="From2023-01-01to2023-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="fid_7371"
      unitRef="USD">47000</clwt:StockBasedCompensationExpenseAmount>
    <clwt:StockBasedCompensationExpenseAmount
      contextRef="From2023-01-01to2023-12-31_us-gaap_TreasuryStockCommonMember"
      decimals="-3"
      id="fid_7372"
      unitRef="USD">0</clwt:StockBasedCompensationExpenseAmount>
    <clwt:StockBasedCompensationExpenseAmount
      contextRef="From2023-01-01to2023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="fid_7373"
      unitRef="USD">0</clwt:StockBasedCompensationExpenseAmount>
    <clwt:StockBasedCompensationExpenseAmount
      contextRef="From2023-01-01to2023-12-31_clwt_PRCStatutoryReserveMember"
      decimals="-3"
      id="fid_7374"
      unitRef="USD">0</clwt:StockBasedCompensationExpenseAmount>
    <clwt:StockBasedCompensationExpenseAmount
      contextRef="From2023-01-01to2023-12-31_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="fid_7375"
      unitRef="USD">0</clwt:StockBasedCompensationExpenseAmount>
    <clwt:StockBasedCompensationExpenseAmount
      contextRef="From2023-01-01to2023-12-31_us-gaap_NoncontrollingInterestMember"
      decimals="-3"
      id="fid_7376"
      unitRef="USD">0</clwt:StockBasedCompensationExpenseAmount>
    <clwt:StockBasedCompensationExpenseAmount
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_7377"
      unitRef="USD">47000</clwt:StockBasedCompensationExpenseAmount>
    <clwt:AppropriationToStatutoryReserve
      contextRef="From2023-01-01to2023-12-31_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_7319"
      unitRef="USD">0</clwt:AppropriationToStatutoryReserve>
    <clwt:AppropriationToStatutoryReserve
      contextRef="From2023-01-01to2023-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="fid_7378"
      unitRef="USD">0</clwt:AppropriationToStatutoryReserve>
    <clwt:AppropriationToStatutoryReserve
      contextRef="From2023-01-01to2023-12-31_us-gaap_TreasuryStockCommonMember"
      decimals="-3"
      id="fid_7379"
      unitRef="USD">0</clwt:AppropriationToStatutoryReserve>
    <clwt:AppropriationToStatutoryReserve
      contextRef="From2023-01-01to2023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="fid_7380"
      unitRef="USD">0</clwt:AppropriationToStatutoryReserve>
    <clwt:AppropriationToStatutoryReserve
      contextRef="From2023-01-01to2023-12-31_clwt_PRCStatutoryReserveMember"
      decimals="-3"
      id="fid_7381"
      unitRef="USD">-20000</clwt:AppropriationToStatutoryReserve>
    <clwt:AppropriationToStatutoryReserve
      contextRef="From2023-01-01to2023-12-31_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="fid_7382"
      unitRef="USD">20000</clwt:AppropriationToStatutoryReserve>
    <clwt:AppropriationToStatutoryReserve
      contextRef="From2023-01-01to2023-12-31_us-gaap_NoncontrollingInterestMember"
      decimals="-3"
      id="fid_7383"
      unitRef="USD">0</clwt:AppropriationToStatutoryReserve>
    <clwt:AppropriationToStatutoryReserve
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_7384"
      unitRef="USD">0</clwt:AppropriationToStatutoryReserve>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-01to2023-12-31_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_5866"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-01to2023-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="fid_5867"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-01to2023-12-31_us-gaap_TreasuryStockCommonMember"
      decimals="-3"
      id="fid_5868"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-01to2023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="fid_5869"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-01to2023-12-31_clwt_PRCStatutoryReserveMember"
      decimals="-3"
      id="fid_5870"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-01to2023-12-31_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="fid_5871"
      unitRef="USD">1828000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-01to2023-12-31_us-gaap_NoncontrollingInterestMember"
      decimals="-3"
      id="fid_5872"
      unitRef="USD">-178000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5873"
      unitRef="USD">1650000</us-gaap:NetIncomeLoss>
    <us-gaap:SharesIssued
      contextRef="AsOf2023-12-31_us-gaap_CommonStockMember"
      decimals="0"
      id="fid_7504"
      unitRef="Shares">7899832</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_7385"
      unitRef="USD">123000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="fid_7387"
      unitRef="USD">9762000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31_us-gaap_TreasuryStockCommonMember"
      decimals="-3"
      id="fid_7389"
      unitRef="USD">-800000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="fid_7392"
      unitRef="USD">733000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31_clwt_PRCStatutoryReserveMember"
      decimals="-3"
      id="fid_7394"
      unitRef="USD">342000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="fid_7396"
      unitRef="USD">5481000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31_us-gaap_NoncontrollingInterestMember"
      decimals="-3"
      id="fid_7398"
      unitRef="USD">839000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_7400"
      unitRef="USD">16480000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:SharesIssued
      contextRef="AsOf2023-12-31_us-gaap_CommonStockMember"
      decimals="0"
      id="fid_5884"
      unitRef="Shares">7899832</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_7386"
      unitRef="USD">123000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="fid_7388"
      unitRef="USD">9762000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31_us-gaap_TreasuryStockCommonMember"
      decimals="-3"
      id="fid_7390"
      unitRef="USD">-800000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="fid_7393"
      unitRef="USD">733000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31_clwt_PRCStatutoryReserveMember"
      decimals="-3"
      id="fid_7395"
      unitRef="USD">342000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="fid_7397"
      unitRef="USD">5481000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31_us-gaap_NoncontrollingInterestMember"
      decimals="-3"
      id="fid_7399"
      unitRef="USD">839000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_7401"
      unitRef="USD">16480000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <clwt:ForeignCurrencyTranslationAdjustment
      contextRef="From2024-01-01to2024-12-31_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_7311"
      unitRef="USD">0</clwt:ForeignCurrencyTranslationAdjustment>
    <clwt:ForeignCurrencyTranslationAdjustment
      contextRef="From2024-01-01to2024-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="fid_7402"
      unitRef="USD">0</clwt:ForeignCurrencyTranslationAdjustment>
    <clwt:ForeignCurrencyTranslationAdjustment
      contextRef="From2024-01-01to2024-12-31_us-gaap_TreasuryStockCommonMember"
      decimals="-3"
      id="fid_7403"
      unitRef="USD">0</clwt:ForeignCurrencyTranslationAdjustment>
    <clwt:ForeignCurrencyTranslationAdjustment
      contextRef="From2024-01-01to2024-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="fid_7404"
      unitRef="USD">-20000</clwt:ForeignCurrencyTranslationAdjustment>
    <clwt:ForeignCurrencyTranslationAdjustment
      contextRef="From2024-01-01to2024-12-31_clwt_PRCStatutoryReserveMember"
      decimals="-3"
      id="fid_7405"
      unitRef="USD">0</clwt:ForeignCurrencyTranslationAdjustment>
    <clwt:ForeignCurrencyTranslationAdjustment
      contextRef="From2024-01-01to2024-12-31_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="fid_7406"
      unitRef="USD">0</clwt:ForeignCurrencyTranslationAdjustment>
    <clwt:ForeignCurrencyTranslationAdjustment
      contextRef="From2024-01-01to2024-12-31_us-gaap_NoncontrollingInterestMember"
      decimals="-3"
      id="fid_7407"
      unitRef="USD">1000</clwt:ForeignCurrencyTranslationAdjustment>
    <clwt:ForeignCurrencyTranslationAdjustment
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_7408"
      unitRef="USD">-19000</clwt:ForeignCurrencyTranslationAdjustment>
    <clwt:DividendPaidAmount
      contextRef="From2024-01-01to2024-12-31_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_7314"
      unitRef="USD">0</clwt:DividendPaidAmount>
    <clwt:DividendPaidAmount
      contextRef="From2024-01-01to2024-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="fid_7409"
      unitRef="USD">0</clwt:DividendPaidAmount>
    <clwt:DividendPaidAmount
      contextRef="From2024-01-01to2024-12-31_us-gaap_TreasuryStockCommonMember"
      decimals="-3"
      id="fid_7410"
      unitRef="USD">0</clwt:DividendPaidAmount>
    <clwt:DividendPaidAmount
      contextRef="From2024-01-01to2024-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="fid_7411"
      unitRef="USD">0</clwt:DividendPaidAmount>
    <clwt:DividendPaidAmount
      contextRef="From2024-01-01to2024-12-31_clwt_PRCStatutoryReserveMember"
      decimals="-3"
      id="fid_7412"
      unitRef="USD">0</clwt:DividendPaidAmount>
    <clwt:DividendPaidAmount
      contextRef="From2024-01-01to2024-12-31_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="fid_7413"
      unitRef="USD">-617000</clwt:DividendPaidAmount>
    <clwt:DividendPaidAmount
      contextRef="From2024-01-01to2024-12-31_us-gaap_NoncontrollingInterestMember"
      decimals="-3"
      id="fid_7414"
      unitRef="USD">0</clwt:DividendPaidAmount>
    <clwt:DividendPaidAmount
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_7415"
      unitRef="USD">-617000</clwt:DividendPaidAmount>
    <clwt:PurchaseSharesOfTreasuryStock
      contextRef="From2024-01-01to2024-12-31_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_7323"
      unitRef="USD">0</clwt:PurchaseSharesOfTreasuryStock>
    <clwt:PurchaseSharesOfTreasuryStock
      contextRef="From2024-01-01to2024-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="fid_7416"
      unitRef="USD">0</clwt:PurchaseSharesOfTreasuryStock>
    <clwt:PurchaseSharesOfTreasuryStock
      contextRef="From2024-01-01to2024-12-31_us-gaap_TreasuryStockCommonMember"
      decimals="-3"
      id="fid_7417"
      unitRef="USD">-7000</clwt:PurchaseSharesOfTreasuryStock>
    <clwt:PurchaseSharesOfTreasuryStock
      contextRef="From2024-01-01to2024-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="fid_7418"
      unitRef="USD">0</clwt:PurchaseSharesOfTreasuryStock>
    <clwt:PurchaseSharesOfTreasuryStock
      contextRef="From2024-01-01to2024-12-31_clwt_PRCStatutoryReserveMember"
      decimals="-3"
      id="fid_7419"
      unitRef="USD">0</clwt:PurchaseSharesOfTreasuryStock>
    <clwt:PurchaseSharesOfTreasuryStock
      contextRef="From2024-01-01to2024-12-31_us-gaap_NoncontrollingInterestMember"
      decimals="-3"
      id="fid_7421"
      unitRef="USD">0</clwt:PurchaseSharesOfTreasuryStock>
    <clwt:PurchaseSharesOfTreasuryStock
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_7422"
      unitRef="USD">-7000</clwt:PurchaseSharesOfTreasuryStock>
    <clwt:StockBasedCompensationExpenseAmount
      contextRef="From2024-01-01to2024-12-31_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_7317"
      unitRef="USD">0</clwt:StockBasedCompensationExpenseAmount>
    <clwt:StockBasedCompensationExpenseAmount
      contextRef="From2024-01-01to2024-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="fid_7423"
      unitRef="USD">12000</clwt:StockBasedCompensationExpenseAmount>
    <clwt:StockBasedCompensationExpenseAmount
      contextRef="From2024-01-01to2024-12-31_us-gaap_TreasuryStockCommonMember"
      decimals="-3"
      id="fid_7424"
      unitRef="USD">0</clwt:StockBasedCompensationExpenseAmount>
    <clwt:StockBasedCompensationExpenseAmount
      contextRef="From2024-01-01to2024-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="fid_7425"
      unitRef="USD">0</clwt:StockBasedCompensationExpenseAmount>
    <clwt:StockBasedCompensationExpenseAmount
      contextRef="From2024-01-01to2024-12-31_clwt_PRCStatutoryReserveMember"
      decimals="-3"
      id="fid_7426"
      unitRef="USD">0</clwt:StockBasedCompensationExpenseAmount>
    <clwt:StockBasedCompensationExpenseAmount
      contextRef="From2024-01-01to2024-12-31_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="fid_7427"
      unitRef="USD">0</clwt:StockBasedCompensationExpenseAmount>
    <clwt:StockBasedCompensationExpenseAmount
      contextRef="From2024-01-01to2024-12-31_us-gaap_NoncontrollingInterestMember"
      decimals="-3"
      id="fid_7428"
      unitRef="USD">0</clwt:StockBasedCompensationExpenseAmount>
    <clwt:StockBasedCompensationExpenseAmount
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_7429"
      unitRef="USD">12000</clwt:StockBasedCompensationExpenseAmount>
    <clwt:AppropriationToStatutoryReserve
      contextRef="From2024-01-01to2024-12-31_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_7320"
      unitRef="USD">0</clwt:AppropriationToStatutoryReserve>
    <clwt:AppropriationToStatutoryReserve
      contextRef="From2024-01-01to2024-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="fid_7430"
      unitRef="USD">0</clwt:AppropriationToStatutoryReserve>
    <clwt:AppropriationToStatutoryReserve
      contextRef="From2024-01-01to2024-12-31_us-gaap_TreasuryStockCommonMember"
      decimals="-3"
      id="fid_7431"
      unitRef="USD">0</clwt:AppropriationToStatutoryReserve>
    <clwt:AppropriationToStatutoryReserve
      contextRef="From2024-01-01to2024-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="fid_7432"
      unitRef="USD">0</clwt:AppropriationToStatutoryReserve>
    <clwt:AppropriationToStatutoryReserve
      contextRef="From2024-01-01to2024-12-31_clwt_PRCStatutoryReserveMember"
      decimals="-3"
      id="fid_7433"
      unitRef="USD">3000</clwt:AppropriationToStatutoryReserve>
    <clwt:AppropriationToStatutoryReserve
      contextRef="From2024-01-01to2024-12-31_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="fid_7434"
      unitRef="USD">-3000</clwt:AppropriationToStatutoryReserve>
    <clwt:AppropriationToStatutoryReserve
      contextRef="From2024-01-01to2024-12-31_us-gaap_NoncontrollingInterestMember"
      decimals="-3"
      id="fid_7435"
      unitRef="USD">0</clwt:AppropriationToStatutoryReserve>
    <clwt:AppropriationToStatutoryReserve
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_7436"
      unitRef="USD">0</clwt:AppropriationToStatutoryReserve>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-01-01to2024-12-31_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_7246"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-01-01to2024-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="fid_7251"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-01-01to2024-12-31_us-gaap_TreasuryStockCommonMember"
      decimals="-3"
      id="fid_7276"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-01-01to2024-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="fid_7256"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-01-01to2024-12-31_clwt_PRCStatutoryReserveMember"
      decimals="-3"
      id="fid_7261"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-01-01to2024-12-31_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="fid_7266"
      unitRef="USD">734000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-01-01to2024-12-31_us-gaap_NoncontrollingInterestMember"
      decimals="-3"
      id="fid_7271"
      unitRef="USD">111000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_7241"
      unitRef="USD">845000</us-gaap:NetIncomeLoss>
    <us-gaap:SharesIssued
      contextRef="AsOf2024-12-31_us-gaap_CommonStockMember"
      decimals="0"
      id="fid_7247"
      unitRef="Shares">7899832</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2024-12-31_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_7248"
      unitRef="USD">123000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2024-12-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="fid_7253"
      unitRef="USD">9774000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2024-12-31_us-gaap_TreasuryStockCommonMember"
      decimals="-3"
      id="fid_7278"
      unitRef="USD">-807000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2024-12-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="fid_7258"
      unitRef="USD">713000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2024-12-31_clwt_PRCStatutoryReserveMember"
      decimals="-3"
      id="fid_7263"
      unitRef="USD">345000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2024-12-31_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="fid_7268"
      unitRef="USD">5595000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2024-12-31_us-gaap_NoncontrollingInterestMember"
      decimals="-3"
      id="fid_7273"
      unitRef="USD">951000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_7243"
      unitRef="USD">16694000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3481">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;strong&gt;Note 1: Organization and Business Background &lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Euro Tech Holdings Company Limited (the &#x201c;Company&#x201d; or &#x201c;CLWT&#x201d;) was incorporated in the British Virgin Islands on September 30, 1996.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Euro Tech (Far East) Limited (&#x201c;Far East&#x201d;) is the principal operating subsidiary of the Company. It is principally engaged in the marketing and trading of water and waste water related process control, analytical and testing instruments, disinfection equipment, supplies and related automation systems in Hong Kong and in the People&#x2019;s Republic of China (the &#x201c;PRC&#x201d;).&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The Company&#x2019;s principal subsidiaries at December 31, 2024 and 2023 are set out below.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;span style="text-decoration:underline"&gt;Description of subsidiaries&lt;/span&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:21%;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;Company name&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;&#160;&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:17%;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;Place of incorporation and principal place of operation&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;&#160;&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:34%;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;Principal activities&lt;/strong&gt;&lt;/p&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;and place of operation&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;&#160;&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="3" style="BORDER-BOTTOM: 1px solid;width:20%;vertical-align:bottom;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Effective interest&lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;held&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:21%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:17%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:34%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;&#160;&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:21%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:17%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:34%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="width:21%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Euro Tech (Far East) Limited&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:17%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Hong Kong&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:34%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Marketing and trading of water and waste water related process control, analytical and testing instruments, disinfection equipment, supplies and related automation systems&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:9%;vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;100%&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:9%;vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;100%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="width:21%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:17%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:34%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="width:21%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Euro Tech Trading (Shanghai) Limited&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:17%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;The PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:34%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Inactive&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:9%;vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;100%&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:9%;vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;100%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="width:21%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:17%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:34%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="width:21%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Shanghai Euro Tech Limited #&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:17%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;The PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:34%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Manufacturing of analytical and testing equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:9%;vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:9%;vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;100%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="width:21%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:17%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:34%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:9%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="width:21%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Yixing Pact Environmental Technology Co., Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:17%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;The PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:34%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Design, manufacturing and operation of water and wastewater treatment and water desalination machinery and equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:9%;vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;58%&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:9%;vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;58%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="width:21%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:17%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:34%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:9%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:9%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="width:21%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Pact Asia Pacific Limited&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:17%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;The British Virgin Islands&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:34%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Sale of environmental protection equipment, undertaking environment protection projects and providing relevant technology advice, training and services&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:9%;vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;58%&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:9%;vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;58%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="width:21%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:17%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:34%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:9%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="width:21%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;PACT Environmental Technology Pte. Ltd. #&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;/td&gt;&lt;td style="width:17%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Singapore&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;/td&gt;&lt;td style="width:34%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Marketing and provision of after sales services of ballast water treatment systems and customized industrial wastewater solutions, equipment fabrication&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;/td&gt;&lt;td style="width:9%;vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;58%&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;/td&gt;&lt;td style="width:9%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="width:21%;"&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;/td&gt;&lt;td style="width:17%;"&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;/td&gt;&lt;td style="width:34%;"&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;/td&gt;&lt;td style="width:9%;"&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;/td&gt;&lt;td style="width:9%;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td colspan="3" style="width:40%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Non-consolidating affiliate:&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:34%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:9%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="width:21%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:17%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:34%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:9%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="width:21%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Zhejiang Tianlan Environmental Protection Technology Co. Ltd (&#x201c;Blue Sky&#x201d;) *&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:17%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;The PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:34%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Design, general contract, equipment manufacturing, installation, testing and operation management of the treatment of waste gases emitted&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:9%;vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;19.4%&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:9%;vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;19.4%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160; &lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;# This company was deregistered on October 8, 2024.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;#&#160;This company was incorporated on November 7, 2024.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;* The Company&#x2019;s interest in Blue Sky has been counted for as an affiliate using the equity method as the Company has representation on both the Board and Executive Committee of Blue Sky, and the ability to participate in the decision-making process and exercise significant influence.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The Company and its subsidiaries are hereinafter referred to as (the &#x201c;Group&#x201d;).&lt;/p&gt;</us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock>
    <clwt:ScheduleOfSignificantSubsidiariesTableTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_4762">&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:21%;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;Company name&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;&#160;&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:17%;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;Place of incorporation and principal place of operation&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;&#160;&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:34%;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;Principal activities&lt;/strong&gt;&lt;/p&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;and place of operation&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;&#160;&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="3" style="BORDER-BOTTOM: 1px solid;width:20%;vertical-align:bottom;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Effective interest&lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;held&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:21%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:17%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:34%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;&#160;&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:21%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:17%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:34%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="width:21%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Euro Tech (Far East) Limited&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:17%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Hong Kong&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:34%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Marketing and trading of water and waste water related process control, analytical and testing instruments, disinfection equipment, supplies and related automation systems&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:9%;vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;100%&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:9%;vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;100%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="width:21%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:17%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:34%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="width:21%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Euro Tech Trading (Shanghai) Limited&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:17%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;The PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:34%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Inactive&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:9%;vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;100%&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:9%;vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;100%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="width:21%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:17%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:34%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="width:21%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Shanghai Euro Tech Limited #&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:17%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;The PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:34%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Manufacturing of analytical and testing equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:9%;vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:9%;vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;100%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="width:21%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:17%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:34%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:9%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="width:21%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Yixing Pact Environmental Technology Co., Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:17%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;The PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:34%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Design, manufacturing and operation of water and wastewater treatment and water desalination machinery and equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:9%;vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;58%&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:9%;vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;58%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="width:21%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:17%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:34%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:9%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:9%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="width:21%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Pact Asia Pacific Limited&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:17%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;The British Virgin Islands&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:34%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Sale of environmental protection equipment, undertaking environment protection projects and providing relevant technology advice, training and services&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:9%;vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;58%&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:9%;vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;58%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="width:21%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:17%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:34%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:9%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="width:21%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;PACT Environmental Technology Pte. Ltd. #&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;/td&gt;&lt;td style="width:17%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Singapore&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;/td&gt;&lt;td style="width:34%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Marketing and provision of after sales services of ballast water treatment systems and customized industrial wastewater solutions, equipment fabrication&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;/td&gt;&lt;td style="width:9%;vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;58%&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;/td&gt;&lt;td style="width:9%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="width:21%;"&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;/td&gt;&lt;td style="width:17%;"&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;/td&gt;&lt;td style="width:34%;"&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;/td&gt;&lt;td style="width:9%;"&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;/td&gt;&lt;td style="width:9%;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td colspan="3" style="width:40%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Non-consolidating affiliate:&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:34%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:9%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="width:21%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:17%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:34%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:9%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="width:21%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Zhejiang Tianlan Environmental Protection Technology Co. Ltd (&#x201c;Blue Sky&#x201d;) *&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:17%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;The PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:34%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Design, general contract, equipment manufacturing, installation, testing and operation management of the treatment of waste gases emitted&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:9%;vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;19.4%&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:9%;vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;19.4%&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</clwt:ScheduleOfSignificantSubsidiariesTableTextBlock>
    <clwt:PlaceOfIncorporation
      contextRef="From2024-01-01to2024-12-31_clwt_EuroTechFarEastsLimitedMember"
      id="fid_7061">Hong Kong</clwt:PlaceOfIncorporation>
    <us-gaap:EquityMethodInvestmentDescriptionOfPrincipalActivities
      contextRef="From2024-01-01to2024-12-31_clwt_EuroTechFarEastsLimitedMember"
      id="fid_7066">Marketing and trading of water and waste water related process control, analytical and testing instruments, disinfection equipment, supplies and related automation systems</us-gaap:EquityMethodInvestmentDescriptionOfPrincipalActivities>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="From2024-01-01to2024-12-31_clwt_EuroTechFarEastsLimitedMember"
      decimals="INF"
      id="fid_7050"
      unitRef="Pure">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="From2023-01-01to2023-12-31_clwt_EuroTechFarEastsLimitedMember"
      decimals="INF"
      id="fid_7049"
      unitRef="Pure">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <clwt:PlaceOfIncorporation
      contextRef="From2024-01-01to2024-12-31_clwt_EuroTechTradingsLimitedMember"
      id="fid_7062">The PRC</clwt:PlaceOfIncorporation>
    <us-gaap:EquityMethodInvestmentDescriptionOfPrincipalActivities
      contextRef="From2024-01-01to2024-12-31_clwt_EuroTechTradingsLimitedMember"
      id="fid_7067">Inactive</us-gaap:EquityMethodInvestmentDescriptionOfPrincipalActivities>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="From2024-01-01to2024-12-31_clwt_EuroTechTradingsLimitedMember"
      decimals="INF"
      id="fid_7052"
      unitRef="Pure">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="From2023-01-01to2023-12-31_clwt_EuroTechTradingsLimitedMember"
      decimals="INF"
      id="fid_7051"
      unitRef="Pure">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <clwt:PlaceOfIncorporation
      contextRef="From2024-01-01to2024-12-31_clwt_ShanghaiEuroTechsLimitedMember"
      id="fid_7063">The PRC</clwt:PlaceOfIncorporation>
    <us-gaap:EquityMethodInvestmentDescriptionOfPrincipalActivities
      contextRef="From2024-01-01to2024-12-31_clwt_ShanghaiEuroTechsLimitedMember"
      id="fid_7068">Manufacturing of analytical and testing equipment</us-gaap:EquityMethodInvestmentDescriptionOfPrincipalActivities>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="From2023-01-01to2023-12-31_clwt_ShanghaiEuroTechsLimitedMember"
      decimals="INF"
      id="fid_7053"
      unitRef="Pure">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <clwt:PlaceOfIncorporation
      contextRef="From2024-01-01to2024-12-31_clwt_YixingPactEnvironmentalsMember"
      id="fid_7059">The PRC</clwt:PlaceOfIncorporation>
    <us-gaap:EquityMethodInvestmentDescriptionOfPrincipalActivities
      contextRef="From2024-01-01to2024-12-31_clwt_YixingPactEnvironmentalsMember"
      id="fid_7064">Design, manufacturing and operation of water and wastewater treatment and water desalination machinery and equipment</us-gaap:EquityMethodInvestmentDescriptionOfPrincipalActivities>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="From2024-01-01to2024-12-31_clwt_YixingPactEnvironmentalsMember"
      decimals="INF"
      id="fid_7056"
      unitRef="Pure">0.58</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="From2023-01-01to2023-12-31_clwt_YixingPactEnvironmentalsMember"
      decimals="INF"
      id="fid_7055"
      unitRef="Pure">0.58</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <clwt:PlaceOfIncorporation
      contextRef="From2024-01-01to2024-12-31_clwt_PactAsiaPacificLimitedsMember"
      id="fid_7060">The British Virgin Islands</clwt:PlaceOfIncorporation>
    <us-gaap:EquityMethodInvestmentDescriptionOfPrincipalActivities
      contextRef="From2024-01-01to2024-12-31_clwt_PactAsiaPacificLimitedsMember"
      id="fid_7065">Sale of environmental protection equipment, undertaking environment protection projects and providing relevant technology advice, training and services</us-gaap:EquityMethodInvestmentDescriptionOfPrincipalActivities>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="From2024-01-01to2024-12-31_clwt_PactAsiaPacificLimitedsMember"
      decimals="INF"
      id="fid_7058"
      unitRef="Pure">0.58</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="From2023-01-01to2023-12-31_clwt_PactAsiaPacificLimitedsMember"
      decimals="INF"
      id="fid_7057"
      unitRef="Pure">0.58</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <clwt:PlaceOfIncorporation
      contextRef="From2024-01-01to2024-12-31_clwt_PactEnvironmentalTechnologyPteLtdMember"
      id="fid_7089">Singapore</clwt:PlaceOfIncorporation>
    <us-gaap:EquityMethodInvestmentDescriptionOfPrincipalActivities
      contextRef="From2024-01-01to2024-12-31_clwt_PactEnvironmentalTechnologyPteLtdMember"
      id="fid_7088">Marketing and provision of after sales services of ballast water treatment systems and customized industrial wastewater solutions, equipment fabrication</us-gaap:EquityMethodInvestmentDescriptionOfPrincipalActivities>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="From2024-01-01to2024-12-31_clwt_PactEnvironmentalTechnologyPteLtdMember"
      decimals="INF"
      id="fid_7090"
      unitRef="Pure">0.58</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <clwt:PlaceOfIncorporation
      contextRef="From2024-01-01to2024-12-31_clwt_ZhejiangTianlanEnvironmentalProtectionTechnologyCoLtdMember"
      id="fid_7093">The PRC</clwt:PlaceOfIncorporation>
    <us-gaap:EquityMethodInvestmentDescriptionOfPrincipalActivities
      contextRef="From2024-01-01to2024-12-31_clwt_ZhejiangTianlanEnvironmentalProtectionTechnologyCoLtdMember"
      id="fid_7092">Design, general contract, equipment manufacturing, installation, testing and operation management of the treatment of waste gases emitted</us-gaap:EquityMethodInvestmentDescriptionOfPrincipalActivities>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="From2024-01-01to2024-12-31_clwt_ZhejiangTianlanEnvironmentalProtectionTechnologyCoLtdMember"
      decimals="INF"
      id="fid_7094"
      unitRef="Pure">0.194</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="From2023-01-01to2023-12-31_clwt_ZhejiangTianlanEnvironmentalProtectionTechnologyCoLtdMember"
      decimals="INF"
      id="fid_7095"
      unitRef="Pure">0.194</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SignificantAccountingPoliciesTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3437">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;strong&gt;Note 2: Summary of Significant Accounting Policies &lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The accompanying consolidated financial statements reflect the application of certain significant accounting policies as described in this note and elsewhere in the accompanying consolidated financial statements and notes.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;span style="font-family:symbol"&gt;&#xb7;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Use of estimates&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The preparation of the accompanying consolidated financial statements in conformity with GAAP requires management to make estimates and judgments that affect the reported amounts of assets and liabilities, the disclosure of contingent assets and liabilities at the date of the consolidated financial statements and the reported amounts of revenues and expenses during the reporting period. Certain accounting estimates of the Group require a higher degree of judgment than others in their application. These include the recognition of revenue and earnings from engineering contracts over time, the valuation of goodwill, and contract assets and contract liabilities. Management continually evaluates all of its estimates and judgments based on available information and experience; however, actual results could differ from these estimates.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;span style="font-family:symbol"&gt;&#xb7;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Basis of consolidation&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The accompanying consolidated financial statements include the results of operations of the Company and its subsidiaries. Significant intercompany transactions and balances have been eliminated. &lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;span style="font-family:symbol"&gt;&#xb7;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Subsidiaries&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Subsidiaries are all entities over which the Group has control; has the power to appoint or remove the majority of the members of the board of directors; has the right to cast a majority of votes at the meeting of the board of directors or to govern the financial and operating policies of the investee under a statute or agreement among the shareholders or equity holders.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;span style="font-family:symbol"&gt;&#xb7;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Investments in affiliates&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;We account for our interest in an investment using the equity method of accounting per Accounting Standards Codification (&#x201c;ASC&#x201d;) No. 323, &#x201c;Investments - Equity Method and Joint Ventures&#x201d; if we are not the primary beneficiary of a VIE or do not have a controlling interest. The investment is recorded at cost and the carrying amount is adjusted periodically to recognize our proportionate share of income or loss, additional contributions made and dividends and capital distributions received. We record the effect of any impairment or other than temporary decrease in the value of the investment.&#160; &lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;In the event a partially owned equity affiliate were to incur a loss and our cumulative proportionate share of the loss exceeded the carrying amount of the equity method investment, application of the equity method would be suspended and our proportionate share of further losses would not be recognized unless we committed to provide further financial support to the affiliate. We would resume application of the equity method once the affiliate became profitable and our proportionate share of the affiliate&#x2019;s earnings equals our cumulative proportionate share of losses that were not recognized during the period the application of the equity method was suspended.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;span style="font-family:symbol"&gt;&#xb7;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Non-controlling interests&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;For entities that are consolidated, but not 100% owned, a portion of the income or loss and equity is allocated to owners other than the Group. The aggregate of the income or loss and corresponding equity that is not owned by the Group is included within non-controlling interests in the consolidated financial statements.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Non-controlling interests is presented as a separate component of equity in the consolidated balance sheets. Net income includes the net income attributable to the holders of non-controlling interests in the consolidated statements of operations and comprehensive income / (loss). Profits and losses are allocated to non-controlling interests in proportion to their relative ownership interests regardless of their basis.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;span style="font-family:symbol"&gt;&#xb7;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Non-controlling interest &#x2013; put option&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The management evaluates all of its financial instruments, including issued put options, to determine their appropriate classification as either liabilities or equity, following the criteria's outlined in ASC 480, " Distinguishing Liabilities from Equity". The Group has determined that the put option held by non-controlling interest will be recorded as equity if the fair value of the put option becomes material.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;span style="font-family:symbol"&gt;&#xb7;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Segment information&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The Group reports segment information based on the &#x201c;management&#x201d; approach. The management approach designates the internal reporting used by management for making decisions and assessing performance as the source of the Group&#x2019;s reportable segments. The Group categorizes its operations into two business segments: Trading and manufacturing, and Engineering.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;span style="font-family:symbol"&gt;&#xb7;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Revenue recognition&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The Company follows the revenue standard Accounting Standards Codification (&#x201c;ASC&#x201d;) 606, Revenue from Contracts with Customers.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The core principle of the revenue standard is that a company should recognize revenue to depict the transfer of promised goods or services to customers in an amount that reflects the consideration to which the company expects to be entitled in exchange for those goods or services. The following five steps are applied to achieve that core principle:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Step 1: Identify the contract with the customer&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Step 2: Identify the performance obligations in the contract&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Step 3: Determine the transaction price&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Step 4: Allocate the transaction price to the performance obligations in the contract&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Step 5: Recognize revenue when the company satisfies a performance obligation.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Our revenue is derived from both short and&#160;long-term contracts for customers in our engineering segment, as well as short-term contracts for customers in our trading and manufacturing segment. Accounting treatment for these contracts in accordance with Accounting Standards Update (&#x201c;ASU&#x201d;) 2014-09 (Accounting Standards Codification (&#x201c;ASC&#x201d;) Topic 606, Revenue from Contracts with Customer), is as follows:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;span style="text-decoration:underline"&gt;Performance obligations satisfied over time (Engineering services)&lt;/span&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Recognition of performance obligations &lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;A performance obligation is a promise in a contract to transfer a distinct good or service to the customer, and is the unit of account in the new revenue standard. The contract transaction price is allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied. &lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Engineering service projects typically span between several days to over 5 years. The majority of our long-term contracts have a single performance obligation as the promise to transfer the individual goods or services is not separately identifiable from other promises in the contracts and, therefore, is not distinct. Some contracts have multiple performance obligations, most commonly due to the contract covering multiple phases of the project life cycle. Revenues are recognized as our obligations are satisfied over time, by reference to the progress towards complete satisfaction of that performance obligation.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;If the Group expects the reference to progress certificates issued by the customers, with additional adjustments where necessary, depicts the Group&#x2019;s performance in transferring control of goods or services promised to customers for individual projects, the Group satisfies the performance obligation over time and therefore, recognizes revenue over time in accordance with the output method for measuring progress. Under output method, revenue recognition is based on the stage of completion of the contracts, provided that the stage of contract completion and the gross billing value of contracting work can be measured reliably. The stage of completion of a contract is established by reference to the contract based on billing milestone or stage of work certified by customer. Generally, invoices are billed upon fulfilment of the measurable performance obligation. The Company evaluates the progress towards completion of the performance obligation at each phase of the contract and bills the customer in accordance with the price agreed upon on the contract.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Remaining performance obligations (&#x201c;RPOs&#x201d;)&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;RPOs represent the amount of revenues we expect to recognize in the future from our contract commitments on projects and are hereafter referred to as &#x201c;Backlog&#x201d;. Backlog includes the entire expected revenue values for subsidiary we consolidate. Backlog may not be indicative of future operating results, and projects included in Backlog may be canceled, modified or otherwise altered by customers. &lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The following schedule shows a reconciliation of backlog representing the amount of revenue the Company expects to realize from work to be performed on uncompleted contracts in progress at December 31, 2024 and 2023, and from contractual agreements in effect at December 31, 2024, on which work has not yet begun:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Contract revenue on uncompleted contracts at December 31, 2022&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;523&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;New contract awards during the year&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;9,044&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Contract adjustment&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;252&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Contract revenue recognized for the year&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(5,797&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;)&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Backlog at December 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;4,022&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Contract revenue on uncompleted contracts at December 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;4,022&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;New contract awards during the year&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;5,621&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Contract adjustment&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;30&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Contract revenue recognized for the year&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(5,834&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;)&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Backlog at December 31, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;3,839&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160; &lt;/p&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Our backlog decreased from US$4,022,000 as of December 31, 2023 to US$3,839,000 as of December 31, 2024, representing a decrease of US$183,000. The decrease in our backlog was primarily due to the increased completion and fulfillment of existing orders by us in our existing construction projects. Nevertheless, the timing and extent to which backlog will result in direct revenue depends on many factors, including the timing of commencement of work, the rate at which we perform services, scope changes, cancellations, delays, receipt of regulatory approvals and the nature, duration, size, complexity and phase of the studies. In addition, delayed projects remain in backlog until they are canceled. As a result of these factors, our backlog is not necessarily a reliable indicator of future direct revenue and we might not realize all or any part of the direct revenue from the authorizations in backlog as of any point in time.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Variable consideration&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Contract modifications through change orders, claims and incentives are routine in the performance of the Group&#x2019;s contracts to account for changes in the contract specifications or requirements. In most instances, contract modifications are not distinct from the existing contract due to the significant integration service provided in the contract and are accounted for as a modification of the existing contract and performance obligation. Either the Group or its customers may initiate change orders, which may include changes in specifications or designs, manner of performance, facilities, equipment, materials, sites and period of completion of the work. Change orders that are unapproved as to both price and scope are evaluated as claims. The Group considers claims to be amounts in excess of approved contract prices that the Group seeks to collect from its customers or others for customer-caused delays, errors in specifications and designs, contract terminations, change orders that are either in dispute or are unapproved as to both scope and price, or other causes of unanticipated additional contract costs.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;In the event that customer requests a change of order (such as an upgrade of specifications, materials or additional work) before the completion of the project, the Group will negotiate and sign a subcontract with the customer, subject to mutual agreement.&#160; The subcontract has its own terms and conditions for the variable consideration and is generally integrated with the original master contract. This will normally result in an increase in additional billing to the customer and rarely a reduction in the total value of the contract. The effect of variable consideration on the transaction price of a performance obligation is recognized as an adjustment to revenue on a cumulative catch-up basis. To the extent unapproved change orders and claims reflected in transaction price (or excluded from transaction price in the case of liquidated damages) are not resolved in the Group&#x2019;s favor, or to the extent incentives reflected in transaction price are not earned, there could be reductions in, or reversals of, previously recognized revenue.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;span style="text-decoration:underline"&gt;Performance obligations satisfied at a point-in-time (Trading and manufacturing)&lt;/span&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;For revenue recognized associated with its contracts with customers over time, for which the Group has an enforceable right to receive compensation. Many of our contracts contain specific provisions that determine when the Group can bill for its work performed under these contracts.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Any costs incurred or any payment received for a long-term contract, for which revenue has not been recognized due to impracticability or inability to measure the performance obligation, is recorded as a contract asset and contract liability, respectively, on the Group&#x2019;s consolidated balance sheets. Revenue will be recognized when the performance obligation can be measured reliably and the criteria as stipulated under ACS 606 are met.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The Group&#x2019;s consolidated balance sheets present contract cost assets that represent our rights to receive payment for completed but not yet billed work and include costs incurred for contracts with customers as at financial year end less amounts received in advance from those customers at financial year end.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The Group&#x2019;s consolidated balance sheets present contract liabilities that contain deferred revenue that represent amounts received in advance from customers at financial year end in excess of any costs incurred on those contracts, which are in progress at year end, for which revenue has not yet been recognized.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Contract assets and contract liabilities arising from the same individual contract are presented net as either a single net contract asset or single net contract liability for presentation purposes.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;span style="font-family:symbol"&gt;&#xb7;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Research and development costs&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Research and development costs (&#x201c;R&amp;amp;D&#x201d; costs) are expensed as incurred. The R&amp;amp;D costs amounted to approximately US$Nil, US$Nil and US$Nil for the years ended December 31, 2024, 2023 and 2022 respectively and were included in &#x201c;Selling and administrative expenses&#x201d; in the Group&#x2019;s consolidated statements of operations and comprehensive income / (loss).&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;span style="font-family:symbol"&gt;&#xb7;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Advertising and promotional expenses&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Advertising and promotional expenses (&#x201c;A&amp;amp;P&#x201d; expenses) are expensed as incurred. The A&amp;amp;P expenses amounted to approximately US$41,000, US$29,000 and US$9,000 for the years ended December 31, 2024, 2023 and 2022 respectively and were included in &#x201c;Selling and administrative expenses&#x201d; in the Group&#x2019;s consolidated statements of operations and comprehensive income / (loss).&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;span style="font-family:symbol"&gt;&#xb7;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Income taxes&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The Group follows the liability method of accounting for income tax. Under this method, deferred tax assets and liabilities are recorded for future tax consequences of temporary differences&#160;between the financial reporting and tax bases of assets and liabilities, and are measured using the enacted tax rates and laws that are expected to be in effect when the underlying assets or liabilities are recovered or settled. The Group also evaluates whether the recorded deferred tax assets and valuation allowances can be realized and, when necessary, reduces the amounts to what is expected to be realized.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The accounting guidance on accounting for uncertainty in income taxes also addresses derecognition, classification, interest and penalties on income taxes, and accounting in interim periods. The Group does not believe it has any uncertain tax positions through the periods ended December 31, 2024, 2023 and 2022 respectively which would have a material impact on the Group&#x2019;s consolidated financial statements.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Interest and penalties related to uncertain income tax positions are included in income tax expense on the Group&#x2019;s consolidated statements of operations and comprehensive income / (loss). Interest and penalties actually incurred are charged to interest expense and the other income, respectively if applicable.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The Group files tax returns in Hong Kong and the PRC. The tax returns for 2024, 2023 and 2022 are subject to examination by Hong Kong and PRC taxing authorities, commencing with the first year filed.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;span style="font-family:symbol"&gt;&#xb7;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Cash and cash equivalents&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Cash and cash equivalents consist of cash on hand, and bank deposits with original maturities of three months or less, all of which are unrestricted as to withdrawal. There were no cash equivalents as of December 31, 2024 and 2023.&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;span style="font-family:symbol"&gt;&#xb7;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Restricted cash&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Restricted cash represents cash deposits retained with banks in the PRC for issuance of performance bonds and guarantees to the customers and cash deposited by the Group into separate accounts and designated as collateral for standby letters of credit in the same amount in accordance with contractual agreements. &#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;span style="font-family:symbol"&gt;&#xb7;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Accounts Receivable, net&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The Group does not charge interest to its customers and carries its customer receivables at their face amounts net of expected credit losses. As is common practice in the industry, the Group classifies all accounts receivable as current assets.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The Group grants trade credit, on a non-collateralized basis, to its customers and is subject to potential credit risk related to changes in business and overall economic activity. The Group analyzes specific accounts receivable balances, historical bad debts, customer credit-worthiness, current economic trends and changes in customer payment terms when evaluating the adequacy of the allowance for doubtful accounts. In the event that a customer balance is deemed to be uncollectible, the account balance is written-off against the allowance for doubtful accounts.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;span style="font-family:symbol"&gt;&#xb7;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Inventories&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Inventories are measured using the first-in, first-out method and are stated at the lower of cost or net realizable value. Cost of finished goods comprise direct material, direct production costs and an allocated portion of production overhead costs based on normal operating capacity. Allowance is made for obsolete, slow moving or defective items, where appropriate.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;span style="font-family:symbol"&gt;&#xb7;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Property, plant and equipment&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Property, plant and equipment is carried at cost. Major modifications or refurbishments which extend the useful life of the assets are capitalized and depreciated over the adjusted remaining useful life of the assets. Upon retirement or disposition of property, plant and equipment, the cost and related accumulated depreciation are removed and any resulting gain or loss is recognized in consolidated income from operations. The cost of maintenance and repairs is charged to expense as incurred. Property, plant and equipment is reviewed for impairment and tested for recoverability whenever events or changes in circumstances indicate that the carrying amount may not be recoverable. If the carrying value of property, plant and equipment exceeds its fair value, an impairment charge would be recorded in the consolidated statement of operations.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Depreciation of property, plant and equipment are computed using the straight-line method over the assets&#x2019; estimated useful lives as follows:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:3%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:30%;vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Expected useful life&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Office premises&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;47 to 51 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Leasehold improvements&#160; &lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;Over terms of the leases or the useful lives whichever is less&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Furniture, fixtures and office equipment&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;3 to 5 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Motor vehicles&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;4 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Testing equipment&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;3 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;span style="font-family:symbol"&gt;&#xb7;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Impairment of long lived assets&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Long-lived assets such as property, plant and equipment with finite lives are evaluated for impairment whenever events or changes in circumstances indicate that the carrying value of an asset may not be fully recoverable or that the useful life is shorter than the Group had originally estimated. When these events occur, the Group evaluates the impairment for the long-lived assets by comparing the carrying value of the assets to an estimate of future undiscounted cash flows expected to be generated from the use of the assets and their eventual disposition. If the sum of the expected future undiscounted cash flows is less than the carrying value of the assets, the Group recognizes an impairment loss based on the excess of the carrying value of the assets over the fair value of the assets. There was no impairment of long lived assets during 2024, 2023 and 2022, respectively.&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;span style="font-family:symbol"&gt;&#xb7;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Long-term investment&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The Group has elected to apply the measurement alternative to equity securities without readily determinable fair values. As such, the Group&#x2019;s non-marketable equity securities are measured at cost, less any impairment, and are adjusted for changes in fair value resulting from observable transactions for identical or similar investments of the investee. &lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;span style="font-family:symbol"&gt;&#xb7;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Leases arrangements&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;In the ordinary course of business, the Group enters into a variety of operating lease arrangements.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Operating right-of-use leases are included in operating lease right-of-use assets, current portion of long-term operating lease obligations and long-term operating lease obligations, net of current maturities on the Group&#x2019;s consolidated balance sheets, as appropriate. Operating lease right-of-use assets and operating lease liabilities are recognized based on the present value of the future minimum lease payments over the lease term at commencement date. As most of the Group&#x2019;s leases do not provide an implicit rate to calculate present value, the Group determines this rate by estimating the Group&#x2019;s incremental borrowing rate, utilizing the borrowing rates associated with the Group&#x2019;s various debt instruments. The operating lease right-of-use asset also includes any lease payments made and initial direct costs incurred and excludes lease incentives. Our lease terms may include options to extend or terminate the lease when it is reasonably certain that we will exercise that option.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Lease expense for minimum lease payments is recognized on a straight-line basis over the lease term.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;span style="font-family:symbol"&gt;&#xb7;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Goodwill&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Goodwill is not amortized. The Group performs either a qualitative or quantitative assessment to review goodwill for impairment on an annual basis. This assessment is performed at the beginning of the fourth quarter, or when circumstances change, such as a significant adverse change in the business climate or the decision to sell a business, both of which would indicate that impairment may have occurred. &lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;A qualitative assessment considers financial, industry, segment and macroeconomic factors, if the qualitative assessment indicates a potential for impairment, a quantitative assessment is performed to determine if impairment exists. The quantitative assessment begins with a comparison of the fair value of the reporting unit with its carrying value. If the carrying amount of the reporting unit exceeds its fair value, an impairment loss would be recognized in an amount equal to that excess, limited to the total amount of the goodwill allocated to the reporting unit. If the carrying value of goodwill exceeds its implied fair value, an impairment charge would be recorded in the consolidated statements of operations and comprehensive income / (loss).&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;As a result of the annual qualitative review process in 2024 and 2023, the Group determined it was not necessary to perform a quantitative assessment. &lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;span style="font-family:symbol"&gt;&#xb7;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Foreign currency translation&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The assets and liabilities of the Group&#x2019;s subsidiaries denominated in currencies other than U.S. dollars are translated into U.S. dollars using the applicable exchange rates at the consolidated balance sheet date. For consolidated statements of operations and comprehensive income/(loss)&#x2019; items, amounts denominated in currencies other than U.S. dollars were translated into U.S. dollars using the average exchange rate during the period. Equity accounts were translated at their historical exchange rates. Net gains and losses resulting from translation of foreign currency on consolidated financial statements are included&#160;in the consolidated statements of shareholders&#x2019; equity as accumulated other comprehensive income. Foreign currency transaction gains and losses are reflected in the consolidated statements of operations and comprehensive income / (loss).&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;span style="font-family:symbol"&gt;&#xb7;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Comprehensive income&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;We account for comprehensive income in accordance with ASC&#160;220, &#x201c;Comprehensive Income&#x201d;, which specifies the computation, presentation and disclosure requirements for comprehensive income. Comprehensive income consists of net income and foreign currency translation adjustments, primarily from fluctuations in foreign currency exchange rates of our foreign subsidiaries with a functional currency other than the U.S. dollar.&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;span style="font-family:symbol"&gt;&#xb7;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Ordinary share&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;On November 22, 2011, the Company filed Amended and Restated Memorandum and Articles of Association with the Registry of Corporate Affairs of the BVI Financial Services Commission that on November 29, 2011 became effective as of the filing date to amend the Company&#x2019;s ordinary shares of US$0.01 par value capital stock to no par value capital stock. Treasury stock is accounted for using the cost method.&#160; When treasury stock is reissued, the value is computed and recorded using a weighted-average basis.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;On October 8, 2019, the Company had stock split in the form of bonus shares at the rate of one ordinary share for every two ordinary shares held, creating 1,030,950 new shares of common stock.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;On March 3, 2021, the Company had stock split in the form of bonus shares at the rate of two ordinary shares for every three ordinary shares held, creating 2,061,900 new shares of common stock.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The effect of the above stock splits have been reflected retroactively in the financial statements and net income per ordinary share computations.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;span style="font-family:symbol"&gt;&#xb7;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Net income per ordinary share&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The Group computes net income per ordinary share using the treasury stock method. Under the treasury stock method, basic earnings per share attributable to Euro Tech Holdings Company Limited are computed by dividing net income attributable to Euro Tech Holdings Company Limited by the weighted average number of ordinary shares outstanding during the period. The Group reports both basic earnings per share, which is based on the weighted average number of ordinary shares outstanding, and diluted earnings per share, which is based on the weighted average number of ordinary shares outstanding and all dilutive potential ordinary shares outstanding.&#160; &lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Outstanding stock options are the only dilutive potential shares of the Company.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;span style="font-family:symbol"&gt;&#xb7;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Stock-based compensation&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The Group determines compensation expense for stock-based awards based on the estimated fair values at the grant date and recognizes the related compensation expense over the vesting period. The Group uses the straight-line amortization method to recognize compensation expense related to stock-based awards that have only service conditions. This method recognizes stock compensation expense on a straight-line basis over the requisite service period for the entire award. &lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;span style="font-family:symbol"&gt;&#xb7;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Related parties&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Related parties are affiliates of the Group; entities for which investments are accounted for by the equity method by the Group; trusts for the benefit of employees, such as pension and profit-sharing trusts that are managed by or under the trusteeship of management; principal owners of the Group; its management; members of the immediate families of principal owners of the Group and its management; and other parties with which the Group may deal if one party controls or can significantly influence the management or operating policies of the other to an extent that one of the transacting parties might be prevented from fully pursuing its own separate interests. Another party also is a related party if it can significantly influence the management or operating policies of the transacting parties or if it has an ownership interest in one of the transacting parties and can significantly influence the other to an extent that one or more of the transacting parties might be prevented from fully pursuing its own separate interests.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;span style="font-family:symbol"&gt;&#xb7;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Concentration&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Financial instruments that potentially subject the Group to a concentration of credit risk consist principally of cash and cash equivalents and accounts receivable, net. The Group maintains substantially all of its cash and cash equivalent balances with large financial institutions which are believed to be high quality institutions.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The Group is subject to a concentration of risk because it derives a significant portion of its revenues from a few customers. The Group&#x2019;s top customers accounting for more than 5% of the Group&#x2019;s revenue generated approximately 47%, 41% and 33% of consolidated revenues for the years ended December 31, 2024, 2023 and 2022, respectively. &lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The Group grants trade credit under contractual payment terms, generally without collateral, to its customers, which include high credit quality electric utilities, general contractors, owners and managers of industrial properties and government departments. &lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Consequently, the Group is subject to potential credit risk related to changes in business and economic factors. At December 31, 2024, Nil (2023: three) of the Group&#x2019;s customers individually exceeded 10.0% of accounts receivable, net. The Group believes the terms and conditions in its contracts, billing and collection policies are adequate to minimize the potential credit risk.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;span style="font-family:symbol"&gt;&#xb7;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Finance costs&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Interest relating to loans repaid is expensed in the period the repayment occurs. &lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;span style="font-family:symbol"&gt;&#xb7;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Warranties&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The suppliers of the Group offer a standard one-year warranty to end customers of the Group. In certain contracts, a specific percentage is designated as warranty, and management has retained it as a &#x201c;retainer fee&#x201d; for potential warranty claims within an effective period subsequent to project completion. In the event that a warranty claim is made, the amount will be deducted from the retainer fee accordingly. This balance remains on the balance sheet in contract liabilities, until the expiration of the warranty period, after which it will be recognized as revenue if it has not been fully utilized. Historically, claims on warranties have been&#160;insignificant.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;span style="font-family:symbol"&gt;&#xb7;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Contract Assets and Contract Liabilities&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Projects with performance obligations recognized over time that have revenue recognized to date in excess of cumulative billings are reported on consolidated balance sheets as &#x201c;Contract assets&#x201d;. Provisions for estimated losses of contract assets on uncompleted contracts are made in the period in which such losses are determined.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Contract liabilities on uncompleted contracts are the amounts of cash collected from clients, billings to clients on contracts in advance of work performed and revenue recognized. The majority of these amounts are expected to be earned within 12 months and are classified as current liabilities.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;span style="font-family:symbol"&gt;&#xb7;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Shipping and handling costs&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Amounts billed to customers related to shipping and handling are classified as revenues, and the Group&#x2019;s shipping and handling costs are included in cost of revenues.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;span style="font-family:symbol"&gt;&#xb7;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Retirement plan costs&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Contributions to retirement plans (which are defined contribution plans) are charged to general and administrative expenses in the accompanying statements of operation as the related employee service are provided.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;span style="font-family:symbol"&gt;&#xb7;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Statutory reserves&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The Group is required to make appropriation to reserve funds, comprising the statutory reserve fund and statutory staff welfare fund, based on after-tax net income determined with generally accepted accounting principles of the PRC (&#x201c;PRC GAAP&#x201d;).&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Appropriations to the statutory reserve fund is required to be at least 10% of the after tax net income determined in accordance with PRC GAAP until the reserve fund is equal to 50% of the entities&#x2019; registered capital. &lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;span style="font-family:symbol"&gt;&#xb7;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Fair value measurements&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The Company applies the provisions of ASC 820-10, &#x201c;Fair Value Measurements&#x201d;, for fair value measurements of financial assets and financial liabilities and for fair value measurements of non-financial items that are recognized or disclosed at fair value in the financial statements.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The Group uses the three-tier hierarchy of fair value measurement, which prioritizes the inputs used in measuring fair value based upon their degree of availability in external active markets. These tiers include: Level 1 (the highest priority), defined as observable inputs, such as quoted prices in active markets; Level 2, defined as inputs other than quoted prices in active markets that are either directly or indirectly observable; and Level 3 (the lowest priority), defined as unobservable inputs in which little or no market data exists, therefore requiring an entity to develop its own assumptions.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;As of December 31, 2024 and 2023, the Group determined that the carrying values of cash and cash equivalents, restricted cash, accounts receivable, net, prepayments and other current assets, contract assets, bank borrowings, accounts payable, contract liabilities, other payables and accrued expenses approximate their fair values because of the short-term nature of these instruments. The Group has also determined that the fair value of non-controlling interest - put option is immaterial as of December 31, 2024, and is immaterial for 2023.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;span style="font-family:symbol"&gt;&#xb7;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Recent accounting pronouncements&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Changes to GAAP are typically established by the Financial Accounting Standards Board (&#x201c;FASB&#x201d;) in the form of accounting standards updates (&#x201c;ASUs&#x201d;) to the FASB&#x2019;s ASC. The Group considers the applicability and impact of all ASUs. The Group, based on its assessment, determined that any recently issued or proposed ASUs not listed below are either not applicable to the Group or may have minimal impact on its consolidated financial statements.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;strong&gt;Recently adopted accounting pronouncements&lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;In September 2022, the Financial Accounting Standards Board (&#x201c;FASB&#x201d;) issued Accounting Standards Update (ASU) No. 2022-04 that requires additional qualitative and quantitative disclosures surrounding supplier finance programs intended to help investors better consider the effect of these programs on a company&#x2019;s working capital, liquidity, and cash flows over time. This update is effective for fiscal years beginning after December 15, 2022, including interim periods, except for the disclosure of roll forward information, which is effective for fiscal years beginning after December 15, 2023. Early adoption is permitted. The Company adopted this ASU on October 1, 2023, and it did not have a significant impact on our CFS.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;In June 2022, the FASB issued ASU 2022-03 Fair Value Measurement (Topic 820): Fair Value Measurement of Equity Securities Subject to Contractual Sale Restrictions (&#x201c;ASU 2022-03&#x201d;), which (1) clarifies the guidance in ASC 820 on the FV measurement of an equity security that is subject to a contractual sale restriction and (2) requires specific disclosures related to such an equity security. Under current guidance, stakeholders have observed diversity in practice related to whether contractual sale restrictions should be considered in the measurement of the FV of equity securities that are subject to such restrictions. To reduce the diversity in practice and increase the comparability of reported financial information, ASU 2022-03 clarifies this guidance and amends the illustrative example. ASU No. 2022-03 is effective for fiscal years beginning after December 15, 2023, with early adoption permitted. The Company is currently evaluating the extent of the impact of this ASU but does not expect the adoption of this standard to have a significant impact on our CFS.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;In March 2022, the FASB issued ASU No. 2022-02, Troubled Debt Restructurings and Vintage Disclosures. ASU 2022-02 eliminates the accounting guidance on troubled debt restructurings for creditors in ASC Topic 310 and amends the guidance on &#x201c;vintage disclosures&#x201d; to require disclosure of current-period gross write-offs by year of origination. ASU 2022-02 also updates the requirements for accounting for credit losses under ASC Topic 326 and adds enhanced disclosures for creditors with respect to loan re-financings and restructurings for borrowers experiencing financial difficulty. ASU 2022-02 is effective for fiscal years beginning after December 15, 2022, including interim periods within those fiscal years. The Company adopted this ASU on October 1, 2023, and it did not have a significant impact on our CFS.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;In June 2016, the FASB issued ASU No. 2016-13, Financial Instruments &#x2014; Credit Losses, which changes the accounting for recognizing impairments of financial assets. Under the new guidance, credit losses for certain types of financial instruments will be estimated based on expected losses. The new guidance also modifies the impairment models for available-for-sale debt securities and for purchased financial assets with credit deterioration since their origination.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;In March 2020, the FASB issued ASU No. 2020-04 providing optional expedients and exceptions to account for the effects of reference rate reform to contracts, hedging relationships, and other transactions that reference LIBOR or another reference rate expected to be discontinued. The optional guidance, which became effective March 12, 2020, could be applied through December 31, 2022. In December 2022, the FASB issued No 2022-06 extending the sunset date of the relief provided under ASU No. 2020-04 to December 31, 2024. The Company has various contracts that reference LIBOR and is assessing how this standard may be applied to specific contract modifications through March 31, 2025.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;On March 28, 2023, the FASB issued ASU No. 2023-01, Leases (Topic 842): Common Control Arrangements. ASU 2023-01 is designed to clarify the accounting for leasehold improvements associated with common control leases, thereby reducing diversity in practice. The new standard was effective for the Company for its fiscal year beginning October 1, 2023, with early adoption permitted. The Company is currently evaluating the impact of adopting the standard on its CFS.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;strong&gt;Recently issued accounting pronouncements not yet adopted &lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;In November 2023, the FASB issued ASU 2023-07, &#x201c;Segment Reporting (Topic 280)&#x201d; (&#x201c;ASU 2023-07&#x201d;). The amendments in ASU 2023-07 improve financial reporting by requiring disclosure of incremental segment information on an annual and interim basis for all public entities to enable investors to develop more decision useful financial analyses. Topic 280 requires a public entity to report a measure of segment profit or loss that the chief operating decision maker (CODM) uses to assess segment performance and make decisions about allocating resources. Topic 280 also requires other specified segment items and amounts, such as depreciation, amortization, and depletion expense, to be disclosed under certain circumstances. The amendments in ASU 202307 do not change or remove those disclosure requirements. The amendments in ASU 2023-07 also do not change how a public entity identifies its operating segments, aggregates those operating segments, or applies the quantitative thresholds to determine its reportable segments. The amendments in ASU 2023-07 are effective for years beginning after December 15, 2023 and interim periods within fiscal years beginning after December 15, 2024, adopted retroactively. Management expect the guidance will not have a significant impact on our CFS.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;In December 2023, the FASB issued ASU 2023-09, Improvement to Income Tax Disclosure. This standard requires more transparency about income tax information through improvements to income tax disclosures primarily related to the rate reconciliation and income taxes paid information. This standard also includes certain other amendments to improve the effectiveness of income tax disclosures. ASU 2023-09 is effective for public business entities, for annual periods beginning after December 15, 2024. For entities other than public business entities, the amendments are effective for annual periods beginning after December 15, 2025. The Company is in the process of evaluation the impact of adopting this new guidance on our CFS.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The Group has reviewed all recently issued, but not yet effective, accounting pronouncements and does not believe the future adoption of any such pronouncements may be expected to cause a material impact on its financial condition or the results of its operations.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;span style="font-family:symbol"&gt;&#xb7;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Reclassification&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Certain reclassifications have been made to prior year amounts to conform with the current year presentation.&lt;/p&gt;</us-gaap:SignificantAccountingPoliciesTextBlock>
    <us-gaap:UseOfEstimates contextRef="From2024-01-01to2024-12-31" id="fid_3689">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The preparation of the accompanying consolidated financial statements in conformity with GAAP requires management to make estimates and judgments that affect the reported amounts of assets and liabilities, the disclosure of contingent assets and liabilities at the date of the consolidated financial statements and the reported amounts of revenues and expenses during the reporting period. Certain accounting estimates of the Group require a higher degree of judgment than others in their application. These include the recognition of revenue and earnings from engineering contracts over time, the valuation of goodwill, and contract assets and contract liabilities. Management continually evaluates all of its estimates and judgments based on available information and experience; however, actual results could differ from these estimates.&lt;/p&gt;</us-gaap:UseOfEstimates>
    <us-gaap:ConsolidationPolicyTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3688">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The accompanying consolidated financial statements include the results of operations of the Company and its subsidiaries. Significant intercompany transactions and balances have been eliminated. &lt;/p&gt;</us-gaap:ConsolidationPolicyTextBlock>
    <us-gaap:ConsolidationSubsidiariesOrOtherInvestmentsConsolidatedEntitiesPolicy contextRef="From2024-01-01to2024-12-31" id="fid_3687">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Subsidiaries are all entities over which the Group has control; has the power to appoint or remove the majority of the members of the board of directors; has the right to cast a majority of votes at the meeting of the board of directors or to govern the financial and operating policies of the investee under a statute or agreement among the shareholders or equity holders.&lt;/p&gt;</us-gaap:ConsolidationSubsidiariesOrOtherInvestmentsConsolidatedEntitiesPolicy>
    <us-gaap:EquityMethodInvestmentsPolicy contextRef="From2024-01-01to2024-12-31" id="fid_3686">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;We account for our interest in an investment using the equity method of accounting per Accounting Standards Codification (&#x201c;ASC&#x201d;) No. 323, &#x201c;Investments - Equity Method and Joint Ventures&#x201d; if we are not the primary beneficiary of a VIE or do not have a controlling interest. The investment is recorded at cost and the carrying amount is adjusted periodically to recognize our proportionate share of income or loss, additional contributions made and dividends and capital distributions received. We record the effect of any impairment or other than temporary decrease in the value of the investment.&#160; &lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;In the event a partially owned equity affiliate were to incur a loss and our cumulative proportionate share of the loss exceeded the carrying amount of the equity method investment, application of the equity method would be suspended and our proportionate share of further losses would not be recognized unless we committed to provide further financial support to the affiliate. We would resume application of the equity method once the affiliate became profitable and our proportionate share of the affiliate&#x2019;s earnings equals our cumulative proportionate share of losses that were not recognized during the period the application of the equity method was suspended.&lt;/p&gt;</us-gaap:EquityMethodInvestmentsPolicy>
    <clwt:NoncontrollingInterestsPolicyTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3685">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;For entities that are consolidated, but not 100% owned, a portion of the income or loss and equity is allocated to owners other than the Group. The aggregate of the income or loss and corresponding equity that is not owned by the Group is included within non-controlling interests in the consolidated financial statements.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Non-controlling interests is presented as a separate component of equity in the consolidated balance sheets. Net income includes the net income attributable to the holders of non-controlling interests in the consolidated statements of operations and comprehensive income / (loss). Profits and losses are allocated to non-controlling interests in proportion to their relative ownership interests regardless of their basis.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The management evaluates all of its financial instruments, including issued put options, to determine their appropriate classification as either liabilities or equity, following the criteria's outlined in ASC 480, " Distinguishing Liabilities from Equity". The Group has determined that the put option held by non-controlling interest will be recorded as equity if the fair value of the put option becomes material.&lt;/p&gt;</clwt:NoncontrollingInterestsPolicyTextBlock>
    <us-gaap:SegmentReportingPolicyPolicyTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3684">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The Group reports segment information based on the &#x201c;management&#x201d; approach. The management approach designates the internal reporting used by management for making decisions and assessing performance as the source of the Group&#x2019;s reportable segments. The Group categorizes its operations into two business segments: Trading and manufacturing, and Engineering.&lt;/p&gt;</us-gaap:SegmentReportingPolicyPolicyTextBlock>
    <us-gaap:RevenueRecognitionPolicyTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3683">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The Company follows the revenue standard Accounting Standards Codification (&#x201c;ASC&#x201d;) 606, Revenue from Contracts with Customers.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The core principle of the revenue standard is that a company should recognize revenue to depict the transfer of promised goods or services to customers in an amount that reflects the consideration to which the company expects to be entitled in exchange for those goods or services. The following five steps are applied to achieve that core principle:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Step 1: Identify the contract with the customer&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Step 2: Identify the performance obligations in the contract&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Step 3: Determine the transaction price&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Step 4: Allocate the transaction price to the performance obligations in the contract&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Step 5: Recognize revenue when the company satisfies a performance obligation.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Our revenue is derived from both short and&#160;long-term contracts for customers in our engineering segment, as well as short-term contracts for customers in our trading and manufacturing segment. Accounting treatment for these contracts in accordance with Accounting Standards Update (&#x201c;ASU&#x201d;) 2014-09 (Accounting Standards Codification (&#x201c;ASC&#x201d;) Topic 606, Revenue from Contracts with Customer), is as follows:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;span style="text-decoration:underline"&gt;Performance obligations satisfied over time (Engineering services)&lt;/span&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Recognition of performance obligations &lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;A performance obligation is a promise in a contract to transfer a distinct good or service to the customer, and is the unit of account in the new revenue standard. The contract transaction price is allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied. &lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Engineering service projects typically span between several days to over 5 years. The majority of our long-term contracts have a single performance obligation as the promise to transfer the individual goods or services is not separately identifiable from other promises in the contracts and, therefore, is not distinct. Some contracts have multiple performance obligations, most commonly due to the contract covering multiple phases of the project life cycle. Revenues are recognized as our obligations are satisfied over time, by reference to the progress towards complete satisfaction of that performance obligation.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;If the Group expects the reference to progress certificates issued by the customers, with additional adjustments where necessary, depicts the Group&#x2019;s performance in transferring control of goods or services promised to customers for individual projects, the Group satisfies the performance obligation over time and therefore, recognizes revenue over time in accordance with the output method for measuring progress. Under output method, revenue recognition is based on the stage of completion of the contracts, provided that the stage of contract completion and the gross billing value of contracting work can be measured reliably. The stage of completion of a contract is established by reference to the contract based on billing milestone or stage of work certified by customer. Generally, invoices are billed upon fulfilment of the measurable performance obligation. The Company evaluates the progress towards completion of the performance obligation at each phase of the contract and bills the customer in accordance with the price agreed upon on the contract.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Remaining performance obligations (&#x201c;RPOs&#x201d;)&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;RPOs represent the amount of revenues we expect to recognize in the future from our contract commitments on projects and are hereafter referred to as &#x201c;Backlog&#x201d;. Backlog includes the entire expected revenue values for subsidiary we consolidate. Backlog may not be indicative of future operating results, and projects included in Backlog may be canceled, modified or otherwise altered by customers. &lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The following schedule shows a reconciliation of backlog representing the amount of revenue the Company expects to realize from work to be performed on uncompleted contracts in progress at December 31, 2024 and 2023, and from contractual agreements in effect at December 31, 2024, on which work has not yet begun:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Contract revenue on uncompleted contracts at December 31, 2022&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;523&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;New contract awards during the year&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;9,044&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Contract adjustment&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;252&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Contract revenue recognized for the year&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(5,797&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;)&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Backlog at December 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;4,022&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Contract revenue on uncompleted contracts at December 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;4,022&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;New contract awards during the year&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;5,621&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Contract adjustment&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;30&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Contract revenue recognized for the year&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(5,834&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;)&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Backlog at December 31, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;3,839&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160; &lt;/p&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Our backlog decreased from US$4,022,000 as of December 31, 2023 to US$3,839,000 as of December 31, 2024, representing a decrease of US$183,000. The decrease in our backlog was primarily due to the increased completion and fulfillment of existing orders by us in our existing construction projects. Nevertheless, the timing and extent to which backlog will result in direct revenue depends on many factors, including the timing of commencement of work, the rate at which we perform services, scope changes, cancellations, delays, receipt of regulatory approvals and the nature, duration, size, complexity and phase of the studies. In addition, delayed projects remain in backlog until they are canceled. As a result of these factors, our backlog is not necessarily a reliable indicator of future direct revenue and we might not realize all or any part of the direct revenue from the authorizations in backlog as of any point in time.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Variable consideration&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Contract modifications through change orders, claims and incentives are routine in the performance of the Group&#x2019;s contracts to account for changes in the contract specifications or requirements. In most instances, contract modifications are not distinct from the existing contract due to the significant integration service provided in the contract and are accounted for as a modification of the existing contract and performance obligation. Either the Group or its customers may initiate change orders, which may include changes in specifications or designs, manner of performance, facilities, equipment, materials, sites and period of completion of the work. Change orders that are unapproved as to both price and scope are evaluated as claims. The Group considers claims to be amounts in excess of approved contract prices that the Group seeks to collect from its customers or others for customer-caused delays, errors in specifications and designs, contract terminations, change orders that are either in dispute or are unapproved as to both scope and price, or other causes of unanticipated additional contract costs.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;In the event that customer requests a change of order (such as an upgrade of specifications, materials or additional work) before the completion of the project, the Group will negotiate and sign a subcontract with the customer, subject to mutual agreement.&#160; The subcontract has its own terms and conditions for the variable consideration and is generally integrated with the original master contract. This will normally result in an increase in additional billing to the customer and rarely a reduction in the total value of the contract. The effect of variable consideration on the transaction price of a performance obligation is recognized as an adjustment to revenue on a cumulative catch-up basis. To the extent unapproved change orders and claims reflected in transaction price (or excluded from transaction price in the case of liquidated damages) are not resolved in the Group&#x2019;s favor, or to the extent incentives reflected in transaction price are not earned, there could be reductions in, or reversals of, previously recognized revenue.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;span style="text-decoration:underline"&gt;Performance obligations satisfied at a point-in-time (Trading and manufacturing)&lt;/span&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;For revenue recognized associated with its contracts with customers over time, for which the Group has an enforceable right to receive compensation. Many of our contracts contain specific provisions that determine when the Group can bill for its work performed under these contracts.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Any costs incurred or any payment received for a long-term contract, for which revenue has not been recognized due to impracticability or inability to measure the performance obligation, is recorded as a contract asset and contract liability, respectively, on the Group&#x2019;s consolidated balance sheets. Revenue will be recognized when the performance obligation can be measured reliably and the criteria as stipulated under ACS 606 are met.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The Group&#x2019;s consolidated balance sheets present contract cost assets that represent our rights to receive payment for completed but not yet billed work and include costs incurred for contracts with customers as at financial year end less amounts received in advance from those customers at financial year end.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The Group&#x2019;s consolidated balance sheets present contract liabilities that contain deferred revenue that represent amounts received in advance from customers at financial year end in excess of any costs incurred on those contracts, which are in progress at year end, for which revenue has not yet been recognized.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Contract assets and contract liabilities arising from the same individual contract are presented net as either a single net contract asset or single net contract liability for presentation purposes.&lt;/p&gt;</us-gaap:RevenueRecognitionPolicyTextBlock>
    <clwt:ScheduleOfReconciliationOfBacklogRepresentingTheAmountOfRevenueTableTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3545">&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Contract revenue on uncompleted contracts at December 31, 2022&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;523&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;New contract awards during the year&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;9,044&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Contract adjustment&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;252&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Contract revenue recognized for the year&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(5,797&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;)&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Backlog at December 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;4,022&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Contract revenue on uncompleted contracts at December 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;4,022&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;New contract awards during the year&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;5,621&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Contract adjustment&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;30&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Contract revenue recognized for the year&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(5,834&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;)&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Backlog at December 31, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;3,839&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</clwt:ScheduleOfReconciliationOfBacklogRepresentingTheAmountOfRevenueTableTextBlock>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="AsOf2022-12-31"
      decimals="-3"
      id="fid_7531"
      unitRef="USD">523000</us-gaap:RevenueRemainingPerformanceObligation>
    <clwt:NewContractRevenueAwardsDuringTheYear
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_7530"
      unitRef="USD">9044000</clwt:NewContractRevenueAwardsDuringTheYear>
    <clwt:ContractRevenueAdjustment
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_7532"
      unitRef="USD">252000</clwt:ContractRevenueAdjustment>
    <clwt:ContractRevenueRecognizedForTheYear
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_7533"
      unitRef="USD">-5797000</clwt:ContractRevenueRecognizedForTheYear>
    <clwt:BacklogRevenueRemainingPerformanceObligation
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_7534"
      unitRef="USD">4022000</clwt:BacklogRevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_7526"
      unitRef="USD">4022000</us-gaap:RevenueRemainingPerformanceObligation>
    <clwt:NewContractRevenueAwardsDuringTheYear
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_7101"
      unitRef="USD">5621000</clwt:NewContractRevenueAwardsDuringTheYear>
    <clwt:ContractRevenueAdjustment
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_7527"
      unitRef="USD">30000</clwt:ContractRevenueAdjustment>
    <clwt:ContractRevenueRecognizedForTheYear
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_7528"
      unitRef="USD">-5834000</clwt:ContractRevenueRecognizedForTheYear>
    <clwt:BacklogRevenueRemainingPerformanceObligation
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_7529"
      unitRef="USD">3839000</clwt:BacklogRevenueRemainingPerformanceObligation>
    <clwt:ContractWithCustomerRemainingPerformanceObligation
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="fid_7143"
      unitRef="USD">4022000</clwt:ContractWithCustomerRemainingPerformanceObligation>
    <clwt:ContractWithCustomerRemainingPerformanceObligation
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="fid_7535"
      unitRef="USD">3839000</clwt:ContractWithCustomerRemainingPerformanceObligation>
    <clwt:RevenueFromContractWithCustomerIncreaseDecrease
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="fid_7536"
      unitRef="USD">183000</clwt:RevenueFromContractWithCustomerIncreaseDecrease>
    <us-gaap:ResearchAndDevelopmentExpensePolicy contextRef="From2024-01-01to2024-12-31" id="fid_3682">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Research and development costs (&#x201c;R&amp;amp;D&#x201d; costs) are expensed as incurred. The R&amp;amp;D costs amounted to approximately US$Nil, US$Nil and US$Nil for the years ended December 31, 2024, 2023 and 2022 respectively and were included in &#x201c;Selling and administrative expenses&#x201d; in the Group&#x2019;s consolidated statements of operations and comprehensive income / (loss).&lt;/p&gt;</us-gaap:ResearchAndDevelopmentExpensePolicy>
    <us-gaap:AdvertisingCostsPolicyTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3681">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Advertising and promotional expenses (&#x201c;A&amp;amp;P&#x201d; expenses) are expensed as incurred. The A&amp;amp;P expenses amounted to approximately US$41,000, US$29,000 and US$9,000 for the years ended December 31, 2024, 2023 and 2022 respectively and were included in &#x201c;Selling and administrative expenses&#x201d; in the Group&#x2019;s consolidated statements of operations and comprehensive income / (loss).&lt;/p&gt;</us-gaap:AdvertisingCostsPolicyTextBlock>
    <us-gaap:MarketingAndAdvertisingExpense
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="fid_7118"
      unitRef="USD">41000</us-gaap:MarketingAndAdvertisingExpense>
    <us-gaap:MarketingAndAdvertisingExpense
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="fid_7126"
      unitRef="USD">29000</us-gaap:MarketingAndAdvertisingExpense>
    <us-gaap:MarketingAndAdvertisingExpense
      contextRef="From2022-01-01to2022-12-31"
      decimals="0"
      id="fid_7117"
      unitRef="USD">9000</us-gaap:MarketingAndAdvertisingExpense>
    <us-gaap:IncomeTaxPolicyTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3680">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The Group follows the liability method of accounting for income tax. Under this method, deferred tax assets and liabilities are recorded for future tax consequences of temporary differences&#160;between the financial reporting and tax bases of assets and liabilities, and are measured using the enacted tax rates and laws that are expected to be in effect when the underlying assets or liabilities are recovered or settled. The Group also evaluates whether the recorded deferred tax assets and valuation allowances can be realized and, when necessary, reduces the amounts to what is expected to be realized.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The accounting guidance on accounting for uncertainty in income taxes also addresses derecognition, classification, interest and penalties on income taxes, and accounting in interim periods. The Group does not believe it has any uncertain tax positions through the periods ended December 31, 2024, 2023 and 2022 respectively which would have a material impact on the Group&#x2019;s consolidated financial statements.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Interest and penalties related to uncertain income tax positions are included in income tax expense on the Group&#x2019;s consolidated statements of operations and comprehensive income / (loss). Interest and penalties actually incurred are charged to interest expense and the other income, respectively if applicable.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The Group files tax returns in Hong Kong and the PRC. The tax returns for 2024, 2023 and 2022 are subject to examination by Hong Kong and PRC taxing authorities, commencing with the first year filed.&lt;/p&gt;</us-gaap:IncomeTaxPolicyTextBlock>
    <us-gaap:CashAndCashEquivalentsPolicyTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3679">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Cash and cash equivalents consist of cash on hand, and bank deposits with original maturities of three months or less, all of which are unrestricted as to withdrawal. There were no cash equivalents as of December 31, 2024 and 2023.&lt;/p&gt;</us-gaap:CashAndCashEquivalentsPolicyTextBlock>
    <us-gaap:CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy contextRef="From2024-01-01to2024-12-31" id="fid_3678">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Restricted cash represents cash deposits retained with banks in the PRC for issuance of performance bonds and guarantees to the customers and cash deposited by the Group into separate accounts and designated as collateral for standby letters of credit in the same amount in accordance with contractual agreements. &#160;&lt;/p&gt;</us-gaap:CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy>
    <us-gaap:ReceivablesPolicyTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3677">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The Group does not charge interest to its customers and carries its customer receivables at their face amounts net of expected credit losses. As is common practice in the industry, the Group classifies all accounts receivable as current assets.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The Group grants trade credit, on a non-collateralized basis, to its customers and is subject to potential credit risk related to changes in business and overall economic activity. The Group analyzes specific accounts receivable balances, historical bad debts, customer credit-worthiness, current economic trends and changes in customer payment terms when evaluating the adequacy of the allowance for doubtful accounts. In the event that a customer balance is deemed to be uncollectible, the account balance is written-off against the allowance for doubtful accounts.&lt;/p&gt;</us-gaap:ReceivablesPolicyTextBlock>
    <us-gaap:InventoryPolicyTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3676">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Inventories are measured using the first-in, first-out method and are stated at the lower of cost or net realizable value. Cost of finished goods comprise direct material, direct production costs and an allocated portion of production overhead costs based on normal operating capacity. Allowance is made for obsolete, slow moving or defective items, where appropriate.&lt;/p&gt;</us-gaap:InventoryPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentPolicyTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3675">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Property, plant and equipment is carried at cost. Major modifications or refurbishments which extend the useful life of the assets are capitalized and depreciated over the adjusted remaining useful life of the assets. Upon retirement or disposition of property, plant and equipment, the cost and related accumulated depreciation are removed and any resulting gain or loss is recognized in consolidated income from operations. The cost of maintenance and repairs is charged to expense as incurred. Property, plant and equipment is reviewed for impairment and tested for recoverability whenever events or changes in circumstances indicate that the carrying amount may not be recoverable. If the carrying value of property, plant and equipment exceeds its fair value, an impairment charge would be recorded in the consolidated statement of operations.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Depreciation of property, plant and equipment are computed using the straight-line method over the assets&#x2019; estimated useful lives as follows:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:3%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:30%;vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Expected useful life&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Office premises&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;47 to 51 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Leasehold improvements&#160; &lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;Over terms of the leases or the useful lives whichever is less&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Furniture, fixtures and office equipment&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;3 to 5 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Motor vehicles&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;4 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Testing equipment&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;3 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:PropertyPlantAndEquipmentPolicyTextBlock>
    <clwt:PropertyPlantAndEquipmentUsefulLifeTableTextblock contextRef="From2024-01-01to2024-12-31" id="fid_3544">&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:3%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:30%;vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Expected useful life&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Office premises&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;47 to 51 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Leasehold improvements&#160; &lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;Over terms of the leases or the useful lives whichever is less&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Furniture, fixtures and office equipment&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;3 to 5 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Motor vehicles&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;4 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Testing equipment&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;3 years&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</clwt:PropertyPlantAndEquipmentUsefulLifeTableTextblock>
    <us-gaap:PublicUtilitiesPropertyPlantAndEquipmentFuelUsefulLife
      contextRef="From2024-01-01to2024-12-31_clwt_OfficerPremisesMember_clwt_BottomsMember"
      id="fid_7103">P47Y</us-gaap:PublicUtilitiesPropertyPlantAndEquipmentFuelUsefulLife>
    <us-gaap:PublicUtilitiesPropertyPlantAndEquipmentFuelUsefulLife
      contextRef="From2024-01-01to2024-12-31_clwt_OfficePremisesMember_clwt_TopsMember"
      id="fid_7104">P51Y</us-gaap:PublicUtilitiesPropertyPlantAndEquipmentFuelUsefulLife>
    <clwt:PublicUtilitiesPropertyPlantAndEquipmentLeaseholdImprovementsFuelUsefulLife
      contextRef="From2024-01-01to2024-12-31_us-gaap_LeaseholdImprovementsMember"
      id="fid_7109">Over terms of the leases or the useful lives whichever is less</clwt:PublicUtilitiesPropertyPlantAndEquipmentLeaseholdImprovementsFuelUsefulLife>
    <us-gaap:PublicUtilitiesPropertyPlantAndEquipmentFuelUsefulLife
      contextRef="From2024-01-01to2024-12-31_us-gaap_FurnitureAndFixturesMember_clwt_BottomsMember"
      id="fid_7105">P3Y</us-gaap:PublicUtilitiesPropertyPlantAndEquipmentFuelUsefulLife>
    <us-gaap:PublicUtilitiesPropertyPlantAndEquipmentFuelUsefulLife
      contextRef="From2024-01-01to2024-12-31_us-gaap_FurnitureAndFixturesMember_clwt_TopsMember"
      id="fid_7106">P5Y</us-gaap:PublicUtilitiesPropertyPlantAndEquipmentFuelUsefulLife>
    <us-gaap:PublicUtilitiesPropertyPlantAndEquipmentFuelUsefulLife
      contextRef="From2024-01-01to2024-12-31_us-gaap_VehiclesMember"
      id="fid_7107">P4Y</us-gaap:PublicUtilitiesPropertyPlantAndEquipmentFuelUsefulLife>
    <us-gaap:PublicUtilitiesPropertyPlantAndEquipmentFuelUsefulLife
      contextRef="From2024-01-01to2024-12-31_us-gaap_OtherMachineryAndEquipmentMember"
      id="fid_7108">P3Y</us-gaap:PublicUtilitiesPropertyPlantAndEquipmentFuelUsefulLife>
    <us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3674">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Long-lived assets such as property, plant and equipment with finite lives are evaluated for impairment whenever events or changes in circumstances indicate that the carrying value of an asset may not be fully recoverable or that the useful life is shorter than the Group had originally estimated. When these events occur, the Group evaluates the impairment for the long-lived assets by comparing the carrying value of the assets to an estimate of future undiscounted cash flows expected to be generated from the use of the assets and their eventual disposition. If the sum of the expected future undiscounted cash flows is less than the carrying value of the assets, the Group recognizes an impairment loss based on the excess of the carrying value of the assets over the fair value of the assets. There was no impairment of long lived assets during 2024, 2023 and 2022, respectively.&lt;/p&gt;</us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock>
    <us-gaap:InvestmentPolicyTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3673">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The Group has elected to apply the measurement alternative to equity securities without readily determinable fair values. As such, the Group&#x2019;s non-marketable equity securities are measured at cost, less any impairment, and are adjusted for changes in fair value resulting from observable transactions for identical or similar investments of the investee. &lt;/p&gt;</us-gaap:InvestmentPolicyTextBlock>
    <us-gaap:LesseeLeasesPolicyTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3672">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;In the ordinary course of business, the Group enters into a variety of operating lease arrangements.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Operating right-of-use leases are included in operating lease right-of-use assets, current portion of long-term operating lease obligations and long-term operating lease obligations, net of current maturities on the Group&#x2019;s consolidated balance sheets, as appropriate. Operating lease right-of-use assets and operating lease liabilities are recognized based on the present value of the future minimum lease payments over the lease term at commencement date. As most of the Group&#x2019;s leases do not provide an implicit rate to calculate present value, the Group determines this rate by estimating the Group&#x2019;s incremental borrowing rate, utilizing the borrowing rates associated with the Group&#x2019;s various debt instruments. The operating lease right-of-use asset also includes any lease payments made and initial direct costs incurred and excludes lease incentives. Our lease terms may include options to extend or terminate the lease when it is reasonably certain that we will exercise that option.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Lease expense for minimum lease payments is recognized on a straight-line basis over the lease term.&lt;/p&gt;</us-gaap:LesseeLeasesPolicyTextBlock>
    <us-gaap:GoodwillAndIntangibleAssetsGoodwillPolicy contextRef="From2024-01-01to2024-12-31" id="fid_3671">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Goodwill is not amortized. The Group performs either a qualitative or quantitative assessment to review goodwill for impairment on an annual basis. This assessment is performed at the beginning of the fourth quarter, or when circumstances change, such as a significant adverse change in the business climate or the decision to sell a business, both of which would indicate that impairment may have occurred. &lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;A qualitative assessment considers financial, industry, segment and macroeconomic factors, if the qualitative assessment indicates a potential for impairment, a quantitative assessment is performed to determine if impairment exists. The quantitative assessment begins with a comparison of the fair value of the reporting unit with its carrying value. If the carrying amount of the reporting unit exceeds its fair value, an impairment loss would be recognized in an amount equal to that excess, limited to the total amount of the goodwill allocated to the reporting unit. If the carrying value of goodwill exceeds its implied fair value, an impairment charge would be recorded in the consolidated statements of operations and comprehensive income / (loss).&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;As a result of the annual qualitative review process in 2024 and 2023, the Group determined it was not necessary to perform a quantitative assessment. &lt;/p&gt;</us-gaap:GoodwillAndIntangibleAssetsGoodwillPolicy>
    <us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3670">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The assets and liabilities of the Group&#x2019;s subsidiaries denominated in currencies other than U.S. dollars are translated into U.S. dollars using the applicable exchange rates at the consolidated balance sheet date. For consolidated statements of operations and comprehensive income/(loss)&#x2019; items, amounts denominated in currencies other than U.S. dollars were translated into U.S. dollars using the average exchange rate during the period. Equity accounts were translated at their historical exchange rates. Net gains and losses resulting from translation of foreign currency on consolidated financial statements are included&#160;in the consolidated statements of shareholders&#x2019; equity as accumulated other comprehensive income. Foreign currency transaction gains and losses are reflected in the consolidated statements of operations and comprehensive income / (loss).&lt;/p&gt;</us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock>
    <us-gaap:ComprehensiveIncomePolicyPolicyTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3669">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;We account for comprehensive income in accordance with ASC&#160;220, &#x201c;Comprehensive Income&#x201d;, which specifies the computation, presentation and disclosure requirements for comprehensive income. Comprehensive income consists of net income and foreign currency translation adjustments, primarily from fluctuations in foreign currency exchange rates of our foreign subsidiaries with a functional currency other than the U.S. dollar.&lt;/p&gt;</us-gaap:ComprehensiveIncomePolicyPolicyTextBlock>
    <clwt:OrdinaryShares contextRef="From2024-01-01to2024-12-31" id="fid_3668">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;On November 22, 2011, the Company filed Amended and Restated Memorandum and Articles of Association with the Registry of Corporate Affairs of the BVI Financial Services Commission that on November 29, 2011 became effective as of the filing date to amend the Company&#x2019;s ordinary shares of US$0.01 par value capital stock to no par value capital stock. Treasury stock is accounted for using the cost method.&#160; When treasury stock is reissued, the value is computed and recorded using a weighted-average basis.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;On October 8, 2019, the Company had stock split in the form of bonus shares at the rate of one ordinary share for every two ordinary shares held, creating 1,030,950 new shares of common stock.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;On March 3, 2021, the Company had stock split in the form of bonus shares at the rate of two ordinary shares for every three ordinary shares held, creating 2,061,900 new shares of common stock.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The effect of the above stock splits have been reflected retroactively in the financial statements and net income per ordinary share computations.&lt;/p&gt;</clwt:OrdinaryShares>
    <us-gaap:CommonStockSharesIssued
      contextRef="AsOf2019-10-08"
      decimals="0"
      id="fid_7119"
      unitRef="Shares">1030950</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued
      contextRef="AsOf2021-03-03"
      decimals="0"
      id="fid_7120"
      unitRef="Shares">2061900</us-gaap:CommonStockSharesIssued>
    <us-gaap:EarningsPerSharePolicyTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3667">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The Group computes net income per ordinary share using the treasury stock method. Under the treasury stock method, basic earnings per share attributable to Euro Tech Holdings Company Limited are computed by dividing net income attributable to Euro Tech Holdings Company Limited by the weighted average number of ordinary shares outstanding during the period. The Group reports both basic earnings per share, which is based on the weighted average number of ordinary shares outstanding, and diluted earnings per share, which is based on the weighted average number of ordinary shares outstanding and all dilutive potential ordinary shares outstanding.&#160; &lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Outstanding stock options are the only dilutive potential shares of the Company.&lt;/p&gt;</us-gaap:EarningsPerSharePolicyTextBlock>
    <us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy contextRef="From2024-01-01to2024-12-31" id="fid_3666">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The Group determines compensation expense for stock-based awards based on the estimated fair values at the grant date and recognizes the related compensation expense over the vesting period. The Group uses the straight-line amortization method to recognize compensation expense related to stock-based awards that have only service conditions. This method recognizes stock compensation expense on a straight-line basis over the requisite service period for the entire award. &lt;/p&gt;</us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy>
    <clwt:RelatedPartiesPolicy contextRef="From2024-01-01to2024-12-31" id="fid_3665">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Related parties are affiliates of the Group; entities for which investments are accounted for by the equity method by the Group; trusts for the benefit of employees, such as pension and profit-sharing trusts that are managed by or under the trusteeship of management; principal owners of the Group; its management; members of the immediate families of principal owners of the Group and its management; and other parties with which the Group may deal if one party controls or can significantly influence the management or operating policies of the other to an extent that one of the transacting parties might be prevented from fully pursuing its own separate interests. Another party also is a related party if it can significantly influence the management or operating policies of the transacting parties or if it has an ownership interest in one of the transacting parties and can significantly influence the other to an extent that one or more of the transacting parties might be prevented from fully pursuing its own separate interests.&lt;/p&gt;</clwt:RelatedPartiesPolicy>
    <us-gaap:ConcentrationRiskCreditRisk contextRef="From2024-01-01to2024-12-31" id="fid_3664">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Financial instruments that potentially subject the Group to a concentration of credit risk consist principally of cash and cash equivalents and accounts receivable, net. The Group maintains substantially all of its cash and cash equivalent balances with large financial institutions which are believed to be high quality institutions.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The Group is subject to a concentration of risk because it derives a significant portion of its revenues from a few customers. The Group&#x2019;s top customers accounting for more than 5% of the Group&#x2019;s revenue generated approximately 47%, 41% and 33% of consolidated revenues for the years ended December 31, 2024, 2023 and 2022, respectively. &lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The Group grants trade credit under contractual payment terms, generally without collateral, to its customers, which include high credit quality electric utilities, general contractors, owners and managers of industrial properties and government departments. &lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Consequently, the Group is subject to potential credit risk related to changes in business and economic factors. At December 31, 2024, Nil (2023: three) of the Group&#x2019;s customers individually exceeded 10.0% of accounts receivable, net. The Group believes the terms and conditions in its contracts, billing and collection policies are adequate to minimize the potential credit risk.&lt;/p&gt;</us-gaap:ConcentrationRiskCreditRisk>
    <clwt:ConcentrationPercentage
      contextRef="From2024-01-01to2024-12-31_us-gaap_SalesRevenueNetMember"
      decimals="INF"
      id="fid_7122"
      unitRef="Pure">0.47</clwt:ConcentrationPercentage>
    <clwt:ConcentrationPercentage
      contextRef="From2023-01-01to2023-12-31_us-gaap_SalesRevenueNetMember"
      decimals="INF"
      id="fid_7123"
      unitRef="Pure">0.41</clwt:ConcentrationPercentage>
    <clwt:ConcentrationPercentage
      contextRef="From2022-01-01to2022-12-31_us-gaap_SalesRevenueNetMember"
      decimals="INF"
      id="fid_7121"
      unitRef="Pure">0.33</clwt:ConcentrationPercentage>
    <clwt:FinanceCostsPolicyTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3663">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Interest relating to loans repaid is expensed in the period the repayment occurs. &lt;/p&gt;</clwt:FinanceCostsPolicyTextBlock>
    <us-gaap:ExtendedProductWarrantyPolicy contextRef="From2024-01-01to2024-12-31" id="fid_3662">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The suppliers of the Group offer a standard one-year warranty to end customers of the Group. In certain contracts, a specific percentage is designated as warranty, and management has retained it as a &#x201c;retainer fee&#x201d; for potential warranty claims within an effective period subsequent to project completion. In the event that a warranty claim is made, the amount will be deducted from the retainer fee accordingly. This balance remains on the balance sheet in contract liabilities, until the expiration of the warranty period, after which it will be recognized as revenue if it has not been fully utilized. Historically, claims on warranties have been&#160;insignificant.&lt;/p&gt;</us-gaap:ExtendedProductWarrantyPolicy>
    <clwt:ContractAssetsAndContractLiabilitiesPolicyTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_5094">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Projects with performance obligations recognized over time that have revenue recognized to date in excess of cumulative billings are reported on consolidated balance sheets as &#x201c;Contract assets&#x201d;. Provisions for estimated losses of contract assets on uncompleted contracts are made in the period in which such losses are determined.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Contract liabilities on uncompleted contracts are the amounts of cash collected from clients, billings to clients on contracts in advance of work performed and revenue recognized. The majority of these amounts are expected to be earned within 12 months and are classified as current liabilities.&lt;/p&gt;</clwt:ContractAssetsAndContractLiabilitiesPolicyTextBlock>
    <us-gaap:ShippingAndHandlingCostPolicyTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3661">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Amounts billed to customers related to shipping and handling are classified as revenues, and the Group&#x2019;s shipping and handling costs are included in cost of revenues.&lt;/p&gt;</us-gaap:ShippingAndHandlingCostPolicyTextBlock>
    <clwt:RetirementPlanCostsPolicyTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3968">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Contributions to retirement plans (which are defined contribution plans) are charged to general and administrative expenses in the accompanying statements of operation as the related employee service are provided.&lt;/p&gt;</clwt:RetirementPlanCostsPolicyTextBlock>
    <clwt:StatutoryReservesPolicyTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3660">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The Group is required to make appropriation to reserve funds, comprising the statutory reserve fund and statutory staff welfare fund, based on after-tax net income determined with generally accepted accounting principles of the PRC (&#x201c;PRC GAAP&#x201d;).&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Appropriations to the statutory reserve fund is required to be at least 10% of the after tax net income determined in accordance with PRC GAAP until the reserve fund is equal to 50% of the entities&#x2019; registered capital. &lt;/p&gt;</clwt:StatutoryReservesPolicyTextBlock>
    <us-gaap:FairValueMeasurementPolicyPolicyTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3969">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The Company applies the provisions of ASC 820-10, &#x201c;Fair Value Measurements&#x201d;, for fair value measurements of financial assets and financial liabilities and for fair value measurements of non-financial items that are recognized or disclosed at fair value in the financial statements.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The Group uses the three-tier hierarchy of fair value measurement, which prioritizes the inputs used in measuring fair value based upon their degree of availability in external active markets. These tiers include: Level 1 (the highest priority), defined as observable inputs, such as quoted prices in active markets; Level 2, defined as inputs other than quoted prices in active markets that are either directly or indirectly observable; and Level 3 (the lowest priority), defined as unobservable inputs in which little or no market data exists, therefore requiring an entity to develop its own assumptions.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;As of December 31, 2024 and 2023, the Group determined that the carrying values of cash and cash equivalents, restricted cash, accounts receivable, net, prepayments and other current assets, contract assets, bank borrowings, accounts payable, contract liabilities, other payables and accrued expenses approximate their fair values because of the short-term nature of these instruments. The Group has also determined that the fair value of non-controlling interest - put option is immaterial as of December 31, 2024, and is immaterial for 2023.&lt;/p&gt;</us-gaap:FairValueMeasurementPolicyPolicyTextBlock>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3658">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Changes to GAAP are typically established by the Financial Accounting Standards Board (&#x201c;FASB&#x201d;) in the form of accounting standards updates (&#x201c;ASUs&#x201d;) to the FASB&#x2019;s ASC. The Group considers the applicability and impact of all ASUs. The Group, based on its assessment, determined that any recently issued or proposed ASUs not listed below are either not applicable to the Group or may have minimal impact on its consolidated financial statements.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;strong&gt;Recently adopted accounting pronouncements&lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;In September 2022, the Financial Accounting Standards Board (&#x201c;FASB&#x201d;) issued Accounting Standards Update (ASU) No. 2022-04 that requires additional qualitative and quantitative disclosures surrounding supplier finance programs intended to help investors better consider the effect of these programs on a company&#x2019;s working capital, liquidity, and cash flows over time. This update is effective for fiscal years beginning after December 15, 2022, including interim periods, except for the disclosure of roll forward information, which is effective for fiscal years beginning after December 15, 2023. Early adoption is permitted. The Company adopted this ASU on October 1, 2023, and it did not have a significant impact on our CFS.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;In June 2022, the FASB issued ASU 2022-03 Fair Value Measurement (Topic 820): Fair Value Measurement of Equity Securities Subject to Contractual Sale Restrictions (&#x201c;ASU 2022-03&#x201d;), which (1) clarifies the guidance in ASC 820 on the FV measurement of an equity security that is subject to a contractual sale restriction and (2) requires specific disclosures related to such an equity security. Under current guidance, stakeholders have observed diversity in practice related to whether contractual sale restrictions should be considered in the measurement of the FV of equity securities that are subject to such restrictions. To reduce the diversity in practice and increase the comparability of reported financial information, ASU 2022-03 clarifies this guidance and amends the illustrative example. ASU No. 2022-03 is effective for fiscal years beginning after December 15, 2023, with early adoption permitted. The Company is currently evaluating the extent of the impact of this ASU but does not expect the adoption of this standard to have a significant impact on our CFS.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;In March 2022, the FASB issued ASU No. 2022-02, Troubled Debt Restructurings and Vintage Disclosures. ASU 2022-02 eliminates the accounting guidance on troubled debt restructurings for creditors in ASC Topic 310 and amends the guidance on &#x201c;vintage disclosures&#x201d; to require disclosure of current-period gross write-offs by year of origination. ASU 2022-02 also updates the requirements for accounting for credit losses under ASC Topic 326 and adds enhanced disclosures for creditors with respect to loan re-financings and restructurings for borrowers experiencing financial difficulty. ASU 2022-02 is effective for fiscal years beginning after December 15, 2022, including interim periods within those fiscal years. The Company adopted this ASU on October 1, 2023, and it did not have a significant impact on our CFS.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;In June 2016, the FASB issued ASU No. 2016-13, Financial Instruments &#x2014; Credit Losses, which changes the accounting for recognizing impairments of financial assets. Under the new guidance, credit losses for certain types of financial instruments will be estimated based on expected losses. The new guidance also modifies the impairment models for available-for-sale debt securities and for purchased financial assets with credit deterioration since their origination.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;In March 2020, the FASB issued ASU No. 2020-04 providing optional expedients and exceptions to account for the effects of reference rate reform to contracts, hedging relationships, and other transactions that reference LIBOR or another reference rate expected to be discontinued. The optional guidance, which became effective March 12, 2020, could be applied through December 31, 2022. In December 2022, the FASB issued No 2022-06 extending the sunset date of the relief provided under ASU No. 2020-04 to December 31, 2024. The Company has various contracts that reference LIBOR and is assessing how this standard may be applied to specific contract modifications through March 31, 2025.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;On March 28, 2023, the FASB issued ASU No. 2023-01, Leases (Topic 842): Common Control Arrangements. ASU 2023-01 is designed to clarify the accounting for leasehold improvements associated with common control leases, thereby reducing diversity in practice. The new standard was effective for the Company for its fiscal year beginning October 1, 2023, with early adoption permitted. The Company is currently evaluating the impact of adopting the standard on its CFS.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;strong&gt;Recently issued accounting pronouncements not yet adopted &lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;In November 2023, the FASB issued ASU 2023-07, &#x201c;Segment Reporting (Topic 280)&#x201d; (&#x201c;ASU 2023-07&#x201d;). The amendments in ASU 2023-07 improve financial reporting by requiring disclosure of incremental segment information on an annual and interim basis for all public entities to enable investors to develop more decision useful financial analyses. Topic 280 requires a public entity to report a measure of segment profit or loss that the chief operating decision maker (CODM) uses to assess segment performance and make decisions about allocating resources. Topic 280 also requires other specified segment items and amounts, such as depreciation, amortization, and depletion expense, to be disclosed under certain circumstances. The amendments in ASU 202307 do not change or remove those disclosure requirements. The amendments in ASU 2023-07 also do not change how a public entity identifies its operating segments, aggregates those operating segments, or applies the quantitative thresholds to determine its reportable segments. The amendments in ASU 2023-07 are effective for years beginning after December 15, 2023 and interim periods within fiscal years beginning after December 15, 2024, adopted retroactively. Management expect the guidance will not have a significant impact on our CFS.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;In December 2023, the FASB issued ASU 2023-09, Improvement to Income Tax Disclosure. This standard requires more transparency about income tax information through improvements to income tax disclosures primarily related to the rate reconciliation and income taxes paid information. This standard also includes certain other amendments to improve the effectiveness of income tax disclosures. ASU 2023-09 is effective for public business entities, for annual periods beginning after December 15, 2024. For entities other than public business entities, the amendments are effective for annual periods beginning after December 15, 2025. The Company is in the process of evaluation the impact of adopting this new guidance on our CFS.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The Group has reviewed all recently issued, but not yet effective, accounting pronouncements and does not believe the future adoption of any such pronouncements may be expected to cause a material impact on its financial condition or the results of its operations.&lt;/p&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:Reclassifications contextRef="From2024-01-01to2024-12-31" id="fid_3657">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Certain reclassifications have been made to prior year amounts to conform with the current year presentation.&lt;/p&gt;</us-gaap:Reclassifications>
    <us-gaap:SegmentReportingDisclosureTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3478">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;strong&gt;Note 3: Segment information&lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;"&gt;(i) The Group reports under two segments: Trading and manufacturing, and Engineering.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;"&gt;Operating income represents total revenues less operating expenses, excluding other expense, interest and income taxes. The identifiable assets by segment are those used in each segment&#x2019;s operations. Intersegment transactions are not significant and have been eliminated to arrive at consolidated totals. &lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Year ended December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2022&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Revenue&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Trading and manufacturing&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;9,549&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;12,143&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;9,332&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Engineering&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;5,834&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;5,797&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;5,617&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;15,383&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;17,940&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;14,949&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Operating income / (loss)&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Trading and manufacturing&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;278&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;377&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;(246 &lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Engineering&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;273&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;(438 &lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;590&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Unallocated corporate expenses&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(165 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(188 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(230 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;386&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;(249 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;114&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Year ended December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2022&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Depreciation:&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Trading and manufacturing&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;11&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;11&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;28&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Engineering&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;3&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;4&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;5&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;14&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;15&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;33&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Capital expenditures, gross&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Trading and manufacturing&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;3&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;3&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;2&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Engineering&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;2&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;2&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;5&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;5&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;5&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;7&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Assets&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Trading and manufacturing&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;6,668&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;8,229&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Engineering&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;14,040&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;13,891&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;20,708&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;22,120&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Trading and manufacturing&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;2,155&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;3,605&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Engineering&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;1,859&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;2,035&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;4,014&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;5,640&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;"&gt;(ii) Geographical analysis of revenue by customer location is as follows:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Year ended December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2022&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Revenue -&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;The PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;6,398&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;7,125&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;5,878&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Hong Kong&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;6,745&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;9,879&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;7,174&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Others &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;2,240&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;936&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;1,897&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;15,383&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;17,940&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;14,949&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;"&gt;(iii) Long-lived assets &lt;sup style="vertical-align:super"&gt;(1)&lt;/sup&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;Geographical analysis of long-lived assets is as follows:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Hong Kong&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;5&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;6&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;The PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;154&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;162&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;159&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;168&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;"&gt;&lt;sup style="vertical-align:super"&gt;&lt;/sup&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;"&gt;&lt;sup style="vertical-align:super"&gt;(1)&lt;/sup&gt; Long-lived assets represent property, plant and equipment, net.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;"&gt;(iv) Major suppliers&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;Details of individual suppliers accounting for more than 5% of the Group&#x2019;s purchases are as follows:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Year ended December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&lt;strong&gt;2022&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Supplier A&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;36&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;23&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;21&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Supplier B&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;26&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;42&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;33&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Supplier C&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;8&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;7&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;6&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Supplier D&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;5&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;5&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;5&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Supplier E&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;5&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Supplier F&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;5&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;"&gt;(v) Major customers&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;"&gt;Details of individual customers accounting for more than 5% of the Group&#x2019;s revenue are as follows:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Year ended December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&lt;strong&gt;2022&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Customer A&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;13&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;10&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;9&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Customer B&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;9&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;14&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;18&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Customer C&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;9&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Customer D&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;6&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&#160;-&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&#160;-&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Customer E&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;5&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;%&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&#160;-&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&#160;-&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Customer F&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;5&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&#160;-&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&#160;-&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Customer G&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;7&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Customer H&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;5&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Customer I&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;5&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;6&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:SegmentReportingDisclosureTextBlock>
    <us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3585">&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Year ended December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2022&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Revenue&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Trading and manufacturing&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;9,549&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;12,143&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;9,332&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Engineering&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;5,834&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;5,797&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;5,617&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;15,383&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;17,940&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;14,949&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Operating income / (loss)&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Trading and manufacturing&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;278&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;377&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;(246 &lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Engineering&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;273&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;(438 &lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;590&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Unallocated corporate expenses&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(165 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(188 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(230 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;386&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;(249 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;114&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Year ended December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2022&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Depreciation:&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Trading and manufacturing&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;11&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;11&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;28&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Engineering&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;3&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;4&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;5&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;14&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;15&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;33&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Capital expenditures, gross&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Trading and manufacturing&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;3&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;3&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;2&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Engineering&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;2&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;2&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;5&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;5&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;5&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;7&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Assets&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Trading and manufacturing&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;6,668&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;8,229&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Engineering&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;14,040&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;13,891&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;20,708&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;22,120&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Trading and manufacturing&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;2,155&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;3,605&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Engineering&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;1,859&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;2,035&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;4,014&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;5,640&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock>
    <us-gaap:Revenues
      contextRef="From2024-01-01to2024-12-31_clwt_TradingsAndManufacturingMember"
      decimals="-3"
      id="fid_2181"
      unitRef="USD">9549000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2023-01-01to2023-12-31_clwt_TradingsAndManufacturingMember"
      decimals="-3"
      id="fid_2179"
      unitRef="USD">12143000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2022-01-01to2022-12-31_clwt_TradingsAndManufacturingMember"
      decimals="-3"
      id="fid_2180"
      unitRef="USD">9332000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2024-01-01to2024-12-31_clwt_EngineeringsMember"
      decimals="-3"
      id="fid_2184"
      unitRef="USD">5834000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2023-01-01to2023-12-31_clwt_EngineeringsMember"
      decimals="-3"
      id="fid_2182"
      unitRef="USD">5797000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2022-01-01to2022-12-31_clwt_EngineeringsMember"
      decimals="-3"
      id="fid_2183"
      unitRef="USD">5617000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_2177"
      unitRef="USD">15383000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_2176"
      unitRef="USD">17940000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_2178"
      unitRef="USD">14949000</us-gaap:Revenues>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2024-01-01to2024-12-31_clwt_TradingsAndManufacturingMember"
      decimals="-3"
      id="fid_5098"
      unitRef="USD">278000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2023-01-01to2023-12-31_clwt_TradingsAndManufacturingMember"
      decimals="-3"
      id="fid_5096"
      unitRef="USD">377000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2022-01-01to2022-12-31_clwt_TradingsAndManufacturingMember"
      decimals="-3"
      id="fid_5097"
      unitRef="USD">-246000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2024-01-01to2024-12-31_clwt_EngineeringsMember"
      decimals="-3"
      id="fid_2194"
      unitRef="USD">273000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2023-01-01to2023-12-31_clwt_EngineeringsMember"
      decimals="-3"
      id="fid_2192"
      unitRef="USD">-438000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2022-01-01to2022-12-31_clwt_EngineeringsMember"
      decimals="-3"
      id="fid_2193"
      unitRef="USD">590000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2024-01-01to2024-12-31_clwt_UnallocatedCorporateExpensessMember"
      decimals="-3"
      id="fid_2197"
      unitRef="USD">-165000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2023-01-01to2023-12-31_clwt_UnallocatedCorporateExpensessMember"
      decimals="-3"
      id="fid_2195"
      unitRef="USD">-188000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2022-01-01to2022-12-31_clwt_UnallocatedCorporateExpensessMember"
      decimals="-3"
      id="fid_2196"
      unitRef="USD">-230000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_2187"
      unitRef="USD">386000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_2186"
      unitRef="USD">-249000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_2188"
      unitRef="USD">114000</us-gaap:OperatingIncomeLoss>
    <us-gaap:Depreciation
      contextRef="From2024-01-01to2024-12-31_clwt_TradingsAndManufacturingMember"
      decimals="-3"
      id="fid_2203"
      unitRef="USD">11000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="From2023-01-01to2023-12-31_clwt_TradingsAndManufacturingMember"
      decimals="-3"
      id="fid_2201"
      unitRef="USD">11000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="From2022-01-01to2022-12-31_clwt_TradingsAndManufacturingMember"
      decimals="-3"
      id="fid_2202"
      unitRef="USD">28000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="From2024-01-01to2024-12-31_clwt_EngineeringsMember"
      decimals="-3"
      id="fid_2206"
      unitRef="USD">3000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="From2023-01-01to2023-12-31_clwt_EngineeringsMember"
      decimals="-3"
      id="fid_2204"
      unitRef="USD">4000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="From2022-01-01to2022-12-31_clwt_EngineeringsMember"
      decimals="-3"
      id="fid_2205"
      unitRef="USD">5000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_2199"
      unitRef="USD">14000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_2198"
      unitRef="USD">15000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_2200"
      unitRef="USD">33000</us-gaap:Depreciation>
    <clwt:CapitalExpendituresGross
      contextRef="From2024-01-01to2024-12-31_clwt_TradingsAndManufacturingMember"
      decimals="-3"
      id="fid_5101"
      unitRef="USD">3000</clwt:CapitalExpendituresGross>
    <clwt:CapitalExpendituresGross
      contextRef="From2023-01-01to2023-12-31_clwt_TradingsAndManufacturingMember"
      decimals="-3"
      id="fid_5099"
      unitRef="USD">3000</clwt:CapitalExpendituresGross>
    <clwt:CapitalExpendituresGross
      contextRef="From2022-01-01to2022-12-31_clwt_TradingsAndManufacturingMember"
      decimals="-3"
      id="fid_5100"
      unitRef="USD">2000</clwt:CapitalExpendituresGross>
    <clwt:CapitalExpendituresGross
      contextRef="From2024-01-01to2024-12-31_clwt_EngineeringsMember"
      decimals="-3"
      id="fid_2216"
      unitRef="USD">2000</clwt:CapitalExpendituresGross>
    <clwt:CapitalExpendituresGross
      contextRef="From2023-01-01to2023-12-31_clwt_EngineeringsMember"
      decimals="-3"
      id="fid_2214"
      unitRef="USD">2000</clwt:CapitalExpendituresGross>
    <clwt:CapitalExpendituresGross
      contextRef="From2022-01-01to2022-12-31_clwt_EngineeringsMember"
      decimals="-3"
      id="fid_2215"
      unitRef="USD">5000</clwt:CapitalExpendituresGross>
    <clwt:CapitalExpendituresGross
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_2209"
      unitRef="USD">5000</clwt:CapitalExpendituresGross>
    <clwt:CapitalExpendituresGross
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_2208"
      unitRef="USD">5000</clwt:CapitalExpendituresGross>
    <clwt:CapitalExpendituresGross
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_2210"
      unitRef="USD">7000</clwt:CapitalExpendituresGross>
    <us-gaap:Assets
      contextRef="AsOf2024-12-31_clwt_TradingsAndManufacturingMember"
      decimals="-3"
      id="fid_2220"
      unitRef="USD">6668000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="AsOf2023-12-31_clwt_TradingsAndManufacturingMember"
      decimals="-3"
      id="fid_5102"
      unitRef="USD">8229000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="AsOf2024-12-31_clwt_EngineeringsMember"
      decimals="-3"
      id="fid_2222"
      unitRef="USD">14040000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="AsOf2023-12-31_clwt_EngineeringsMember"
      decimals="-3"
      id="fid_5105"
      unitRef="USD">13891000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_2219"
      unitRef="USD">20708000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_5107"
      unitRef="USD">22120000</us-gaap:Assets>
    <us-gaap:Liabilities
      contextRef="AsOf2024-12-31_clwt_TradingsAndManufacturingMember"
      decimals="-3"
      id="fid_5103"
      unitRef="USD">2155000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="AsOf2023-12-31_clwt_TradingsAndManufacturingMember"
      decimals="-3"
      id="fid_5104"
      unitRef="USD">3605000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="AsOf2024-12-31_clwt_EngineeringsMember"
      decimals="-3"
      id="fid_2228"
      unitRef="USD">1859000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="AsOf2023-12-31_clwt_EngineeringsMember"
      decimals="-3"
      id="fid_5106"
      unitRef="USD">2035000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_2225"
      unitRef="USD">4014000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_5108"
      unitRef="USD">5640000</us-gaap:Liabilities>
    <us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3586">&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Year ended December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2022&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Revenue -&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;The PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;6,398&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;7,125&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;5,878&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Hong Kong&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;6,745&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;9,879&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;7,174&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Others &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;2,240&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;936&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;1,897&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;15,383&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;17,940&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;14,949&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Hong Kong&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;5&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;6&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;The PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;154&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;162&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;159&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;168&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock>
    <us-gaap:Revenues
      contextRef="From2024-01-01to2024-12-31_clwt_ThePRCsMember"
      decimals="-3"
      id="fid_2233"
      unitRef="USD">6398000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2023-01-01to2023-12-31_clwt_ThePRCsMember"
      decimals="-3"
      id="fid_2234"
      unitRef="USD">7125000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2022-01-01to2022-12-31_clwt_ThePRCsMember"
      decimals="-3"
      id="fid_2232"
      unitRef="USD">5878000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2024-01-01to2024-12-31_clwt_HongKongsMember"
      decimals="-3"
      id="fid_2236"
      unitRef="USD">6745000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2023-01-01to2023-12-31_clwt_HongKongsMember"
      decimals="-3"
      id="fid_2237"
      unitRef="USD">9879000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2022-01-01to2022-12-31_clwt_HongKongsMember"
      decimals="-3"
      id="fid_2235"
      unitRef="USD">7174000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2024-01-01to2024-12-31_clwt_OthersGeographicAreaMember"
      decimals="-3"
      id="fid_2239"
      unitRef="USD">2240000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2023-01-01to2023-12-31_clwt_OthersGeographicAreaMember"
      decimals="-3"
      id="fid_2240"
      unitRef="USD">936000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2022-01-01to2022-12-31_clwt_OthersGeographicAreaMember"
      decimals="-3"
      id="fid_2238"
      unitRef="USD">1897000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_2231"
      unitRef="USD">15383000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_2230"
      unitRef="USD">17940000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_2285"
      unitRef="USD">14949000</us-gaap:Revenues>
    <clwt:GeographicalAnalysisOfLonglivedAssets
      contextRef="From2024-01-01to2024-12-31_clwt_HongKongsMember"
      decimals="-3"
      id="fid_7152"
      unitRef="USD">5000</clwt:GeographicalAnalysisOfLonglivedAssets>
    <clwt:GeographicalAnalysisOfLonglivedAssets
      contextRef="From2023-01-01to2023-12-31_clwt_HongKongsMember"
      decimals="-3"
      id="fid_5109"
      unitRef="USD">6000</clwt:GeographicalAnalysisOfLonglivedAssets>
    <clwt:GeographicalAnalysisOfLonglivedAssets
      contextRef="From2024-01-01to2024-12-31_clwt_ThePRCsMember"
      decimals="-3"
      id="fid_7153"
      unitRef="USD">154000</clwt:GeographicalAnalysisOfLonglivedAssets>
    <clwt:GeographicalAnalysisOfLonglivedAssets
      contextRef="From2023-01-01to2023-12-31_clwt_ThePRCsMember"
      decimals="-3"
      id="fid_5110"
      unitRef="USD">162000</clwt:GeographicalAnalysisOfLonglivedAssets>
    <clwt:GeographicalAnalysisOfLonglivedAssets
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_7154"
      unitRef="USD">159000</clwt:GeographicalAnalysisOfLonglivedAssets>
    <clwt:GeographicalAnalysisOfLonglivedAssets
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5111"
      unitRef="USD">168000</clwt:GeographicalAnalysisOfLonglivedAssets>
    <clwt:ScheduleOfMajorSuppliersAndCustomers contextRef="From2024-01-01to2024-12-31" id="fid_3587">&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Year ended December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&lt;strong&gt;2022&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Supplier A&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;36&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;23&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;21&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Supplier B&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;26&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;42&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;33&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Supplier C&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;8&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;7&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;6&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Supplier D&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;5&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;5&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;5&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Supplier E&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;5&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Supplier F&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;5&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Year ended December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&lt;strong&gt;2022&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Customer A&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;13&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;10&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;9&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Customer B&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;9&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;14&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;18&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Customer C&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;9&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Customer D&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;6&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&#160;-&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&#160;-&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Customer E&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;5&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;%&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&#160;-&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&#160;-&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Customer F&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;5&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&#160;-&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&#160;-&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Customer G&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;7&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Customer H&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;5&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Customer I&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;5&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;6&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</clwt:ScheduleOfMajorSuppliersAndCustomers>
    <us-gaap:ConcentrationRiskSupplier
      contextRef="From2024-01-01to2024-12-31_clwt_SuppliersAMember"
      id="fid_2253">36</us-gaap:ConcentrationRiskSupplier>
    <us-gaap:ConcentrationRiskSupplier
      contextRef="From2023-01-01to2023-12-31_clwt_SuppliersAMember"
      id="fid_2254">23</us-gaap:ConcentrationRiskSupplier>
    <us-gaap:ConcentrationRiskSupplier
      contextRef="From2022-01-01to2022-12-31_clwt_SuppliersAMember"
      id="fid_2252">21</us-gaap:ConcentrationRiskSupplier>
    <us-gaap:ConcentrationRiskSupplier
      contextRef="From2024-01-01to2024-12-31_clwt_SuppliersBMember"
      id="fid_2256">26</us-gaap:ConcentrationRiskSupplier>
    <us-gaap:ConcentrationRiskSupplier
      contextRef="From2023-01-01to2023-12-31_clwt_SuppliersBMember"
      id="fid_2257">42</us-gaap:ConcentrationRiskSupplier>
    <us-gaap:ConcentrationRiskSupplier
      contextRef="From2022-01-01to2022-12-31_clwt_SuppliersBMember"
      id="fid_2255">33</us-gaap:ConcentrationRiskSupplier>
    <us-gaap:ConcentrationRiskSupplier
      contextRef="From2024-01-01to2024-12-31_clwt_SuppliersCMember"
      id="fid_2259">8</us-gaap:ConcentrationRiskSupplier>
    <us-gaap:ConcentrationRiskSupplier
      contextRef="From2023-01-01to2023-12-31_clwt_SuppliersCMember"
      id="fid_2260">7</us-gaap:ConcentrationRiskSupplier>
    <us-gaap:ConcentrationRiskSupplier
      contextRef="From2022-01-01to2022-12-31_clwt_SuppliersCMember"
      id="fid_2258">6</us-gaap:ConcentrationRiskSupplier>
    <us-gaap:ConcentrationRiskSupplier
      contextRef="From2024-01-01to2024-12-31_clwt_SuppliersDMember"
      id="fid_2262">5</us-gaap:ConcentrationRiskSupplier>
    <us-gaap:ConcentrationRiskSupplier
      contextRef="From2023-01-01to2023-12-31_clwt_SuppliersDMember"
      id="fid_2263">5</us-gaap:ConcentrationRiskSupplier>
    <us-gaap:ConcentrationRiskSupplier
      contextRef="From2022-01-01to2022-12-31_clwt_SuppliersDMember"
      id="fid_2261">5</us-gaap:ConcentrationRiskSupplier>
    <us-gaap:ConcentrationRiskSupplier
      contextRef="From2024-01-01to2024-12-31_clwt_SuppliersEMember"
      id="fid_2265">0</us-gaap:ConcentrationRiskSupplier>
    <us-gaap:ConcentrationRiskSupplier
      contextRef="From2023-01-01to2023-12-31_clwt_SuppliersEMember"
      id="fid_2266">0</us-gaap:ConcentrationRiskSupplier>
    <us-gaap:ConcentrationRiskSupplier
      contextRef="From2022-01-01to2022-12-31_clwt_SuppliersEMember"
      id="fid_2264">5</us-gaap:ConcentrationRiskSupplier>
    <us-gaap:ConcentrationRiskSupplier
      contextRef="From2024-01-01to2024-12-31_clwt_SuppliersFMember"
      id="fid_2268">0</us-gaap:ConcentrationRiskSupplier>
    <us-gaap:ConcentrationRiskSupplier
      contextRef="From2023-01-01to2023-12-31_clwt_SuppliersFMember"
      id="fid_2269">0</us-gaap:ConcentrationRiskSupplier>
    <us-gaap:ConcentrationRiskSupplier
      contextRef="From2022-01-01to2022-12-31_clwt_SuppliersFMember"
      id="fid_5901">5</us-gaap:ConcentrationRiskSupplier>
    <us-gaap:ConcentrationRiskCustomer
      contextRef="From2024-01-01to2024-12-31_clwt_CustomersAMember"
      id="fid_2272">13</us-gaap:ConcentrationRiskCustomer>
    <us-gaap:ConcentrationRiskCustomer
      contextRef="From2023-01-01to2023-12-31_clwt_CustomersAMember"
      id="fid_2270">10</us-gaap:ConcentrationRiskCustomer>
    <us-gaap:ConcentrationRiskCustomer
      contextRef="From2022-01-01to2022-12-31_clwt_CustomersAMember"
      id="fid_2271">9</us-gaap:ConcentrationRiskCustomer>
    <us-gaap:ConcentrationRiskCustomer
      contextRef="From2024-01-01to2024-12-31_clwt_CustomersBMember"
      id="fid_2275">9</us-gaap:ConcentrationRiskCustomer>
    <us-gaap:ConcentrationRiskCustomer
      contextRef="From2023-01-01to2023-12-31_clwt_CustomersBMember"
      id="fid_2273">14</us-gaap:ConcentrationRiskCustomer>
    <us-gaap:ConcentrationRiskCustomer
      contextRef="From2022-01-01to2022-12-31_clwt_CustomersBMember"
      id="fid_2274">18</us-gaap:ConcentrationRiskCustomer>
    <us-gaap:ConcentrationRiskCustomer
      contextRef="From2024-01-01to2024-12-31_clwt_CustomersCMember"
      id="fid_2278">9</us-gaap:ConcentrationRiskCustomer>
    <us-gaap:ConcentrationRiskCustomer
      contextRef="From2023-01-01to2023-12-31_clwt_CustomersCMember"
      id="fid_2276">0</us-gaap:ConcentrationRiskCustomer>
    <us-gaap:ConcentrationRiskCustomer
      contextRef="From2022-01-01to2022-12-31_clwt_CustomersCMember"
      id="fid_2277">0</us-gaap:ConcentrationRiskCustomer>
    <us-gaap:ConcentrationRiskCustomer
      contextRef="From2024-01-01to2024-12-31_clwt_CustomerDMember"
      id="fid_5115">6</us-gaap:ConcentrationRiskCustomer>
    <us-gaap:ConcentrationRiskCustomer
      contextRef="From2023-01-01to2023-12-31_clwt_CustomerDMember"
      id="fid_7537">0</us-gaap:ConcentrationRiskCustomer>
    <us-gaap:ConcentrationRiskCustomer
      contextRef="From2022-01-01to2022-12-31_clwt_CustomerDMember"
      id="fid_7538">0</us-gaap:ConcentrationRiskCustomer>
    <us-gaap:ConcentrationRiskCustomer
      contextRef="From2024-01-01to2024-12-31_clwt_CustomerEMember"
      id="fid_5118">5</us-gaap:ConcentrationRiskCustomer>
    <us-gaap:ConcentrationRiskCustomer
      contextRef="From2023-01-01to2023-12-31_clwt_CustomerEMember"
      id="fid_7539">0</us-gaap:ConcentrationRiskCustomer>
    <us-gaap:ConcentrationRiskCustomer
      contextRef="From2022-01-01to2022-12-31_clwt_CustomerEMember"
      id="fid_7540">0</us-gaap:ConcentrationRiskCustomer>
    <us-gaap:ConcentrationRiskCustomer
      contextRef="From2024-01-01to2024-12-31_clwt_CustomerFMember"
      id="fid_7036">5</us-gaap:ConcentrationRiskCustomer>
    <us-gaap:ConcentrationRiskCustomer
      contextRef="From2023-01-01to2023-12-31_clwt_CustomerFMember"
      id="fid_7541">0</us-gaap:ConcentrationRiskCustomer>
    <us-gaap:ConcentrationRiskCustomer
      contextRef="From2022-01-01to2022-12-31_clwt_CustomerFMember"
      id="fid_7542">0</us-gaap:ConcentrationRiskCustomer>
    <us-gaap:ConcentrationRiskCustomer
      contextRef="From2024-01-01to2024-12-31_clwt_CustomerGMember"
      id="fid_7039">0</us-gaap:ConcentrationRiskCustomer>
    <us-gaap:ConcentrationRiskCustomer
      contextRef="From2023-01-01to2023-12-31_clwt_CustomerGMember"
      id="fid_7037">7</us-gaap:ConcentrationRiskCustomer>
    <us-gaap:ConcentrationRiskCustomer
      contextRef="From2022-01-01to2022-12-31_clwt_CustomerGMember"
      id="fid_7038">0</us-gaap:ConcentrationRiskCustomer>
    <us-gaap:ConcentrationRiskCustomer
      contextRef="From2024-01-01to2024-12-31_clwt_CustomerHMember"
      id="fid_7042">0</us-gaap:ConcentrationRiskCustomer>
    <us-gaap:ConcentrationRiskCustomer
      contextRef="From2023-01-01to2023-12-31_clwt_CustomerHMember"
      id="fid_7040">5</us-gaap:ConcentrationRiskCustomer>
    <us-gaap:ConcentrationRiskCustomer
      contextRef="From2022-01-01to2022-12-31_clwt_CustomerHMember"
      id="fid_7041">0</us-gaap:ConcentrationRiskCustomer>
    <us-gaap:ConcentrationRiskCustomer
      contextRef="From2024-01-01to2024-12-31_clwt_CustomerIMember"
      id="fid_7156">0</us-gaap:ConcentrationRiskCustomer>
    <us-gaap:ConcentrationRiskCustomer
      contextRef="From2023-01-01to2023-12-31_clwt_CustomerIMember"
      id="fid_7157">5</us-gaap:ConcentrationRiskCustomer>
    <us-gaap:ConcentrationRiskCustomer
      contextRef="From2022-01-01to2022-12-31_clwt_CustomerIMember"
      id="fid_7158">6</us-gaap:ConcentrationRiskCustomer>
    <us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3441">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;strong&gt;Note 4: Accounts receivable, net&lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;Accounts receivable, net consisted of the following at December 31,:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Contract receivables&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;1,386&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;2,864&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Less: allowance for doubtful accounts&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;1,386&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;2,864&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;The roll-forward of activity in the allowance for doubtful accounts was as follows for the years ended December 31:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Balance at beginning of period&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;28&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Less : reversal in allowances&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(28 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Balance at end of period&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;The following is an aging analysis of accounts receivable, net at December 31:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Current&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;422&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;1,175&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Past due&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;1-30 days&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;397&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;603&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;31-60 days &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;224&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;548&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;61-90 days &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;183&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;341&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Greater than or equal to 91 days&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;160&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;197&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;964&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;1,689&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;1,386&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;2,864&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock>
    <us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3551">&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Contract receivables&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;1,386&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;2,864&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Less: allowance for doubtful accounts&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;1,386&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;2,864&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock>
    <us-gaap:AccountsReceivableGross
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_6398"
      unitRef="USD">1386000</us-gaap:AccountsReceivableGross>
    <us-gaap:AccountsReceivableGross
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_6399"
      unitRef="USD">2864000</us-gaap:AccountsReceivableGross>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_6400"
      unitRef="USD">0</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_6401"
      unitRef="USD">0</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_6402"
      unitRef="USD">1386000</us-gaap:AccountsReceivableNet>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_6403"
      unitRef="USD">2864000</us-gaap:AccountsReceivableNet>
    <us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3553">&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Balance at beginning of period&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;28&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Less : reversal in allowances&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(28 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Balance at end of period&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_6410"
      unitRef="USD">0</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="AsOf2022-12-31"
      decimals="-3"
      id="fid_6423"
      unitRef="USD">28000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_6411"
      unitRef="USD">0</us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_6413"
      unitRef="USD">28000</us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_6422"
      unitRef="USD">0</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_6412"
      unitRef="USD">0</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:PastDueFinancingReceivablesTableTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3555">&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Current&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;422&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;1,175&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Past due&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;1-30 days&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;397&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;603&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;31-60 days &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;224&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;548&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;61-90 days &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;183&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;341&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Greater than or equal to 91 days&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;160&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;197&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;964&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;1,689&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;1,386&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;2,864&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:PastDueFinancingReceivablesTableTextBlock>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2024-12-31_clwt_CurrentsMember"
      decimals="-3"
      id="fid_6428"
      unitRef="USD">422000</us-gaap:AccountsReceivableNet>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2023-12-31_clwt_CurrentsMember"
      decimals="-3"
      id="fid_6429"
      unitRef="USD">1175000</us-gaap:AccountsReceivableNet>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2024-12-31_clwt_OneMonthsPastDueMember"
      decimals="-3"
      id="fid_6430"
      unitRef="USD">397000</us-gaap:AccountsReceivableNet>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2023-12-31_clwt_OneMonthsPastDueMember"
      decimals="-3"
      id="fid_6431"
      unitRef="USD">603000</us-gaap:AccountsReceivableNet>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2024-12-31_clwt_OneToTwoMonthPastDueMember"
      decimals="-3"
      id="fid_6432"
      unitRef="USD">224000</us-gaap:AccountsReceivableNet>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2023-12-31_clwt_OneToTwoMonthPastDueMember"
      decimals="-3"
      id="fid_6433"
      unitRef="USD">548000</us-gaap:AccountsReceivableNet>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2024-12-31_clwt_ThreeMonthPastDueMember"
      decimals="-3"
      id="fid_6434"
      unitRef="USD">183000</us-gaap:AccountsReceivableNet>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2023-12-31_clwt_ThreeMonthPastDueMember"
      decimals="-3"
      id="fid_6435"
      unitRef="USD">341000</us-gaap:AccountsReceivableNet>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2024-12-31_clwt_MoreThanThreeMonthPastDueMember"
      decimals="-3"
      id="fid_6436"
      unitRef="USD">160000</us-gaap:AccountsReceivableNet>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2023-12-31_clwt_MoreThanThreeMonthPastDueMember"
      decimals="-3"
      id="fid_6437"
      unitRef="USD">197000</us-gaap:AccountsReceivableNet>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2024-12-31_clwt_PastDuesMember"
      decimals="-3"
      id="fid_6438"
      unitRef="USD">964000</us-gaap:AccountsReceivableNet>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2023-12-31_clwt_PastDuesMember"
      decimals="-3"
      id="fid_6439"
      unitRef="USD">1689000</us-gaap:AccountsReceivableNet>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_6426"
      unitRef="USD">1386000</us-gaap:AccountsReceivableNet>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_6427"
      unitRef="USD">2864000</us-gaap:AccountsReceivableNet>
    <us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3443">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;strong&gt;Note 5: Prepayments and other current assets&lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;Prepayment and other current assets mainly represent deposits paid for purchases and services, rental and utilities deposits, and prepaid expenses. &lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Deposits paid&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;78&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;40&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Prepayments&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;70&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;68&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Other receivables&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;118&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;134&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Income tax recoverable&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;2&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Other tax recoverable&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;3&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;4&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;271&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;246&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock>
    <us-gaap:ScheduleOfOtherCurrentAssetsTableTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3557">&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Deposits paid&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;78&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;40&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Prepayments&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;70&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;68&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Other receivables&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;118&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;134&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Income tax recoverable&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;2&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Other tax recoverable&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;3&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;4&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;271&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;246&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:ScheduleOfOtherCurrentAssetsTableTextBlock>
    <us-gaap:DepositAssets
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_6695"
      unitRef="USD">78000</us-gaap:DepositAssets>
    <us-gaap:DepositAssets
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_6696"
      unitRef="USD">40000</us-gaap:DepositAssets>
    <us-gaap:PrepaidExpenseCurrentAndNoncurrent
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_6697"
      unitRef="USD">70000</us-gaap:PrepaidExpenseCurrentAndNoncurrent>
    <us-gaap:PrepaidExpenseCurrentAndNoncurrent
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_6698"
      unitRef="USD">68000</us-gaap:PrepaidExpenseCurrentAndNoncurrent>
    <us-gaap:OtherReceivables
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_6699"
      unitRef="USD">118000</us-gaap:OtherReceivables>
    <us-gaap:OtherReceivables
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_6700"
      unitRef="USD">134000</us-gaap:OtherReceivables>
    <clwt:IncomeTaxRecoverable
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_7512"
      unitRef="USD">2000</clwt:IncomeTaxRecoverable>
    <clwt:IncomeTaxRecoverable
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_7513"
      unitRef="USD">0</clwt:IncomeTaxRecoverable>
    <clwt:OtherTaxRecoverable
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_7514"
      unitRef="USD">3000</clwt:OtherTaxRecoverable>
    <clwt:OtherTaxRecoverable
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_7515"
      unitRef="USD">4000</clwt:OtherTaxRecoverable>
    <us-gaap:PrepaidExpenseAndOtherAssets
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_6703"
      unitRef="USD">271000</us-gaap:PrepaidExpenseAndOtherAssets>
    <us-gaap:PrepaidExpenseAndOtherAssets
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_6704"
      unitRef="USD">246000</us-gaap:PrepaidExpenseAndOtherAssets>
    <clwt:ContractWithCustomerAssetAndLiabilityDisclosureTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3445">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;strong&gt;Note 6: Contract assets and liabilities &lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;Contracts with customers usually stipulate the timing of payment, which is defined by the terms found within the various contracts under which work was performed during the period. Therefore, contract assets and liabilities are created when the timing of costs incurred on work performed does not coincide with the billing terms.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;The Group&#x2019;s consolidated balance sheets present contract assets which contains earned unbilled revenue associated with contract work that has been completed but not paid by customers, that are generally due once the job is completed and approved. &lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;Contract assets consisted of the following at December 31:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Unbilled revenue &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;135&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;66&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;The Group&#x2019;s consolidated balance sheets present contract liabilities which contains deferred revenue (previously identified as billings in excess of costs on uncompleted contracts) and unearned warranty revenue.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;Contract liabilities consisted of the following at December 31:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Deferred revenue &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;593&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;650&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;The following table provides information about contract assets and contract liabilities from contracts with customers:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Contract assets&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;135&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;66&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Contract liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(593 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(650 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Net contract liabilities &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;(458 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;(584 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;The difference between the opening and closing balances of the Group&#x2019;s contract assets and contract liabilities primarily results from the timing of the Group&#x2019;s billings in relation to its performance of work. The amounts of revenue recognized in the period that were included in the opening contract liability balances were US$133,000 and US$492,000 for the years ended December 31, 2024 and 2023, respectively. The revenue consists primarily of work performed on previous billings to customers.&#160;&#160;&#160; &lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;The net liabilities position for contracts in process consisted of the following at December 31:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Costs incurred in contracts in process&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;325&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;229&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Revenue earned but not yet billed&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;102&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;26&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Less: billings to date &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(885 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(839 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;(458 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;(584 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;The net liabilities position for contracts in process is included within the contract asset and contract liability in the accompanying consolidated balance sheets as follows at December 31: &lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Unbilled revenue &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;135&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;66&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Deferred revenue &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(593 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(650 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;(458 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;(584 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 35.95pt; text-align:justify;"&gt;&lt;span style="text-decoration:underline"&gt;Disaggregated revenue from contracts &lt;/span&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Year ended December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2022&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Revenue&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Trading and manufacturing (revenue recognized at point in time)&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;9,549&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;12,143&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;9,332&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Engineering (revenue recognized over time)&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;5,834&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;5,797&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;5,617&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;15,383&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;17,940&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;14,949&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</clwt:ContractWithCustomerAssetAndLiabilityDisclosureTextBlock>
    <us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3559">&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Unbilled revenue &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;135&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;66&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Deferred revenue &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;593&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;650&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Contract assets&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;135&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;66&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Contract liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(593 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(650 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Net contract liabilities &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;(458 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;(584 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock>
    <us-gaap:ContractWithCustomerAssetNet
      contextRef="AsOf2024-12-31_us-gaap_UnbilledRevenuesMember"
      decimals="-3"
      id="fid_6713"
      unitRef="USD">135000</us-gaap:ContractWithCustomerAssetNet>
    <us-gaap:ContractWithCustomerAssetNet
      contextRef="AsOf2023-12-31_us-gaap_UnbilledRevenuesMember"
      decimals="-3"
      id="fid_6714"
      unitRef="USD">66000</us-gaap:ContractWithCustomerAssetNet>
    <us-gaap:DeferredRevenue
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_6717"
      unitRef="USD">593000</us-gaap:DeferredRevenue>
    <us-gaap:DeferredRevenue
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_6718"
      unitRef="USD">650000</us-gaap:DeferredRevenue>
    <us-gaap:ContractWithCustomerAssetNet
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_6721"
      unitRef="USD">135000</us-gaap:ContractWithCustomerAssetNet>
    <us-gaap:ContractWithCustomerAssetNet
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_6722"
      unitRef="USD">66000</us-gaap:ContractWithCustomerAssetNet>
    <us-gaap:ContractWithCustomerLiability
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_6723"
      unitRef="USD">593000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_6724"
      unitRef="USD">650000</us-gaap:ContractWithCustomerLiability>
    <clwt:ContractWithCustomerAssetLiabilityNet
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_6725"
      unitRef="USD">-458000</clwt:ContractWithCustomerAssetLiabilityNet>
    <clwt:ContractWithCustomerAssetLiabilityNet
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_6726"
      unitRef="USD">-584000</clwt:ContractWithCustomerAssetLiabilityNet>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="fid_6771"
      unitRef="USD">133000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="fid_6770"
      unitRef="USD">492000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <clwt:ContractWithCustomerNetAssetLiabilityPositionTableTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3561">&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Costs incurred in contracts in process&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;325&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;229&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Revenue earned but not yet billed&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;102&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;26&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Less: billings to date &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(885 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(839 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;(458 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;(584 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Unbilled revenue &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;135&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;66&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Deferred revenue &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(593 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(650 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;(458 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;(584 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</clwt:ContractWithCustomerNetAssetLiabilityPositionTableTextBlock>
    <clwt:CostsIncurredInContractsInProcess
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_6737"
      unitRef="USD">325000</clwt:CostsIncurredInContractsInProcess>
    <clwt:CostsIncurredInContractsInProcess
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_6738"
      unitRef="USD">229000</clwt:CostsIncurredInContractsInProcess>
    <clwt:RevenueEarnedButNotYetBilled
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_6739"
      unitRef="USD">102000</clwt:RevenueEarnedButNotYetBilled>
    <clwt:RevenueEarnedButNotYetBilled
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_6740"
      unitRef="USD">26000</clwt:RevenueEarnedButNotYetBilled>
    <clwt:CostsAndEstimatedEarningsOnUncompletedContractsInExcessOfBillingsUnbilledRevenue
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_6741"
      unitRef="USD">-458000</clwt:CostsAndEstimatedEarningsOnUncompletedContractsInExcessOfBillingsUnbilledRevenue>
    <clwt:CostsAndEstimatedEarningsOnUncompletedContractsInExcessOfBillingsUnbilledRevenue
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_6742"
      unitRef="USD">-584000</clwt:CostsAndEstimatedEarningsOnUncompletedContractsInExcessOfBillingsUnbilledRevenue>
    <clwt:ContractWithCustomerAssetLiabilityNet
      contextRef="AsOf2024-12-31_us-gaap_UnbilledRevenuesMember"
      decimals="-3"
      id="fid_6752"
      unitRef="USD">135000</clwt:ContractWithCustomerAssetLiabilityNet>
    <clwt:ContractWithCustomerAssetLiabilityNet
      contextRef="AsOf2023-12-31_us-gaap_UnbilledRevenuesMember"
      decimals="-3"
      id="fid_6751"
      unitRef="USD">66000</clwt:ContractWithCustomerAssetLiabilityNet>
    <clwt:ContractWithCustomerAssetLiabilityNet
      contextRef="AsOf2024-12-31_us-gaap_BilledRevenuesMember"
      decimals="-3"
      id="fid_6754"
      unitRef="USD">-593000</clwt:ContractWithCustomerAssetLiabilityNet>
    <clwt:ContractWithCustomerAssetLiabilityNet
      contextRef="AsOf2023-12-31_us-gaap_BilledRevenuesMember"
      decimals="-3"
      id="fid_6753"
      unitRef="USD">-650000</clwt:ContractWithCustomerAssetLiabilityNet>
    <clwt:ContractWithCustomerAssetLiabilityNet
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_6750"
      unitRef="USD">-458000</clwt:ContractWithCustomerAssetLiabilityNet>
    <clwt:ContractWithCustomerAssetLiabilityNet
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_6749"
      unitRef="USD">-584000</clwt:ContractWithCustomerAssetLiabilityNet>
    <us-gaap:DisaggregationOfRevenueTableTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3563">&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Year ended December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2022&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Revenue&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Trading and manufacturing (revenue recognized at point in time)&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;9,549&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;12,143&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;9,332&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Engineering (revenue recognized over time)&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;5,834&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;5,797&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;5,617&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;15,383&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;17,940&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;14,949&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:DisaggregationOfRevenueTableTextBlock>
    <clwt:ContractWithCustomerTradingAndManufacturing
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_6762"
      unitRef="USD">9549000</clwt:ContractWithCustomerTradingAndManufacturing>
    <clwt:ContractWithCustomerTradingAndManufacturing
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_6763"
      unitRef="USD">12143000</clwt:ContractWithCustomerTradingAndManufacturing>
    <clwt:ContractWithCustomerTradingAndManufacturing
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_6761"
      unitRef="USD">9332000</clwt:ContractWithCustomerTradingAndManufacturing>
    <clwt:ContractWithCustomerEngineering
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_6765"
      unitRef="USD">5834000</clwt:ContractWithCustomerEngineering>
    <clwt:ContractWithCustomerEngineering
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_6766"
      unitRef="USD">5797000</clwt:ContractWithCustomerEngineering>
    <clwt:ContractWithCustomerEngineering
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_6764"
      unitRef="USD">5617000</clwt:ContractWithCustomerEngineering>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_6768"
      unitRef="USD">15383000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_6769"
      unitRef="USD">17940000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_6767"
      unitRef="USD">14949000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
    <us-gaap:InventoryDisclosureTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3447">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;strong&gt;Note 7: Inventories&lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Raw materials&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;76&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;192&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Work in progress&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;58&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;30&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Finished goods&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;366&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;501&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;500&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;723&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.35pt; TEXT-INDENT: 1.45pt; text-align:justify;"&gt;Management continuously reviews obsolete and slow moving inventories and assesses the inventory valuation to determine if the write-down of inventories is deemed appropriate. For the years ended December 31, 2024, and 2023, write-down of inventories amounted to US$1,000 and US$(1,000), respectively, which were charged to cost of revenue in consolidated statements of operations and comprehensive income / (loss). &lt;/p&gt;</us-gaap:InventoryDisclosureTextBlock>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3564">&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Raw materials&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;76&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;192&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Work in progress&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;58&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;30&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Finished goods&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;366&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;501&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;500&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;723&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryRawMaterialsNetOfReserves
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_6283"
      unitRef="USD">76000</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventoryRawMaterialsNetOfReserves
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_6290"
      unitRef="USD">192000</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventoryWorkInProcessNetOfReserves
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_6285"
      unitRef="USD">58000</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:InventoryWorkInProcessNetOfReserves
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_6284"
      unitRef="USD">30000</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_6287"
      unitRef="USD">366000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_6286"
      unitRef="USD">501000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryNet
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_6289"
      unitRef="USD">500000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_6288"
      unitRef="USD">723000</us-gaap:InventoryNet>
    <us-gaap:InventoryWriteDown
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_6298"
      unitRef="USD">1000000</us-gaap:InventoryWriteDown>
    <us-gaap:InventoryWriteDown
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_6297"
      unitRef="USD">-1000000</us-gaap:InventoryWriteDown>
    <us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3450">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;strong&gt;Note 8: Property, plant and equipment, net&lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Office premises*&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;673&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;673&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Leasehold improvements&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;67&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;67&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Furniture, fixtures and office equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;311&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;313&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Motor vehicles&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;172&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;172&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Testing equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;28&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;32&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;1,251&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;1,257&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Less: Accumulated depreciation&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(1,092 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(1,089 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;159&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;168&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Year ended December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2022&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Depreciation charge&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;14&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;15&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;33&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;"&gt;* Far East earns rental income from a property in Beijing, PRC for which it does not hold the title. Far East is investigating various ways in which to obtain the title but has not formulated a specific plan as of the date of issuance of these consolidated financial statements. The net book value of the property at December 31, 2024 is approximately US$76,000 (2023: US$80,000).&lt;/p&gt;</us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock>
    <us-gaap:PropertyPlantAndEquipmentTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3568">&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Office premises*&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;673&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;673&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Leasehold improvements&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;67&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;67&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Furniture, fixtures and office equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;311&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;313&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Motor vehicles&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;172&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;172&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Testing equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;28&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;32&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;1,251&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;1,257&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Less: Accumulated depreciation&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(1,092 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(1,089 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;159&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;168&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Year ended December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2022&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Depreciation charge&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;14&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;15&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;33&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:PropertyPlantAndEquipmentTextBlock>
    <clwt:BuildingsGross
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_6453"
      unitRef="USD">673000</clwt:BuildingsGross>
    <clwt:BuildingsGross
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_6452"
      unitRef="USD">673000</clwt:BuildingsGross>
    <us-gaap:LeaseholdImprovementsGross
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_6455"
      unitRef="USD">67000</us-gaap:LeaseholdImprovementsGross>
    <us-gaap:LeaseholdImprovementsGross
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_6454"
      unitRef="USD">67000</us-gaap:LeaseholdImprovementsGross>
    <us-gaap:FurnitureAndFixturesGross
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_6457"
      unitRef="USD">311000</us-gaap:FurnitureAndFixturesGross>
    <us-gaap:FurnitureAndFixturesGross
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_6456"
      unitRef="USD">313000</us-gaap:FurnitureAndFixturesGross>
    <us-gaap:MachineryAndEquipmentGross
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_6459"
      unitRef="USD">172000</us-gaap:MachineryAndEquipmentGross>
    <us-gaap:MachineryAndEquipmentGross
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_6458"
      unitRef="USD">172000</us-gaap:MachineryAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentOther
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_6461"
      unitRef="USD">28000</us-gaap:PropertyPlantAndEquipmentOther>
    <us-gaap:PropertyPlantAndEquipmentOther
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_6460"
      unitRef="USD">32000</us-gaap:PropertyPlantAndEquipmentOther>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_6463"
      unitRef="USD">1251000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_6462"
      unitRef="USD">1257000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_6465"
      unitRef="USD">1092000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_6464"
      unitRef="USD">1089000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_6467"
      unitRef="USD">159000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_6466"
      unitRef="USD">168000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_6486"
      unitRef="USD">14000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_6487"
      unitRef="USD">15000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_6488"
      unitRef="USD">33000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2024-12-31_clwt_PropertyInBeijingPRCMember"
      decimals="0"
      id="fid_7149"
      unitRef="USD">76000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2023-12-31_clwt_PropertyInBeijingPRCMember"
      decimals="0"
      id="fid_7148"
      unitRef="USD">80000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:InvestmentsInAndAdvancesToAffiliatesTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3455">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;strong&gt;Note 9: Investments in affiliates&lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;"&gt;Investments in affiliates are accounted for using the equity method of accounting.&#160; &lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Zhejiang Tianlan Environmental Protection Technology Co. Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Interest held&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;&lt;strong&gt;19.4&lt;/strong&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;&lt;strong&gt;%&lt;/strong&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;&lt;strong&gt;19.4&lt;/strong&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;&lt;strong&gt;%&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Long-term investment, at cost, less impairment&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;5,540&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;5,540&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Share of undistributed profits&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;4,407&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;4,316&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;9,947&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;9,856&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;"&gt;Far East is holding 19.4% (2023: 19.4%) equity interests in Blue Sky, a company incorporated in the PRC, with total cost of investment of US$5,540,000. Blue Sky provides a comprehensive service for design, general contract, equipment manufacturing, installation, testing and operation management of the treatment of waste gases emitted from various boilers and industrial furnaces of power plants, steel works and chemical plants since 2000.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;"&gt;Blue Sky has listed its shares on the New Third Board in the PRC since November 17, 2015 and suspended trading from August 15, 2017 and resumed trading on February 2, 2018 and suspended trading from November 24, 2020 and resumed trading on January 6, 2021.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;"&gt;The Group&#x2019;s interest in Blue Sky has been counted for as an affiliate using the equity method as the Group has representation on both the Board and Executive Committee of Blue Sky, and the ability to participate in the decision-making process and exercise significant influence.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;"&gt;A summary of the financial information of the affiliate, Blue Sky, is set forth below: &lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 3.5pt; text-align:center;"&gt;&lt;strong&gt;December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 3.5pt; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Balance Sheet:&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Current assets&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;50,487&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;51,683&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Non-current assets&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;10,569&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;10,909&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Total assets&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;61,056&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;62,592&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Total liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(25,204 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(26,374 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Total shareholders&#x2019; equity&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;35,852&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;36,218&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Year ended December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Operating results:&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Net sales&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;48,365&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;38,530&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Operating income&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;1,926&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;337&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Net income&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;2,008&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;9,978&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:InvestmentsInAndAdvancesToAffiliatesTextBlock>
    <us-gaap:ScheduleOfInvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTableTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3566">&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Zhejiang Tianlan Environmental Protection Technology Co. Ltd.&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Interest held&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;&lt;strong&gt;19.4&lt;/strong&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;&lt;strong&gt;%&lt;/strong&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;&lt;strong&gt;19.4&lt;/strong&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;&lt;strong&gt;%&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Long-term investment, at cost, less impairment&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;5,540&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;5,540&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Share of undistributed profits&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;4,407&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;4,316&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;9,947&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;9,856&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:ScheduleOfInvestmentsInAndAdvancesToAffiliatesScheduleOfInvestmentsTableTextBlock>
    <srt:InterestEarningAssetsNetYield
      contextRef="From2024-01-01to2024-12-31"
      decimals="INF"
      id="fid_5237"
      unitRef="Pure">0.194</srt:InterestEarningAssetsNetYield>
    <srt:InterestEarningAssetsNetYield
      contextRef="From2023-01-01to2023-12-31"
      decimals="INF"
      id="fid_5238"
      unitRef="Pure">0.194</srt:InterestEarningAssetsNetYield>
    <us-gaap:LongTermInvestments
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_5239"
      unitRef="USD">5540000</us-gaap:LongTermInvestments>
    <us-gaap:LongTermInvestments
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_5240"
      unitRef="USD">5540000</us-gaap:LongTermInvestments>
    <us-gaap:UndistributedEarnings
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5241"
      unitRef="USD">4407000</us-gaap:UndistributedEarnings>
    <us-gaap:UndistributedEarnings
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5242"
      unitRef="USD">4316000</us-gaap:UndistributedEarnings>
    <us-gaap:InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVentures
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_5243"
      unitRef="USD">9947000</us-gaap:InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVentures>
    <us-gaap:InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVentures
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_5244"
      unitRef="USD">9856000</us-gaap:InvestmentsInAffiliatesSubsidiariesAssociatesAndJointVentures>
    <srt:InterestEarningAssetsNetYield
      contextRef="From2024-01-01to2024-12-31_clwt_BluesSkyMember"
      decimals="INF"
      id="fid_5262"
      unitRef="Pure">0.194</srt:InterestEarningAssetsNetYield>
    <srt:InterestEarningAssetsNetYield
      contextRef="From2023-01-01to2023-12-31_clwt_BluesSkyMember"
      decimals="INF"
      id="fid_5261"
      unitRef="Pure">0.194</srt:InterestEarningAssetsNetYield>
    <us-gaap:LongTermInvestments
      contextRef="AsOf2024-12-31_clwt_BluesSkyMember"
      decimals="0"
      id="fid_5264"
      unitRef="USD">5540000</us-gaap:LongTermInvestments>
    <clwt:SummaryOfTheFinancialInformationOfTheAffiliates contextRef="From2024-01-01to2024-12-31" id="fid_3567">&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 3.5pt; text-align:center;"&gt;&lt;strong&gt;December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 3.5pt; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Balance Sheet:&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Current assets&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;50,487&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;51,683&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Non-current assets&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;10,569&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;10,909&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Total assets&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;61,056&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;62,592&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Total liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(25,204 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(26,374 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Total shareholders&#x2019; equity&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;35,852&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;36,218&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Year ended December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Operating results:&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Net sales&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;48,365&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;38,530&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Operating income&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;1,926&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;337&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Net income&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;2,008&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;9,978&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</clwt:SummaryOfTheFinancialInformationOfTheAffiliates>
    <us-gaap:AssetsCurrent
      contextRef="AsOf2024-12-31_clwt_BluesSkyMember"
      decimals="-3"
      id="fid_5245"
      unitRef="USD">50487000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="AsOf2023-12-31_clwt_BluesSkyMember"
      decimals="-3"
      id="fid_5246"
      unitRef="USD">51683000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsNoncurrent
      contextRef="AsOf2024-12-31_clwt_BluesSkyMember"
      decimals="-3"
      id="fid_5247"
      unitRef="USD">10569000</us-gaap:AssetsNoncurrent>
    <us-gaap:AssetsNoncurrent
      contextRef="AsOf2023-12-31_clwt_BluesSkyMember"
      decimals="-3"
      id="fid_5248"
      unitRef="USD">10909000</us-gaap:AssetsNoncurrent>
    <us-gaap:Assets
      contextRef="AsOf2024-12-31_clwt_BluesSkyMember"
      decimals="-3"
      id="fid_5249"
      unitRef="USD">61056000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="AsOf2023-12-31_clwt_BluesSkyMember"
      decimals="-3"
      id="fid_5250"
      unitRef="USD">62592000</us-gaap:Assets>
    <us-gaap:Liabilities
      contextRef="AsOf2024-12-31_clwt_BluesSkyMember"
      decimals="-3"
      id="fid_5251"
      unitRef="USD">25204000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="AsOf2023-12-31_clwt_BluesSkyMember"
      decimals="-3"
      id="fid_5252"
      unitRef="USD">26374000</us-gaap:Liabilities>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-12-31_clwt_BluesSkyMember"
      decimals="-3"
      id="fid_5253"
      unitRef="USD">35852000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-12-31_clwt_BluesSkyMember"
      decimals="-3"
      id="fid_5254"
      unitRef="USD">36218000</us-gaap:StockholdersEquity>
    <us-gaap:NetInvestmentInLeaseSale
      contextRef="From2024-01-01to2024-12-31_clwt_BluesSkyMember"
      decimals="-3"
      id="fid_5928"
      unitRef="USD">48365000</us-gaap:NetInvestmentInLeaseSale>
    <us-gaap:NetInvestmentInLeaseSale
      contextRef="From2023-01-01to2023-12-31_clwt_BluesSkyMember"
      decimals="-3"
      id="fid_5931"
      unitRef="USD">38530000</us-gaap:NetInvestmentInLeaseSale>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2024-01-01to2024-12-31_clwt_BluesSkyMember"
      decimals="-3"
      id="fid_5929"
      unitRef="USD">1926000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2023-01-01to2023-12-31_clwt_BluesSkyMember"
      decimals="-3"
      id="fid_5932"
      unitRef="USD">337000</us-gaap:OperatingIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-01-01to2024-12-31_clwt_BluesSkyMember"
      decimals="-3"
      id="fid_5930"
      unitRef="USD">2008000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-01to2023-12-31_clwt_BluesSkyMember"
      decimals="-3"
      id="fid_5933"
      unitRef="USD">9978000</us-gaap:NetIncomeLoss>
    <us-gaap:GoodwillDisclosureTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3461">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;strong&gt;Note 10 : Goodwill&lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 45pt; text-align:justify;"&gt;Reporting units - The Group&#x2019;s reporting units consist of its trading and manufacturing and engineering segments. Goodwill is not amortized, but instead is reviewed for impairment at least annually during the fourth quarter of each year at the reporting level, absent any interim indicators of impairment or other factors requiring an assessment.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 45pt; text-align:justify;"&gt;Annual impairment assessment - For our 2024 and 2023 annual impairment test we performed a qualitative assessment, using information as of December 31, 2024 and 2023, respectively. Under current guidance, we are permitted to first assess qualitative factors to determine whether it is more likely than not that the fair value of a reporting unit is less than its carrying amount as a basis for determining whether it is necessary to perform a quantitative goodwill impairment test. We determined there were no factors indicating the need to perform a quantitative goodwill impairment test and concluded that it is more likely than not the fair value of our reporting units is greater than their carrying value and thus there was no impairment to goodwill.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 45pt; text-align:justify;"&gt;In addition to our annual review, we assess the impairment of goodwill whenever events or changes in circumstances indicate that the carrying value of a reporting unit may be greater than fair value. Factors that could trigger an interim impairment review include, but are not limited to, significant adverse changes in the business climate which may be indicated by a decline in our market capitalization or decline in operating results. No impairments were recorded to our goodwill during the years ended December 31, 2024, 2023 and 2022. No material events or changes occurred between the testing date and year end to trigger a subsequent impairment review.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 45pt; text-align:justify;"&gt;At December 31, 2024 and 2023, we had goodwill for our engineering segment with a carrying amount of US$1,071,000 and US$1,071,000, respectively.&lt;/p&gt;</us-gaap:GoodwillDisclosureTextBlock>
    <us-gaap:GoodwillGross
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="fid_5350"
      unitRef="USD">1071000</us-gaap:GoodwillGross>
    <us-gaap:GoodwillGross
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="fid_5351"
      unitRef="USD">1071000</us-gaap:GoodwillGross>
    <us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3456">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;strong&gt;Note 11 : Other payables and accrued expenses&lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 33.75pt; text-align:justify;"&gt;Other payables and accrued expenses mainly represent deposits received from customers and accruals for operating expenses.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Dividend payables&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;76&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;78&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Deposits received from customers&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;5&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;5&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Rental deposit received&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;3&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Accruals for operating expenses &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;803&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;834&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Other tax payables&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;166&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;204&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;1,050&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;1,124&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock>
    <us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3572">&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Dividend payables&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;76&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;78&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Deposits received from customers&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;5&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;5&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Rental deposit received&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;3&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Accruals for operating expenses &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;803&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;834&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Other tax payables&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;166&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;204&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;1,050&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;1,124&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock>
    <us-gaap:DividendsPayableCurrent
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_6514"
      unitRef="USD">76000</us-gaap:DividendsPayableCurrent>
    <us-gaap:DividendsPayableCurrent
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_6515"
      unitRef="USD">78000</us-gaap:DividendsPayableCurrent>
    <us-gaap:CustomerDepositsCurrent
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_6516"
      unitRef="USD">5000</us-gaap:CustomerDepositsCurrent>
    <us-gaap:CustomerDepositsCurrent
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_6517"
      unitRef="USD">5000</us-gaap:CustomerDepositsCurrent>
    <clwt:RentalDepositReceived
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_6518"
      unitRef="USD">0</clwt:RentalDepositReceived>
    <clwt:RentalDepositReceived
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_6519"
      unitRef="USD">3000</clwt:RentalDepositReceived>
    <clwt:AccruedOperatingExpenses
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_6520"
      unitRef="USD">803000</clwt:AccruedOperatingExpenses>
    <clwt:AccruedOperatingExpenses
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_6521"
      unitRef="USD">834000</clwt:AccruedOperatingExpenses>
    <us-gaap:AccrualForTaxesOtherThanIncomeTaxesCurrent
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_6522"
      unitRef="USD">166000</us-gaap:AccrualForTaxesOtherThanIncomeTaxesCurrent>
    <us-gaap:AccrualForTaxesOtherThanIncomeTaxesCurrent
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_6523"
      unitRef="USD">204000</us-gaap:AccrualForTaxesOtherThanIncomeTaxesCurrent>
    <us-gaap:AccountsPayableAndAccruedLiabilitiesFairValueDisclosure
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_6524"
      unitRef="USD">1050000</us-gaap:AccountsPayableAndAccruedLiabilitiesFairValueDisclosure>
    <us-gaap:AccountsPayableAndAccruedLiabilitiesFairValueDisclosure
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_6525"
      unitRef="USD">1124000</us-gaap:AccountsPayableAndAccruedLiabilitiesFairValueDisclosure>
    <us-gaap:LeasesOfLesseeDisclosureTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3593">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;strong&gt;Note 12: Lease obligations &lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 34.8pt; text-align:justify;"&gt;The Group has operating leases primarily for office space. The Group&#x2019;s leases have remaining lease terms of several months to 18 months.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 34.8pt; text-align:justify;"&gt;Based on present value of future minimum rental payments of the lease as if the adoption date, using an effective interest rate of 5%, which is determined using an local banks incremental borrowing rate. &lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 34.8pt; text-align:justify;"&gt;The components of lease expense are as follows:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 4.5pt; text-align:center;"&gt;&lt;strong&gt;Years ended December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 4.5pt; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 4.5pt; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 4.5pt; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 4.5pt; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Operating lease cost&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;187&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;76&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Short-term lease cost&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;8&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;220&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Total lease cost&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;195&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;296&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;Supplemental consolidated cash flow information related to leases is as follows:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Years ended December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Cash paid for amounts included in the measurement of lease liabilities:&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Operating cash flows from operating leases&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;173&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;285&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Right-of-use assets obtained in exchange for lease obligations (noncash):&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Operating leases&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;Supplemental consolidated balance sheet information related to leases is as follows:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Operating leases&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Operating lease right-of-use assets&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;101&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;233&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Current portion of long-term operating lease obligations &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;83&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;170&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Long-term operating lease obligations, net of current maturities&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;9&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;44&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;92&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;214&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Weighted average remaining lease term&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Operating leases &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;3 months&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;3 months&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Weighted average discount rate&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Operating leases&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;5&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;5.45&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;Maturities of lease liabilities are as follows:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Operating leases &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Year ending December 31, &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;2025&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;77&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;2026&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;17&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Total lease payments &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;94&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Less: imputed interest &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(2 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Total &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;92&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;The amortization expenses were US164,000 and US$160,000 for the years ended December 31, 2024, and 2023, respectively.&lt;/p&gt;</us-gaap:LeasesOfLesseeDisclosureTextBlock>
    <us-gaap:LeaseCostTableTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_6852">&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 4.5pt; text-align:center;"&gt;&lt;strong&gt;Years ended December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 4.5pt; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 4.5pt; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 4.5pt; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 4.5pt; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Operating lease cost&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;187&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;76&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Short-term lease cost&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;8&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;220&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Total lease cost&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;195&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;296&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:LeaseCostTableTextBlock>
    <us-gaap:OperatingLeaseCost
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_7159"
      unitRef="USD">187000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_7509"
      unitRef="USD">76000</us-gaap:OperatingLeaseCost>
    <us-gaap:ShortTermLeaseCost
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_7160"
      unitRef="USD">8000</us-gaap:ShortTermLeaseCost>
    <us-gaap:ShortTermLeaseCost
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_7510"
      unitRef="USD">220000</us-gaap:ShortTermLeaseCost>
    <us-gaap:LeaseCost
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_7161"
      unitRef="USD">195000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_7511"
      unitRef="USD">296000</us-gaap:LeaseCost>
    <clwt:ScheduleOfSupplementalConsolidatedCashFlowInformationRelatedToLeasesTableTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_6859">&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Years ended December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Cash paid for amounts included in the measurement of lease liabilities:&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Operating cash flows from operating leases&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;173&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;285&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Right-of-use assets obtained in exchange for lease obligations (noncash):&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Operating leases&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</clwt:ScheduleOfSupplementalConsolidatedCashFlowInformationRelatedToLeasesTableTextBlock>
    <us-gaap:OperatingLeasePayments
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_7162"
      unitRef="USD">173000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_7164"
      unitRef="USD">285000</us-gaap:OperatingLeasePayments>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_7163"
      unitRef="USD">0</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_6246"
      unitRef="USD">0</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <clwt:ScheduleOfSupplementalConsolidatedBalanceSheetInformationRelatedToLeasesTableTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_7505">&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Operating leases&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Operating lease right-of-use assets&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;101&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;233&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Current portion of long-term operating lease obligations &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;83&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;170&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Long-term operating lease obligations, net of current maturities&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;9&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;44&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;92&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;214&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Weighted average remaining lease term&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Operating leases &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;3 months&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;3 months&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Weighted average discount rate&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Operating leases&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;5&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;5.45&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</clwt:ScheduleOfSupplementalConsolidatedBalanceSheetInformationRelatedToLeasesTableTextBlock>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_7165"
      unitRef="USD">101000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_6252"
      unitRef="USD">233000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_7167"
      unitRef="USD">83000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_6254"
      unitRef="USD">170000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_7168"
      unitRef="USD">9000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_6256"
      unitRef="USD">44000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiability
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_7169"
      unitRef="USD">92000</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseLiability
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_6258"
      unitRef="USD">214000</us-gaap:OperatingLeaseLiability>
    <clwt:WeightedAverageRemainingLeaseTermOperatingLeases contextRef="From2024-01-01to2024-12-31" id="fid_6262">P3M</clwt:WeightedAverageRemainingLeaseTermOperatingLeases>
    <clwt:WeightedAverageRemainingLeaseTermOperatingLeases contextRef="From2023-01-01to2023-12-31" id="fid_6263">P3M</clwt:WeightedAverageRemainingLeaseTermOperatingLeases>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="AsOf2024-12-31"
      decimals="INF"
      id="fid_7170"
      unitRef="Pure">0.05</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="fid_6261"
      unitRef="Pure">0.0545</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_6854">&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Operating leases &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Year ending December 31, &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;2025&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;77&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;2026&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;17&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Total lease payments &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;94&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Less: imputed interest &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(2 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Total &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;92&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:ScheduleOfFutureMinimumRentalPaymentsForOperatingLeasesTableTextBlock>
    <us-gaap:OperatingLeasesFutureMinimumPaymentsDueCurrent
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_7171"
      unitRef="USD">77000</us-gaap:OperatingLeasesFutureMinimumPaymentsDueCurrent>
    <us-gaap:OperatingLeasesFutureMinimumPaymentsDueInTwoYears
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_7172"
      unitRef="USD">17000</us-gaap:OperatingLeasesFutureMinimumPaymentsDueInTwoYears>
    <us-gaap:OperatingLeasesFutureMinimumPaymentsDue
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_7173"
      unitRef="USD">94000</us-gaap:OperatingLeasesFutureMinimumPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_7174"
      unitRef="USD">2000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_7175"
      unitRef="USD">92000</us-gaap:OperatingLeaseLiability>
    <us-gaap:AmortizationOfLeasedAsset
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="fid_7543"
      unitRef="USD">164000</us-gaap:AmortizationOfLeasedAsset>
    <us-gaap:AmortizationOfLeasedAsset
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="fid_7544"
      unitRef="USD">160000</us-gaap:AmortizationOfLeasedAsset>
    <us-gaap:StockholdersEquityNoteDisclosureTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3460">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;strong&gt;Note 13 : Ordinary share&lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;During the year ended December 31, 2020, there was no movement with the Company&#x2019;s issued ordinary shares and outstanding shares.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;On March 3, 2021, the Company had stock split in the form of bonus shares at the rate of two ordinary shares for every three ordinary shares held, creating 2,061,900 new shares of common stock.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;On January 24, 2022, the Company had stock split in the form of bonus shares at the rate of one ordinary shares for every two ordinary shares held, creating 2,577,373 new shares of common stock, as described in Note 24 to the consolidated financial statements.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;Number of outstanding shares at year end of:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Shares issued&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;7,899,832&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;7,899,832&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Less: shares under treasury stock&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(183,533 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(178,400 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;7,716,299&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;7,721,432&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:StockholdersEquityNoteDisclosureTextBlock>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="From2021-03-01to2021-03-03"
      decimals="0"
      id="fid_5358"
      unitRef="Shares">2061900</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="From2022-01-01to2022-01-24"
      decimals="0"
      id="fid_5359"
      unitRef="Shares">2577373</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:ScheduleOfStockByClassTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3574">&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Shares issued&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;7,899,832&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;7,899,832&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Less: shares under treasury stock&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(183,533 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(178,400 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;7,716,299&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;7,721,432&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:ScheduleOfStockByClassTextBlock>
    <us-gaap:CommonStockSharesIssued
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="fid_5352"
      unitRef="Shares">7899832</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="fid_5353"
      unitRef="Shares">7899832</us-gaap:CommonStockSharesIssued>
    <us-gaap:TreasuryStockCommonShares
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="fid_5354"
      unitRef="Shares">183533</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockCommonShares
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="fid_5355"
      unitRef="Shares">178400</us-gaap:TreasuryStockCommonShares>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="fid_5356"
      unitRef="Shares">7716299</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="fid_5357"
      unitRef="Shares">7721432</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:TreasuryStockTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_5435">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;strong&gt;Note 14 : Treasury stock&lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The Company approved a stock repurchase plan in April 2023 to repurchase up to 230,000 ordinary shares, for an aggregate purchase price of not more than US$300,000, of the Company&#x2019;s ordinary share could be purchased in the open market from time to time as market and business conditions warrant.&#160;&#160;The Company repurchased a total of&#160;&#160;5,133 and 10,700 shares of ordinary share during 2024 and 2023 for considerations of approximately US$7,000 and US$14,000, respectively. &lt;/p&gt;</us-gaap:TreasuryStockTextBlock>
    <us-gaap:OtherInventoryPurchasedGoods
      contextRef="AsOf2023-04-30_clwt_StockRepurchasePlanMember"
      decimals="0"
      id="fid_5268"
      unitRef="USD">230000</us-gaap:OtherInventoryPurchasedGoods>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2023-04-30_clwt_StockRepurchasePlanMember"
      decimals="0"
      id="fid_5267"
      unitRef="Shares">300000</us-gaap:SharesOutstanding>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2024-12-31_clwt_StockRepurchasePlanMember"
      decimals="0"
      id="fid_7191"
      unitRef="Shares">5133</us-gaap:SharesOutstanding>
    <us-gaap:SharesOutstanding
      contextRef="AsOf2023-12-31_clwt_StockRepurchasePlanMember"
      decimals="0"
      id="fid_5265"
      unitRef="Shares">10700</us-gaap:SharesOutstanding>
    <us-gaap:OtherInventoryPurchasedGoods
      contextRef="AsOf2024-12-31_clwt_StockRepurchasePlanMember"
      decimals="0"
      id="fid_7192"
      unitRef="USD">7000</us-gaap:OtherInventoryPurchasedGoods>
    <us-gaap:OtherInventoryPurchasedGoods
      contextRef="AsOf2023-12-31_clwt_StockRepurchasePlanMember"
      decimals="0"
      id="fid_5266"
      unitRef="USD">14000</us-gaap:OtherInventoryPurchasedGoods>
    <clwt:PrcStatutoryReservesTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3462">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;strong&gt;Note 15 : PRC statutory reserves&lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;Under the relevant PRC laws and regulations, the PRC subsidiaries are required to appropriate a certain percentage of their respective net income to two statutory funds i.e. the statutory reserve fund and the statutory staff welfare fund. &#160;The PRC subsidiaries can also appropriate certain amount of its net income to the enterprise expansion fund.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;(i)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Statutory reserve fund&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;Pursuant to applicable PRC laws and regulations, the PRC subsidiaries are required to allocate at least 10% of its net income to the statutory reserve fund until such fund reaches 50% of its registered capital. The statutory reserve fund can be utilised upon the approval by the relevant authorities, to offset accumulated losses or to increase its registered capital, provided that such fund be maintained at a minimum of 25% of its registered capital.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;Under the PRC laws and regulations, the PRC subsidiaries are restricted in their ability to transfer certain of its net assets in the form of dividend payments, loans or advances.&#160; The amounts restricted include paid-in capital and statutory reserves, as determined pursuant to PRC generally accepted accounting principles, totaling US$2,150,000 as at December 31, 2024 (2023: US$2,500,000 and 2022: US$2,531,000).&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;(ii)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Statutory staff welfare fund&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;Pursuant to applicable PRC laws and regulations, the PRC subsidiaries are required to allocate a certain amount of its net income to the statutory staff welfare fund determined by it. The statutory staff welfare fund can only be used to provide staff welfare facilities and other collective benefits to its employees. This fund is non-distributable other than upon liquidation of the PRC subsidiaries. The balances as at December 31, 2024 and 2023 include in statutory reserves were US$9,000 and US$12,000 respectively.&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;(iii)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Enterprise expansion fund&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;The enterprise expansion fund shall only be used to make up losses, expand the PRC subsidiaries&#x2019; production operations, or increase the capital of the subsidiaries. The enterprise expansion fund can be utilised upon approval by relevant authorities, to convert into registered capital and issue bonus capital to existing investors, provided that such fund be maintained at a minimum of 25% of its registered capital. The balances as at December 31, 2024 and 2023 include in statutory reserves were US$408,000.&lt;/p&gt;</clwt:PrcStatutoryReservesTextBlock>
    <clwt:StatutoryAccountingPracticesStatutoryNetIncomePercentage
      contextRef="From2024-01-01to2024-12-31_clwt_StatutoryReserveFundMember"
      decimals="INF"
      id="fid_7194"
      unitRef="Pure">0.10</clwt:StatutoryAccountingPracticesStatutoryNetIncomePercentage>
    <us-gaap:PublicUtilitiesRequestedDebtCapitalStructurePercentage
      contextRef="From2024-01-01to2024-12-31_clwt_StatutoryReserveFundMember"
      decimals="INF"
      id="fid_7193"
      unitRef="Pure">0.50</us-gaap:PublicUtilitiesRequestedDebtCapitalStructurePercentage>
    <clwt:MinimumRegisteredCapitalPercentage
      contextRef="From2024-01-01to2024-12-31_clwt_StatutoryReserveFundMember"
      decimals="INF"
      id="fid_7195"
      unitRef="Pure">0.25</clwt:MinimumRegisteredCapitalPercentage>
    <us-gaap:StatutoryAccountingPracticesStatutoryNetIncomeAmount
      contextRef="From2024-01-01to2024-12-31_clwt_StatutoryReserveFundMember"
      decimals="0"
      id="fid_5364"
      unitRef="USD">2150000</us-gaap:StatutoryAccountingPracticesStatutoryNetIncomeAmount>
    <us-gaap:StatutoryAccountingPracticesStatutoryNetIncomeAmount
      contextRef="From2023-01-01to2023-12-31_clwt_StatutoryReserveFundMember"
      decimals="0"
      id="fid_5363"
      unitRef="USD">2500000</us-gaap:StatutoryAccountingPracticesStatutoryNetIncomeAmount>
    <us-gaap:StatutoryAccountingPracticesStatutoryNetIncomeAmount
      contextRef="From2022-01-01to2022-12-31_clwt_StatutoryReserveFundMember"
      decimals="0"
      id="fid_5362"
      unitRef="USD">2531000</us-gaap:StatutoryAccountingPracticesStatutoryNetIncomeAmount>
    <us-gaap:StatutoryAccountingPracticesStatutoryNetIncomeAmount
      contextRef="From2024-01-01to2024-12-31_clwt_StatutoryStaffWelfareFundMember"
      decimals="0"
      id="fid_7196"
      unitRef="USD">9000</us-gaap:StatutoryAccountingPracticesStatutoryNetIncomeAmount>
    <us-gaap:StatutoryAccountingPracticesStatutoryNetIncomeAmount
      contextRef="From2023-01-01to2023-12-31_clwt_StatutoryStaffWelfareFundMember"
      decimals="0"
      id="fid_5361"
      unitRef="USD">12000</us-gaap:StatutoryAccountingPracticesStatutoryNetIncomeAmount>
    <clwt:MinimumRegisteredCapitalPercentage
      contextRef="From2024-01-01to2024-12-31_clwt_EnterpriseExpansionFundMember"
      decimals="INF"
      id="fid_7198"
      unitRef="Pure">0.25</clwt:MinimumRegisteredCapitalPercentage>
    <us-gaap:StatutoryAccountingPracticesStatutoryNetIncomeAmount
      contextRef="From2024-01-01to2024-12-31_clwt_EnterpriseExpansionFundMember"
      decimals="0"
      id="fid_7197"
      unitRef="USD">408000</us-gaap:StatutoryAccountingPracticesStatutoryNetIncomeAmount>
    <clwt:OtherIncomeNetTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3463">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;strong&gt;Note 16 : Other income, net&lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Year ended December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2022&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Exchange gain / (loss), net&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;(66 &lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;(93 &lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Rental income&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;37&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;46&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;37&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Government subsidies &#x2013; Employment Support Scheme *&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;69&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;37&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;(20 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;13&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 39.25pt; text-align:justify;"&gt;* The amount represents salaries and wage subsidies granted under Anti-Epidemic Fund by the Government of the Hong Kong Special Administrative Region for the use of paying wages of employees from May to June 2022.&lt;/p&gt;</clwt:OtherIncomeNetTextBlock>
    <us-gaap:ScheduleOfOtherNonoperatingIncomeExpenseTableTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3575">&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Year ended December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2022&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Exchange gain / (loss), net&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;(66 &lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;(93 &lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Rental income&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;37&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;46&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;37&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Government subsidies &#x2013; Employment Support Scheme *&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;69&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;37&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;(20 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;13&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:ScheduleOfOtherNonoperatingIncomeExpenseTableTextBlock>
    <clwt:ExchangeGainLossNet
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5372"
      unitRef="USD">0</clwt:ExchangeGainLossNet>
    <clwt:ExchangeGainLossNet
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5373"
      unitRef="USD">-66000</clwt:ExchangeGainLossNet>
    <clwt:ExchangeGainLossNet
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5371"
      unitRef="USD">-93000</clwt:ExchangeGainLossNet>
    <us-gaap:RentalIncomeNonoperating
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5375"
      unitRef="USD">37000</us-gaap:RentalIncomeNonoperating>
    <us-gaap:RentalIncomeNonoperating
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5376"
      unitRef="USD">46000</us-gaap:RentalIncomeNonoperating>
    <us-gaap:RentalIncomeNonoperating
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5374"
      unitRef="USD">37000</us-gaap:RentalIncomeNonoperating>
    <clwt:GovernmentSubsidies
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5378"
      unitRef="USD">0</clwt:GovernmentSubsidies>
    <clwt:GovernmentSubsidies
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5379"
      unitRef="USD">0</clwt:GovernmentSubsidies>
    <clwt:GovernmentSubsidies
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5377"
      unitRef="USD">69000</clwt:GovernmentSubsidies>
    <clwt:OtherNonoperatingIncomeNet
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_5381"
      unitRef="USD">37000</clwt:OtherNonoperatingIncomeNet>
    <clwt:OtherNonoperatingIncomeNet
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_5382"
      unitRef="USD">-20000</clwt:OtherNonoperatingIncomeNet>
    <clwt:OtherNonoperatingIncomeNet
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_5380"
      unitRef="USD">13000</clwt:OtherNonoperatingIncomeNet>
    <us-gaap:IncomeTaxDisclosureTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3465">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;strong&gt;Note 17 : Income taxes&lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;No income tax arose in the United States of America by the Group for the years ended December 31, 2024, 2023 and 2022.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;The Company and Pact Asia Pacific Limited are exempt from taxation in the British Virgin Islands (&#x201c;BVI&#x201d;).&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;Far East provided for Hong Kong profits tax at a rate of 8.25% on assessable profits up to US$256,000; and 16.5% on any part of assessable profits over US$256,000 in year 2024 and 2023 (2022: 16.5%) on the basis of their income for financial reporting purposes, adjusting for income and expense items which are not assessable or deductible for profits tax purposes.&#160; &lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;Euro Tech Trading (Shanghai) Limited (&#x201c;ETTS&#x201d;), a subsidiary of Far East, provides for PRC Enterprise Income Tax (&#x201c;EIT&#x201d;) at a rate of 25% (2023 and 2022: 25%), after offsetting losses brought forward, if any, on the basis of its income for financial reporting purposes, adjusting for income and expense items which are not assessable or deductible for PRC Enterprise Income Tax purposes. As of December 31, 2024, ETTS had an assessable loss carried forward of US$19,000 as agreed by the local tax authority to offset its profit for the forth coming years (2023: US$51,000 and 2022: US$103,000). Such loss will expire in 5 years.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;Shanghai Euro Tech Limited (&#x201c;SET&#x201d;), a subsidiary of Far East, provides for PRC Enterprise Income Tax at a rate of 25% (2023 and 2022: 25%), after offsetting losses brought forward, if any, on the basis of its income for financial reporting purposes, adjusting for income and expense items which are not assessable or deductible for PRC Enterprise Income Tax purposes. &lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;Yixing Pact Environmental Technology Co. Ltd. (&#x201c;Yixing&#x201d;), a subsidiary of Far East, provides for PRC Enterprise Income Tax at a rate of 25% (2023 and 2022: 25%), after offsetting losses brought forward, if any, on the basis of its income for financial reporting purposes, adjusting for income and expense items which are not assessable or deductible for PRC Enterprise Income Tax purposes. As of December 31, 2024, Yixing had an assessable loss carried forward of US$1,235,000 as agreed by the local tax authority to offset its profit for the forth coming years (2023: US$1,330,000 and 2022: US$1,509,000). Such loss will expire in 5 years.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;Under the New Enterprise Income Tax Law and the implementation rules, profits of the PRC subsidiaries earned on or after January 1, 2008 and distributed by the PRC subsidiaries to foreign holding company are subject to a withholding tax at a rate of 10% unless reduced by tax treaty. Aggregate undistributed earnings of Far East&#x2019;s subsidiaries located in the PRC that are available for distribution to Far East of approximately US$0.6 million at December 31, 2024 (2023: US$0.6 million and 2022: US$0.6 million) are intended to be reinvested, and accordingly, no deferred taxation has been made for the PRC dividend withholding taxes that would be payable upon the distribution of those amounts to Far East. Distributions made out of pre January 1, 2008 retained earnings will not be subject to the withholding tax.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;The Company and its subsidiaries are based in Hong Kong and PRC and file Hong Kong profits tax return and PRC EIT return, respectively. The components of the (provision) / credit for income taxes (expense) / credit were as follows:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Year ended December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2022&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Current taxes (expense )&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Hong Kong profits tax and the PRC EIT&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(33 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(45 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Income tax expense&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;(33 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;(45 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Deferred tax (expenses) / credit&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Hong Kong and the PRC &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(39 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(24 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Total deferred tax (expenses) / credit&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;(39 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;(24 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Total (expense) / credit&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;(72 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;(45 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;(24 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;The items comprising the difference between income taxes computed at the Hong Kong profits tax and PRC EIT statutory tax rates in effect for 2024, 2023 and 2022 and our effective tax rates were as follows:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Year ended December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2022&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Income before income taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;519&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;1,695&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;563&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Computed tax using respective companies&#x2019; statutory tax rates&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;(100 &lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;78&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;131&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Change in valuation allowances&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;62&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;(79 &lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;58&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Non-deductible expenses&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(34 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(44 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(213 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Income tax (expense) / credit at effective tax rate&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;(72 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;(45 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;(24 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;The components of deferred tax assets / (liabilities) are as follows:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Tax losses &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;313&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;572&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Less: Valuation allowances&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(251 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(469 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Net deferred tax assets &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;62&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;103&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;Uncertain tax positions&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;As a result of the Group&#x2019;s analysis, management has determined that the Group does not have any material uncertain tax positions. &lt;/p&gt;</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="From2023-01-01to2023-12-31_clwt_HKMember"
      decimals="INF"
      id="fid_4492"
      unitRef="Pure">0.0825</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:ProfitLoss
      contextRef="From2024-01-01to2024-12-31_clwt_HKMember"
      decimals="0"
      id="fid_4491"
      unitRef="USD">256000</us-gaap:ProfitLoss>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="From2024-01-01to2024-12-31_clwt_HKMember"
      decimals="INF"
      id="fid_4490"
      unitRef="Pure">0.165</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:ProfitLoss
      contextRef="From2023-01-01to2023-12-31_clwt_HKMember"
      decimals="0"
      id="fid_4509"
      unitRef="USD">256000</us-gaap:ProfitLoss>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="From2022-01-01to2022-12-31_clwt_HKMember"
      decimals="INF"
      id="fid_4507"
      unitRef="Pure">0.165</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="From2024-01-01to2024-12-31_clwt_EuroTechTradingShanghaiLimitedMember"
      decimals="INF"
      id="fid_4510"
      unitRef="Pure">0.25</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="From2023-01-01to2023-12-31_clwt_EuroTechTradingShanghaiLimitedMember"
      decimals="INF"
      id="fid_4493"
      unitRef="Pure">0.25</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:ProfitLoss
      contextRef="From2024-01-01to2024-12-31_clwt_EuroTechTradingShanghaiLimitedMember"
      decimals="0"
      id="fid_4494"
      unitRef="USD">-19000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2023-01-01to2023-12-31_clwt_EuroTechTradingShanghaiLimitedMember"
      decimals="0"
      id="fid_4495"
      unitRef="USD">-51000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2022-01-01to2022-12-31_clwt_EuroTechTradingShanghaiLimitedMember"
      decimals="0"
      id="fid_4512"
      unitRef="USD">-103000</us-gaap:ProfitLoss>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="From2024-01-01to2024-12-31_clwt_ShanghaiEuroTechLimitedMember"
      decimals="INF"
      id="fid_4513"
      unitRef="Pure">0.25</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="From2023-01-01to2023-12-31_clwt_ShanghaiEuroTechLimitedMember"
      decimals="INF"
      id="fid_4496"
      unitRef="Pure">0.25</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="From2024-01-01to2024-12-31_clwt_YixingPactEnvironmentalTechnologyCoLtdMember"
      decimals="INF"
      id="fid_4520"
      unitRef="Pure">0.25</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="From2023-01-01to2023-12-31_clwt_YixingPactEnvironmentalTechnologyCoLtdMember"
      decimals="INF"
      id="fid_4501"
      unitRef="Pure">0.25</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:ProfitLoss
      contextRef="From2024-01-01to2024-12-31_clwt_YixingPactEnvironmentalTechnologyCoLtdMember"
      decimals="0"
      id="fid_4502"
      unitRef="USD">1235000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2023-01-01to2023-12-31_clwt_YixingPactEnvironmentalTechnologyCoLtdMember"
      decimals="0"
      id="fid_4503"
      unitRef="USD">1330000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2022-01-01to2022-12-31_clwt_YixingPactEnvironmentalTechnologyCoLtdMember"
      decimals="0"
      id="fid_4522"
      unitRef="USD">1509000</us-gaap:ProfitLoss>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="From2024-01-01to2024-12-31"
      decimals="INF"
      id="fid_7516"
      unitRef="Pure">0.10</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:UndistributedEarningsDiluted
      contextRef="From2024-01-01to2024-12-31"
      decimals="-5"
      id="fid_4504"
      unitRef="USD">600000</us-gaap:UndistributedEarningsDiluted>
    <us-gaap:UndistributedEarningsDiluted
      contextRef="From2023-01-01to2023-12-31"
      decimals="-5"
      id="fid_4505"
      unitRef="USD">600000</us-gaap:UndistributedEarningsDiluted>
    <us-gaap:UndistributedEarningsDiluted
      contextRef="From2022-01-01to2022-12-31"
      decimals="-5"
      id="fid_4524"
      unitRef="USD">600000</us-gaap:UndistributedEarningsDiluted>
    <us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3577">&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Year ended December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2022&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Current taxes (expense )&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Hong Kong profits tax and the PRC EIT&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(33 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(45 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Income tax expense&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;(33 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;(45 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Deferred tax (expenses) / credit&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Hong Kong and the PRC &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(39 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(24 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Total deferred tax (expenses) / credit&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;(39 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;(24 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Total (expense) / credit&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;(72 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;(45 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;(24 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock>
    <clwt:CurrentTaxExpensesPrcAndHongKong
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_6535"
      unitRef="USD">-33000</clwt:CurrentTaxExpensesPrcAndHongKong>
    <clwt:CurrentTaxExpensesPrcAndHongKong
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_6534"
      unitRef="USD">-45000</clwt:CurrentTaxExpensesPrcAndHongKong>
    <clwt:CurrentTaxExpensesPrcAndHongKong
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_6536"
      unitRef="USD">0</clwt:CurrentTaxExpensesPrcAndHongKong>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_6538"
      unitRef="USD">-33000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_6537"
      unitRef="USD">-45000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_6546"
      unitRef="USD">0</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <clwt:DeferredTaxBenefitPrcAndHongKong
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_6540"
      unitRef="USD">-39000</clwt:DeferredTaxBenefitPrcAndHongKong>
    <clwt:DeferredTaxBenefitPrcAndHongKong
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_6539"
      unitRef="USD">0</clwt:DeferredTaxBenefitPrcAndHongKong>
    <clwt:DeferredTaxBenefitPrcAndHongKong
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_6541"
      unitRef="USD">-24000</clwt:DeferredTaxBenefitPrcAndHongKong>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_6543"
      unitRef="USD">-39000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_6542"
      unitRef="USD">0</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_6547"
      unitRef="USD">-24000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2024-01-01to2024-12-31"
      decimals="-3"
      id="fid_6545"
      unitRef="USD">-72000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2023-01-01to2023-12-31"
      decimals="-3"
      id="fid_6544"
      unitRef="USD">-45000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2022-01-01to2022-12-31"
      decimals="-3"
      id="fid_6548"
      unitRef="USD">-24000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3579">&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Year ended December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2022&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Income before income taxes&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;519&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;1,695&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;563&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Computed tax using respective companies&#x2019; statutory tax rates&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;(100 &lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;78&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;131&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Change in valuation allowances&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;62&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;(79 &lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;58&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Non-deductible expenses&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(34 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(44 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(213 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Income tax (expense) / credit at effective tax rate&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;(72 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;(45 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;(24 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="From2024-01-01to2024-12-31_clwt_HongKongProfitTaxMember"
      decimals="-3"
      id="fid_6565"
      unitRef="USD">519000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="From2023-01-01to2023-12-31_clwt_HongKongProfitTaxMember"
      decimals="-3"
      id="fid_6564"
      unitRef="USD">1695000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="From2022-01-01to2022-12-31_clwt_HongKongProfitTaxMember"
      decimals="-3"
      id="fid_6577"
      unitRef="USD">563000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
      contextRef="From2024-01-01to2024-12-31_clwt_HongKongProfitTaxMember"
      decimals="-3"
      id="fid_6567"
      unitRef="USD">-100000</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
    <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
      contextRef="From2023-01-01to2023-12-31_clwt_HongKongProfitTaxMember"
      decimals="-3"
      id="fid_6566"
      unitRef="USD">78000</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
    <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
      contextRef="From2022-01-01to2022-12-31_clwt_HongKongProfitTaxMember"
      decimals="-3"
      id="fid_6578"
      unitRef="USD">131000</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
    <us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="From2024-01-01to2024-12-31_clwt_HongKongProfitTaxMember"
      decimals="-3"
      id="fid_6569"
      unitRef="USD">62000</us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="From2023-01-01to2023-12-31_clwt_HongKongProfitTaxMember"
      decimals="-3"
      id="fid_6568"
      unitRef="USD">-79000</us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="From2022-01-01to2022-12-31_clwt_HongKongProfitTaxMember"
      decimals="-3"
      id="fid_6570"
      unitRef="USD">58000</us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:IncomeTaxReconciliationNondeductibleExpense
      contextRef="From2024-01-01to2024-12-31_clwt_HongKongProfitTaxMember"
      decimals="-3"
      id="fid_6574"
      unitRef="USD">-34000</us-gaap:IncomeTaxReconciliationNondeductibleExpense>
    <us-gaap:IncomeTaxReconciliationNondeductibleExpense
      contextRef="From2023-01-01to2023-12-31_clwt_HongKongProfitTaxMember"
      decimals="-3"
      id="fid_6573"
      unitRef="USD">-44000</us-gaap:IncomeTaxReconciliationNondeductibleExpense>
    <us-gaap:IncomeTaxReconciliationNondeductibleExpense
      contextRef="From2022-01-01to2022-12-31_clwt_HongKongProfitTaxMember"
      decimals="-3"
      id="fid_6580"
      unitRef="USD">-213000</us-gaap:IncomeTaxReconciliationNondeductibleExpense>
    <clwt:IncomeTaxesCreditExpenseAtEffectiveTaxRate
      contextRef="From2024-01-01to2024-12-31_clwt_HongKongProfitTaxMember"
      decimals="-3"
      id="fid_6576"
      unitRef="USD">-72000</clwt:IncomeTaxesCreditExpenseAtEffectiveTaxRate>
    <clwt:IncomeTaxesCreditExpenseAtEffectiveTaxRate
      contextRef="From2023-01-01to2023-12-31_clwt_HongKongProfitTaxMember"
      decimals="-3"
      id="fid_6575"
      unitRef="USD">-45000</clwt:IncomeTaxesCreditExpenseAtEffectiveTaxRate>
    <clwt:IncomeTaxesCreditExpenseAtEffectiveTaxRate
      contextRef="From2022-01-01to2022-12-31_clwt_HongKongProfitTaxMember"
      decimals="-3"
      id="fid_6581"
      unitRef="USD">-24000</clwt:IncomeTaxesCreditExpenseAtEffectiveTaxRate>
    <us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3581">&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Tax losses &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;313&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;572&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Less: Valuation allowances&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(251 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(469 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Net deferred tax assets &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;62&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;103&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock>
    <clwt:DeferredTaxAssetTaxLosses
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_7199"
      unitRef="USD">313000</clwt:DeferredTaxAssetTaxLosses>
    <clwt:DeferredTaxAssetTaxLosses
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_6607"
      unitRef="USD">572000</clwt:DeferredTaxAssetTaxLosses>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_7201"
      unitRef="USD">251000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_6611"
      unitRef="USD">469000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <clwt:NetDeferredTaxAssetsLiabilities
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_7202"
      unitRef="USD">62000</clwt:NetDeferredTaxAssetsLiabilities>
    <clwt:NetDeferredTaxAssetsLiabilities
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_6613"
      unitRef="USD">103000</clwt:NetDeferredTaxAssetsLiabilities>
    <us-gaap:EarningsPerShareTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3467">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;strong&gt;Note 18 : Net income per ordinary share&lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;The calculation of the basic and diluted net income per ordinary share is based on the following data:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2022&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Number of shares&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Weighted average number of ordinary shares for the purposes of basic and diluted net income per share &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;7,716,993&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;7,726,118&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;7,732,132&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3583">&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2022&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Number of shares&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Weighted average number of ordinary shares for the purposes of basic and diluted net income per share &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;7,716,993&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;7,726,118&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;7,732,132&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock>
    <clwt:WeightedAverageNumberOfOrdinarySharesForThePurposesOfBasicAndDilutedNetIncomePerShare
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="fid_5384"
      unitRef="Shares">7716993</clwt:WeightedAverageNumberOfOrdinarySharesForThePurposesOfBasicAndDilutedNetIncomePerShare>
    <clwt:WeightedAverageNumberOfOrdinarySharesForThePurposesOfBasicAndDilutedNetIncomePerShare
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="fid_5385"
      unitRef="Shares">7726118</clwt:WeightedAverageNumberOfOrdinarySharesForThePurposesOfBasicAndDilutedNetIncomePerShare>
    <clwt:WeightedAverageNumberOfOrdinarySharesForThePurposesOfBasicAndDilutedNetIncomePerShare
      contextRef="From2022-01-01to2022-12-31"
      decimals="0"
      id="fid_5383"
      unitRef="Shares">7732132</clwt:WeightedAverageNumberOfOrdinarySharesForThePurposesOfBasicAndDilutedNetIncomePerShare>
    <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3468">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;strong&gt;Note 19 : Stock options&lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.45pt; text-align:justify;"&gt;&lt;strong&gt;2019 Stock Option and Incentive Plan&lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;In April 2019, the Board of Directors approved the adoption of the 2019 Stock Option and Incentive Plan (the &#x201c;Plan&#x201d;). The Plan was also subsequently approved under a resolution of the Company's shareholders. The Plan provides for the granting of up to 300,000 (500,000 after bonus shares adjustment) Ordinary Shares (the &#x201c;Share Limit&#x201d;), in the form of options to Officers, Directors and Key Employees who perform services which contribute to the successful performance of the Company and its subsidiaries. In addition, the Plan provides that, on the first day of each fiscal year commencing on January 1, 2020, the Share Limit shall automatically be increased by that number of shares equal to 5% of the number of Ordinary Shares outstanding as of such date. The Board of Directors or a committee (the &#x201c;Committee&#x201d;) appointed by the Board of Directors administers the Plan.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;Appropriate adjustment in the maximum number of Ordinary Shares issuable pursuant to this Plan, the maximum number of Ordinary Shares with respect to which options may be granted within any 12-month period to any participant during the duration of this Plan, the number of shares subject to options granted under this Plan, and the exercise price with respect to options, shall be made to give effect to any increase or decrease in the number of issued Ordinary Shares resulting from a subdivision or consolidation of shares whether through reorganization, recapitalization, division of shares, reverse share split, spin-off, split-off, spin-out, or other distribution of assets to shareholders, issue of bonus shares or combination of shares, assumption and conversion of outstanding options due to an acquisition by the Company of the shares, stock or assets of any other company or corporation, other increase or decrease in the number of such shares outstanding effected, without receipt of consideration by the Company, or any other occurrence for which the Committee determines an adjustment is appropriate.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;The purchase price per share of the Ordinary Shares to be paid upon the exercise of the option must be at least 100% of the fair market value of an Ordinary Shares on the date on which the option was granted. Under the Plan, if the Ordinary Shares are principally traded on a national securities exchange or the Nasdaq Global Market or Capital Market at the time of grant, the Company is required to use, at fair market value, the average of the closing prices of the Ordinary Shares for the ten consecutive trading days immediately before the date of grant. If the Ordinary Shares are traded on a national securities exchange or the Nasdaq Stock Global Market or Capital Market, but no closing prices are reported for such ten-day period, or if the Ordinary Shares are principally traded in the over-the-counter market, the Company is required to use, as fair market value, the average of the mean between the bid and asked prices reported for the Company&#x2019;s Ordinary Shares at the close of trading during such ten-day period before the date of grant. If the Ordinary Shares are traded neither on a national securities exchange, one of the Nasdaq&#x2019;s Markets nor in the over-the-counter market or if bid and asked prices are otherwise not available, the fair market value of the Ordinary Shares on the date of grant will be determined in good faith by the Committee or the Board of Directors, as the case may be.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;The Board of Directors or the Committee, as the case may be, determines, at the time of grant, when each option granted under the Plan will become exercisable. Notwithstanding the foregoing, all options held by a key employee of the Company or its subsidiaries become immediately exercisable, whether or not exercisable at the time, upon the death or disability, and shall be exercisable within twelve (12) months after the date of death or disability, but in no event later than the expiration date of such Options.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;No option is to be exercisable more than ten years from the date the option is granted.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;Payment of Exercise Price for Options. Under the Plans, payment for shares purchased upon exercise of an option may be made by any of the following methods, subject to certain requirements: (i) in cash, (ii) in Ordinary Shares which have been held by the participant for not less than six months prior to the exercise of the option, valued at its Fair Market Value (as defined) on the date of exercise, (iii) in cash by a broker-dealer to whom the holder of the option has submitted an exercise notice consisting of a fully endorsed option, or (iv) by such other medium of payment as the Board or the Committee, as applicable, in its sole discretion, shall authorize, or by any combination of (i), (ii), or (iii), at the sole discretion of the Board or the Committee, as applicable, or in any manner provided in the option agreement, except by directing the Company to withhold Ordinary Shares otherwise issuable upon the exercise of the Option in payment of the exercise price.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;Transfer of Options. Under the Plans, an option may not be sold, assigned or otherwise transferred except to:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;span style="font-family:symbol"&gt;&#xb7;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;the spouse or lineal descendant of a plan participant;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;span style="font-family:symbol"&gt;&#xb7;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;the trustee of a trust for the primary benefit of a plan participant&#x2019;s spouse or lineal descendant;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;span style="font-family:symbol"&gt;&#xb7;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;a partnership of which a plan participant and lineal descendants are the only partners; or&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;span style="font-family:symbol"&gt;&#xb7;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;a tax exempt organization.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;These assignments are only permitted if the assigning option holder does not receive any compensation in connection with the assignment and the assignment is expressly approved by the Board or Committee, as the case may be.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;The Company indemnifies the members of any Committee and its delegates and the Chief Executive Officer against (a) the reasonable expenses (as such expenses are incurred), including attorneys&#x2019; fees actually and necessarily incurred in connection with the defense of any action, suit or proceeding (or in connection with any appeal therein), to which they or any of them may be a party by reason of any action taken or failure to act under or in connection with the Plan, or any option granted under the Plan; and (b) all amounts paid by them in settlement thereof (provided such settlement is approved by independent legal counsel selected by the Company) or paid by them in satisfaction of a judgment in any such action, suit or proceeding, except in relation to matters as to which it shall be adjudged in such action, suit or proceeding that such Committee member or delegatee, as applicable, is liable for gross negligence or gross misconduct in the performance of his or her duties; provided that within 60 days after institution of any such action, suit or proceeding a Committee member or delegatee shall in writing offer the Company the opportunity, at its own expense, to handle and defend the same.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;The Board may terminate, suspend, or amend the Plan at any time without the authorization of shareholders to the extent allowed by law or the rules of any market on which the Company&#x2019;s shares are then listed or quoted.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;During the year ended December 31, 2022, the Company granted such options to its officers, directors and employees, which allow them to purchase up to 80,000 ordinary shares. The exercise price of all options granted is US$2.80 per share. The stock options granted are exercisable on April 1, 2024 and terminate on April 18, 2029.&#160; The Company has estimated the fair value of the options granted under the Binomial pricing model at US$1.3055 per share. &lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;During the year ended December 31, 2022, 41,250 options were cancelled that became non-exercisable when those related employees left from the Company. &lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;During the year ended December 31, 2023 and 2024, the Company did not grant any options to its officers, directors and employees.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;Changes in outstanding options under various plans mentioned above were as follows:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="22" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Year ended December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2022&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Number&lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;of&lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;options&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Weighted&lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;average&lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;exercise&lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;price&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Number&lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;of&lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;options&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Weighted&lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;average&lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;exercise&lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;price&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Number&lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;of&lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;options&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Weighted&lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;average&lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;exercise&lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;price&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:6%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:6%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:6%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:6%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:6%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:6%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:6%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:6%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:6%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Outstanding, beginning of year&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"&gt;206,250&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"&gt;1.52&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"&gt;206,250&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"&gt;1.52&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"&gt;85,000&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"&gt;1.56&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Granted&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"&gt;80,000&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"&gt;2.80&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Cancelled&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"&gt;(41,250 &lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"&gt;(1.04 &lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Bonus shares adjustment&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"&gt;82,500&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"&gt;(0.72 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Outstanding, end of year&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"&gt;206,250&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"&gt;1.52&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"&gt;206,250&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"&gt;1.52&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"&gt;206,250&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"&gt;1.52&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:6%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:6%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:6%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:6%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:6%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:6%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Exercisable, end of year&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"&gt;206,250&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"&gt;1.52&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"&gt;86,250&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"&gt;1.04&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"&gt;86,250&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"&gt;1.04&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;As of December 31, 2024 and 2023, there was no unrecognized stock-based compensation expense related to unvested stock options. The compensation expense for the year is approximately US$12,000 (2023: US$47,000 and 2022: US$45,000).&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;The Group applies the provisions of ASC 718-10, which requires to recognise expense related to the fair value of stock-based compensation awards, including employee stock options.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;The Binomial option-pricing model is used to estimate the fair value of the options granted. This requires the input of subjective assumptions, including the expected volatility of stock price, expected option term, expected risk-free rate over the expected option term and expected dividend yield rate over the expected option term. Because changes in subjective input assumptions can materially affect the fair value estimate, in directors&#x2019; opinion, the existing model may not necessarily provide a realisable measure of the fair value of the stock options. Expected volatility is based on historical volatility in the 180 days prior to the issue of the options. Expected option term and dividend yield rate are based on historical trends. Expected risk-free rate is based on US Treasury securities with similar maturities as the expected terms of the options at the date of grant.&lt;/p&gt;</us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
      contextRef="From2019-04-01to2019-04-30_clwt_TwoThousandTwentyNineStockOptionAndIncentivePlanMember"
      decimals="0"
      id="fid_5432"
      unitRef="Shares">300000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="From2019-04-01to2019-04-30_clwt_TwoThousandTwentyNineStockOptionAndIncentivePlanMember"
      decimals="0"
      id="fid_5426"
      unitRef="Shares">500000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum
      contextRef="From2019-04-01to2019-04-30_clwt_TwoThousandTwentyNineStockOptionAndIncentivePlanMember"
      decimals="INF"
      id="fid_5433"
      unitRef="Pure">0.05</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardPercentageOfOutstandingStockMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsDiscountForPostvestingRestrictions
      contextRef="From2019-04-01to2019-04-30_clwt_TwoThousandTwentyNineStockOptionAndIncentivePlanMember"
      decimals="INF"
      id="fid_5425"
      unitRef="Pure">1</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsDiscountForPostvestingRestrictions>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="From2022-01-01to2022-12-31_clwt_TwoThousandTwentyNineStockOptionAndIncentivePlanMember"
      decimals="0"
      id="fid_5427"
      unitRef="Shares">80000</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="From2022-01-01to2022-12-31_clwt_TwoThousandTwentyNineStockOptionAndIncentivePlanMember"
      decimals="INF"
      id="fid_5434"
      unitRef="USDPShares">2.80</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue
      contextRef="From2022-01-01to2022-12-31_clwt_TwoThousandTwentyNineStockOptionAndIncentivePlanMember"
      decimals="INF"
      id="fid_5428"
      unitRef="USDPShares">1.30</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
      contextRef="From2022-01-01to2022-12-31_clwt_TwoThousandTwentyNineStockOptionAndIncentivePlanMember"
      decimals="0"
      id="fid_5424"
      unitRef="Shares">41250</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod>
    <us-gaap:ScheduleOfShareBasedCompensationStockOptionsAndStockAppreciationRightsAwardActivityTableTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3584">&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="22" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Year ended December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2022&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Number&lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;of&lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;options&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Weighted&lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;average&lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;exercise&lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;price&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Number&lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;of&lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;options&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Weighted&lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;average&lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;exercise&lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;price&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Number&lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;of&lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;options&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Weighted&lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;average&lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;exercise&lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;price&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:6%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:6%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:6%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:6%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:6%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:6%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:6%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:6%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:6%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Outstanding, beginning of year&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"&gt;206,250&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"&gt;1.52&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"&gt;206,250&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"&gt;1.52&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"&gt;85,000&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"&gt;1.56&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Granted&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"&gt;80,000&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"&gt;2.80&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Cancelled&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"&gt;(41,250 &lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"&gt;(1.04 &lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Bonus shares adjustment&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"&gt;82,500&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"&gt;(0.72 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Outstanding, end of year&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"&gt;206,250&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"&gt;1.52&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"&gt;206,250&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"&gt;1.52&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"&gt;206,250&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"&gt;1.52&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:6%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:6%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:6%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:6%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:6%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:6%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Exercisable, end of year&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"&gt;206,250&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"&gt;1.52&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"&gt;86,250&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"&gt;1.04&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"&gt;86,250&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"&gt;1.04&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:ScheduleOfShareBasedCompensationStockOptionsAndStockAppreciationRightsAwardActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="AsOf2023-12-31_us-gaap_StockOptionMember"
      decimals="0"
      id="fid_5387"
      unitRef="Shares">206250</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="AsOf2023-12-31_us-gaap_StockOptionMember"
      decimals="INF"
      id="fid_5398"
      unitRef="USDPShares">1.52</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="AsOf2022-12-31_us-gaap_StockOptionMember"
      decimals="0"
      id="fid_5388"
      unitRef="Shares">206250</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="AsOf2022-12-31_us-gaap_StockOptionMember"
      decimals="INF"
      id="fid_5397"
      unitRef="USDPShares">1.52</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="AsOf2021-12-31_us-gaap_StockOptionMember"
      decimals="0"
      id="fid_5389"
      unitRef="Shares">85000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="AsOf2021-12-31_us-gaap_StockOptionMember"
      decimals="INF"
      id="fid_5399"
      unitRef="USDPShares">1.56</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="From2024-01-01to2024-12-31_us-gaap_StockOptionMember"
      decimals="INF"
      id="fid_5401"
      unitRef="USDPShares">0</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="From2023-01-01to2023-12-31_us-gaap_StockOptionMember"
      decimals="INF"
      id="fid_5402"
      unitRef="USDPShares">0</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
      contextRef="From2022-01-01to2022-12-31_us-gaap_StockOptionMember"
      decimals="0"
      id="fid_5390"
      unitRef="Shares">80000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="From2022-01-01to2022-12-31_us-gaap_StockOptionMember"
      decimals="INF"
      id="fid_5400"
      unitRef="USDPShares">2.80</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
      contextRef="From2024-01-01to2024-12-31_us-gaap_StockOptionMember"
      decimals="INF"
      id="fid_5404"
      unitRef="USDPShares">0</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
      contextRef="From2023-01-01to2023-12-31_us-gaap_StockOptionMember"
      decimals="INF"
      id="fid_5405"
      unitRef="USDPShares">0</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod
      contextRef="From2022-01-01to2022-12-31_us-gaap_StockOptionMember"
      decimals="0"
      id="fid_5391"
      unitRef="Shares">41250</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice
      contextRef="From2022-01-01to2022-12-31_us-gaap_StockOptionMember"
      decimals="INF"
      id="fid_5403"
      unitRef="USDPShares">1.04</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice>
    <us-gaap:BasicEarningsPerShareAdjustmentProForma
      contextRef="From2024-01-01to2024-12-31_us-gaap_StockOptionMember"
      decimals="INF"
      id="fid_5407"
      unitRef="USDPShares">0</us-gaap:BasicEarningsPerShareAdjustmentProForma>
    <us-gaap:BasicEarningsPerShareAdjustmentProForma
      contextRef="From2023-01-01to2023-12-31_us-gaap_StockOptionMember"
      decimals="INF"
      id="fid_5408"
      unitRef="USDPShares">0</us-gaap:BasicEarningsPerShareAdjustmentProForma>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="From2022-01-01to2022-12-31_us-gaap_StockOptionMember"
      decimals="0"
      id="fid_5392"
      unitRef="Shares">82500</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:BasicEarningsPerShareAdjustmentProForma
      contextRef="From2022-01-01to2022-12-31_us-gaap_StockOptionMember"
      decimals="INF"
      id="fid_5406"
      unitRef="USDPShares">-0.72</us-gaap:BasicEarningsPerShareAdjustmentProForma>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="AsOf2024-12-31_us-gaap_StockOptionMember"
      decimals="0"
      id="fid_5394"
      unitRef="Shares">206250</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="AsOf2024-12-31_us-gaap_StockOptionMember"
      decimals="INF"
      id="fid_5409"
      unitRef="USDPShares">1.52</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="AsOf2023-12-31_us-gaap_StockOptionMember"
      decimals="0"
      id="fid_5395"
      unitRef="Shares">206250</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="AsOf2023-12-31_us-gaap_StockOptionMember"
      decimals="INF"
      id="fid_5410"
      unitRef="USDPShares">1.52</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="AsOf2022-12-31_us-gaap_StockOptionMember"
      decimals="0"
      id="fid_5418"
      unitRef="Shares">206250</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="AsOf2022-12-31_us-gaap_StockOptionMember"
      decimals="INF"
      id="fid_5423"
      unitRef="USDPShares">1.52</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="AsOf2024-12-31_us-gaap_StockOptionMember"
      decimals="0"
      id="fid_5421"
      unitRef="Shares">206250</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="AsOf2024-12-31_us-gaap_StockOptionMember"
      decimals="INF"
      id="fid_5411"
      unitRef="USDPShares">1.52</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="AsOf2023-12-31_us-gaap_StockOptionMember"
      decimals="0"
      id="fid_5419"
      unitRef="Shares">86250</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="AsOf2023-12-31_us-gaap_StockOptionMember"
      decimals="INF"
      id="fid_5412"
      unitRef="USDPShares">1.04</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="AsOf2022-12-31_us-gaap_StockOptionMember"
      decimals="0"
      id="fid_5420"
      unitRef="Shares">86250</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="AsOf2022-12-31_us-gaap_StockOptionMember"
      decimals="INF"
      id="fid_5422"
      unitRef="USDPShares">1.04</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensation
      contextRef="From2024-01-01to2024-12-31_clwt_TwoThousandTwentyNineStockOptionAndIncentivePlanMember"
      decimals="0"
      id="fid_7228"
      unitRef="USD">12000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="From2023-01-01to2023-12-31_clwt_TwoThousandTwentyNineStockOptionAndIncentivePlanMember"
      decimals="0"
      id="fid_5431"
      unitRef="USD">47000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="From2022-01-01to2022-12-31_clwt_TwoThousandTwentyNineStockOptionAndIncentivePlanMember"
      decimals="0"
      id="fid_5429"
      unitRef="USD">45000</us-gaap:ShareBasedCompensation>
    <us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3469">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;strong&gt;Note 20 : Pension plan&lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;Prior to December 1, 2000, Far East had only one defined contribution pension plan for all its Hong Kong employees. Under this plan, all employees were entitled to pension benefits equal to their own contributions plus 50% to 100% of individual fund account balances contributed by Far East, depending on their years of service with Far East. Far East was required to make specific contributions at approximately 10% of the basic salaries of the employees to an independent fund management company.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;With the introduction of the Mandatory Provident Fund Scheme (&#x201c;MPF scheme&#x201d;), a defined contribution scheme managed by an independent trustee on December 1, 2000, Far East and its employees who joined Far East subsequently make monthly contributions to the scheme at 5% of the employee&#x2019;s cash income as defined under the Mandatory Provident Fund Schemes Ordinance.&#160; Under the MPF scheme, the employer and its employees are each required to make contributions to the plan at 5% of the employees' relevant income, subject to a cap of monthly relevant income of HK$30,000. Contributions to the plan vest immediately.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;During the years ended December 31, 2024, 2023 and 2022, the aggregate contributions of the Group to the aforementioned pension plans and retirement benefit schemes were approximately US$191,000, US$192,000 and US$302,000, respectively.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;As stipulated by the rules and regulations in the PRC, the PRC&#x2019;s subsidiaries contributes to state-sponsored retirement plans for its employees in Mainland China. PRC&#x2019;s subsidiaries&#x2019; contribution approximately 16% of the basic salaries of its employees, and have no further obligations for the actual payment of pension or post-retirement benefits beyond the annual contributions. The state-sponsored retirement plans are responsible for the entire pension obligations payable to retired employees.&lt;/p&gt;</us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock>
    <clwt:EmployeesPensionPlanDescription contextRef="From2024-01-01to2024-12-31" id="fid_7204">all employees were entitled to pension benefits equal to their own contributions plus 50% to 100% of individual fund account balances contributed by Far East, depending on their years of service with Far East. Far East was required to make specific contributions at approximately 10% of the basic salaries of the employees to an independent fund management company</clwt:EmployeesPensionPlanDescription>
    <us-gaap:PensionContributions
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="fid_6326"
      unitRef="USD">191000</us-gaap:PensionContributions>
    <us-gaap:PensionContributions
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="fid_6324"
      unitRef="USD">192000</us-gaap:PensionContributions>
    <us-gaap:PensionContributions
      contextRef="From2022-01-01to2022-12-31"
      decimals="0"
      id="fid_6325"
      unitRef="USD">302000</us-gaap:PensionContributions>
    <clwt:PensionSchemeBasicSalaryPercentage
      contextRef="From2024-01-01to2024-12-31"
      decimals="INF"
      id="fid_7205"
      unitRef="Pure">0.16</clwt:PensionSchemeBasicSalaryPercentage>
    <us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3471">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;strong&gt;Note 21 : Risk factors&lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;Financial risk factors&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;The Group&#x2019;s activities expose it to a variety of financial risks: credit risk and foreign exchange rate risk.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;(i)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Credit risk&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;The Group has no significant concentration of credit risk, cash in banks in Hong Kong and PRC is insured with limit of approximately US$102,000 and US$70,000, respectively per bank per each depositor. Uninsured cash in banks and restricted cash balances in Hong Kong and PRC are of approximately US$5,251,000 (2023: US$6,039,000). Cash transactions are limited to high credit quality banks.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;(ii)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Foreign exchange rate risk&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;The Group operates in Hong Kong, the PRC and trades with both local and overseas customers and suppliers, and is exposed to foreign exchange rate risk arising from various currency exposures, primarily with respect to purchases in Hong Kong dollars, Renminbi and Euros. Foreign exchange risk arises from committed and unmatched future commercial transactions, such as confirmed import purchase orders and sales orders, recognized assets and liabilities, and net investment in the PRC operations.&lt;/p&gt;</us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock>
    <us-gaap:ConcentrationRiskCreditRiskFinancialInstrumentMaximumExposure
      contextRef="From2024-01-01to2024-12-31_clwt_HongKongAndPRCMember"
      decimals="0"
      id="fid_7206"
      unitRef="USD">102000</us-gaap:ConcentrationRiskCreditRiskFinancialInstrumentMaximumExposure>
    <us-gaap:ConcentrationRiskCreditRiskFinancialInstrumentMaximumExposure
      contextRef="From2023-01-01to2023-12-31_clwt_HongKongAndPRCMember"
      decimals="0"
      id="fid_6827"
      unitRef="USD">70000</us-gaap:ConcentrationRiskCreditRiskFinancialInstrumentMaximumExposure>
    <us-gaap:RestrictedCash
      contextRef="AsOf2024-12-31_clwt_HongKongAndPRCMember"
      decimals="0"
      id="fid_7207"
      unitRef="USD">251000</us-gaap:RestrictedCash>
    <us-gaap:RestrictedCash
      contextRef="AsOf2023-12-31_clwt_HongKongAndPRCMember"
      decimals="0"
      id="fid_6828"
      unitRef="USD">6039000</us-gaap:RestrictedCash>
    <us-gaap:UnusualRisksAndUncertaintiesTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3473">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;strong&gt;Note 22 : Risk and uncertainty&lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;"&gt;(i)&#160;Property title in the PRC&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.2pt; text-align:justify;"&gt;The Group, through its subsidiary, Far East received total rental income of US$31,000 in 2024 on a property in Beijing, China pursuant to relevant lease agreement from 2022 to 2024.The latest lease agreement relating to such property has expired in November 2024. The Group made payment for the purchase of such property, but has not successfully obtained Certificate of Real Estate Ownership or title of such property from the PRC authority. The property&#x2019;s book value as at December 31, 2024 was approximately US$76,000. Far East has made an effort to request the developer of the property to assist with obtaining the title, but those efforts have failed. Far East is still investigating various ways to obtain the title but has not formulated a specific plan as of the date of this Annual Report.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.2pt; text-align:justify;"&gt;In connection with the above, if the property is to be disposed, it is likely that Far East&#x2019;s title to the property will be challenged, and in such case the Group will need to incur additional costs and expenses to confirm and defend its title to the property and the rental income it has collected. There is no assurance that Far East will succeed in its efforts to obtain the title to the property and the rental income it has collected. Far East&#x2019;s failure in this regard could have material adverse effect on the Group&#x2019;s financial position, results of operations, and cash flow.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;"&gt;(ii)&#160;Non-controlling interest Put Option&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.2pt; text-align:justify;"&gt;The Group granted the non-controlling interest of Yixing Pact Environmental Technology Co., Ltd. and Pact Asia Pacific Limited a put option, which is effective from 2009, requiring the Group to acquire part or all remaining shares of these two companies at a purchase price per share calculated by 5.2 times of their average net income for the three prior fiscal years divided by total number of shares outstanding at the time of exercise of such option. Such put option did not have an expiry date.&#160; The management of the Group has conducted an assessment of the fair value of the put option and determined it to be immaterial. The fair value assessment of the put option involves significant judgment and estimation, the management's reliance on internal expertise for the fair value assessment may introduce inherent uncertainties and potential for subjectivity.&lt;/p&gt;</us-gaap:UnusualRisksAndUncertaintiesTextBlock>
    <clwt:RentalIncome
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="fid_7518"
      unitRef="USD">31000</clwt:RentalIncome>
    <us-gaap:PropertyPlantAndEquipmentFairValueDisclosure
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="fid_7208"
      unitRef="USD">76000</us-gaap:PropertyPlantAndEquipmentFairValueDisclosure>
    <us-gaap:RelatedPartyTransactionsDisclosureTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3474">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;strong&gt;Note 23 : Related party transactions&lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;"&gt;Other than compensation to directors and stock options available to the directors, there were no transactions with other related parties in the years 2024, 2023 and 2022.&lt;/p&gt;</us-gaap:RelatedPartyTransactionsDisclosureTextBlock>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3476">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;strong&gt;Note 24 : Commitments and contingencies &lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;"&gt;(i)&#160;Banking facilities&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;"&gt;As at December 31, 2024 and 2023, the Group had various banking facilities available for overdraft and import and export credits from which the Group can draw up to approximately US$897,000 and US$897,000 respectively, of which approximately US$183,000 and US$355,000 were utilised for issuance of bank guarantees as security for the performance of various contracts with customers and import loans. The various banking facilities are secured by a bank deposit of approximately US$897,000 and various blanket counter indemnities and counter indemnities. The Group undertakes to maintain its tangible net worth not at any time less than approximately US$3,846,000 and was in compliance with the covenant. The weighted average interest rate for import loans as at December 31, 2024 was 7.12% per annum (2023: 7.02% per annum). For the years ended December 31, 2024 and 2023, the average dollar amount of the bank borrowings was approximately US$154,000 and US$293,000, respectively and average interest rates were approximately 7.12% and 7.02% per annum respectively for the years ended December 31, 2024 and 2023.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;"&gt;(ii)&#160;Non-controlling interest put option&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;"&gt;The Group granted the non-controlling interest of Yixing Pact Environmental Technology Co., Ltd. and Pact Asia Pacific Limited a put option, which is effective from 2009, requiring the Group to acquire part or all remaining shares of these two companies at a purchase price per share calculated by 5.2 times of their average net income for the three prior fiscal years divided by total number of shares outstanding at the time of exercise of such option. Such put option did not have an expiry date. &#160;Based on the analysis under ASC 820 &#x201c; Fair Value Measurement&#x201d; , Level 3 inputs: unobservable inputs that are supported by little or no market ability, management of the Group has conducted an assessment of the fair value of the put option, refer below. The fair value assessment of the put option involves significant judgment and estimation, the management's reliance on internal expertise for the fair value assessment may introduce inherent uncertainties and potential for subjectivity.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;"&gt;The valuation technique used to determine the fair value of the put option was the Options Pricing Model (OPM).&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;"&gt;The following inputs and assumptions were used in determining the fair value of the put options:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:justify;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Median price to earnings ratio of similar companies of 23,965 (Range 4,7288 to 36,7237)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Median discount for lack of marketability 15.7% (Range 8.4% to 28.7%)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Mean Annualized volatility of return of the underlying share for similar companies of 102.39% (Range 36.025 to 349.944)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;The average life of a company is around 21 years according to research (&lt;span style="text-decoration:underline"&gt;www.statista.com/statistics/1259275/average-company-lifespan&lt;/span&gt;) thus an assumption on the life of the options was set as 20 years.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;A dividend yield rate of 0% was used&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;For Yixing Pact Environmental Technology Co. Ltd, the China risk-free rate of 2.698% was used based on a tenor of 20 years (source- Bloomberg)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;For Pact Asia Pacific Limited, the USD risk-free rate of 3.954% was used based on a tenor of 20 years (source- Bloomberg)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160; &lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 36.15pt; text-align:justify;"&gt;The resultant strike price of the options was valued at $0 per share and the fair value of the options was valued at $0 as at 31 December 2024.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 36.15pt; text-align:justify;"&gt;The following is a roll-forward of the redeemable non-controlling interest:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 36.15pt; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Fair value of put options &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Balance, December 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;0&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Net income (loss)&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;0&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Foreign currency translation&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;0&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Balance, December 31, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;0&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;"&gt;(iii)&#160;Insurance&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;"&gt;The Group carries insurance policies to cover various risks, primarily general liability, automobile liability, workers&#x2019; compensation and employee medical expenses under which we are liable to reimburse the insurance company for a portion of each claim paid.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;"&gt;(iv)&#160;Purchase commitments&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;"&gt;To manage the risk of changes in material prices and subcontracting costs used in tendering bids for engineering contracts, most of the time, the Group obtains firm quotations from suppliers and subcontractors before submitting a bid. These quotations do not include any quantity guarantees. As soon as the Group is advised that its bid is successful, the Group enters into firm contracts with most of its materials suppliers and sub-contractors, thereby mitigating the risk of future price variations affecting the contract costs.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;"&gt;(v)&#160;Litigations&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;"&gt;The Group is now and may in the future be involved as a party to various legal proceedings that are incidental to the ordinary course of business. Management, after consultation with legal counsel, does not believe that the outcome of these actions will have a material impact on the consolidated financial statements of the Group. There are no significant unresolved legal issues as of December 31, 2024 and 2023.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;"&gt;(vi)&#160;Contingencies&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;"&gt;The Group accounts for loss contingencies in accordance with ASC 450 and other related guidelines. As of December 31, 2024 and 2023, the Group&#x2019;s management is of the opinion that there are no commitments and contingencies to account for.&lt;/p&gt;</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="fid_5285"
      unitRef="USD">897000</us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="fid_5279"
      unitRef="USD">897000</us-gaap:LineOfCreditFacilityCurrentBorrowingCapacity>
    <clwt:UtilisedForIssuanceOfBankGuarantees
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="fid_5284"
      unitRef="USD">183000</clwt:UtilisedForIssuanceOfBankGuarantees>
    <clwt:UtilisedForIssuanceOfBankGuarantees
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="fid_5281"
      unitRef="USD">355000</clwt:UtilisedForIssuanceOfBankGuarantees>
    <us-gaap:SecurityDeposit
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="fid_5286"
      unitRef="USD">897000</us-gaap:SecurityDeposit>
    <clwt:TangibleNetWorth
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="fid_7226"
      unitRef="USD">3846000</clwt:TangibleNetWorth>
    <us-gaap:DebtWeightedAverageInterestRate
      contextRef="AsOf2024-12-31"
      decimals="INF"
      id="fid_5287"
      unitRef="Pure">0.0712</us-gaap:DebtWeightedAverageInterestRate>
    <us-gaap:DebtWeightedAverageInterestRate
      contextRef="AsOf2023-12-31"
      decimals="INF"
      id="fid_5280"
      unitRef="Pure">0.0702</us-gaap:DebtWeightedAverageInterestRate>
    <us-gaap:LoansAssumed1
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="fid_5288"
      unitRef="USD">154000</us-gaap:LoansAssumed1>
    <us-gaap:LoansAssumed1
      contextRef="From2023-01-01to2023-12-31"
      decimals="0"
      id="fid_5283"
      unitRef="USD">293000</us-gaap:LoansAssumed1>
    <us-gaap:ShortTermDebtInterestRateIncrease
      contextRef="From2024-01-01to2024-12-31"
      decimals="INF"
      id="fid_5289"
      unitRef="Pure">0.0712</us-gaap:ShortTermDebtInterestRateIncrease>
    <us-gaap:ShortTermDebtInterestRateIncrease
      contextRef="From2023-01-01to2023-12-31"
      decimals="INF"
      id="fid_5290"
      unitRef="Pure">0.0702</us-gaap:ShortTermDebtInterestRateIncrease>
    <clwt:EarningsRatioMediumPriceDescription contextRef="From2024-01-01to2024-12-31" id="fid_7215">Median price to earnings ratio of similar companies of 23,965 (Range 4,7288 to 36,7237)</clwt:EarningsRatioMediumPriceDescription>
    <clwt:MediumDiscountForLackOfMarketability
      contextRef="From2024-01-01to2024-12-31"
      decimals="INF"
      id="fid_7214"
      unitRef="Pure">0.157</clwt:MediumDiscountForLackOfMarketability>
    <clwt:VolatilityRateForCompanies
      contextRef="From2024-01-01to2024-12-31"
      decimals="INF"
      id="fid_7216"
      unitRef="Pure">1.0239</clwt:VolatilityRateForCompanies>
    <clwt:AverageUsefulLifeOfACompany contextRef="From2024-01-01to2024-12-31" id="fid_7217">P21Y</clwt:AverageUsefulLifeOfACompany>
    <clwt:OptionsEstimatedUsefulLife contextRef="From2024-01-01to2024-12-31" id="fid_7218">P20Y</clwt:OptionsEstimatedUsefulLife>
    <clwt:DividendYieldRate
      contextRef="From2024-01-01to2024-12-31"
      decimals="INF"
      id="fid_7219"
      unitRef="Pure">0</clwt:DividendYieldRate>
    <clwt:RiskFreeRateForCompany
      contextRef="AsOf2024-12-31"
      decimals="INF"
      id="fid_7225"
      unitRef="Pure">0.0269</clwt:RiskFreeRateForCompany>
    <clwt:IntermediateLifePlantsUsefulLifes contextRef="From2024-01-01to2024-12-31" id="fid_7224">P20Y</clwt:IntermediateLifePlantsUsefulLifes>
    <clwt:RiskFreeRateForCompany
      contextRef="AsOf2024-12-31_clwt_PactAsiaPacificLimitedMember"
      decimals="INF"
      id="fid_7220"
      unitRef="Pure">0.0395</clwt:RiskFreeRateForCompany>
    <clwt:IntermediateLifePlantsUsefulLifes
      contextRef="From2024-01-01to2024-12-31_clwt_PactAsiaPacificLimitedMember"
      id="fid_7221">P20Y</clwt:IntermediateLifePlantsUsefulLifes>
    <clwt:OptionsStrikePrice
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="fid_7222"
      unitRef="USD">0</clwt:OptionsStrikePrice>
    <clwt:FairValueOfOptions
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="fid_7223"
      unitRef="USD">0</clwt:FairValueOfOptions>
    <us-gaap:RedeemableNoncontrollingInterestTableTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_7032">&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Fair value of put options &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;US$&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Balance, December 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;0&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Net income (loss)&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;0&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Foreign currency translation&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;0&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Balance, December 31, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;0&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:RedeemableNoncontrollingInterestTableTextBlock>
    <clwt:FairValueOfPutOptions
      contextRef="AsOf2023-12-31"
      decimals="0"
      id="fid_7019"
      unitRef="USD">0</clwt:FairValueOfPutOptions>
    <clwt:NetIncomeLossToPutOptions
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="fid_7018"
      unitRef="USD">0</clwt:NetIncomeLossToPutOptions>
    <clwt:ForeignCurrencyTranslation
      contextRef="From2024-01-01to2024-12-31"
      decimals="0"
      id="fid_7213"
      unitRef="USD">0</clwt:ForeignCurrencyTranslation>
    <clwt:FairValueOfPutOptions
      contextRef="AsOf2024-12-31"
      decimals="0"
      id="fid_7043"
      unitRef="USD">0</clwt:FairValueOfPutOptions>
    <us-gaap:SubsequentEventsTextBlock contextRef="From2024-01-01to2024-12-31" id="fid_3479">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;strong&gt;Note 25: Subsequent event &lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;On February 20, 2025, the Company approved a share repurchase program to repurchase up to 350,000 ordinary shares, for an aggregate purchase price of not more than US$500,000 over a period of one year. &lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;On March 3, 2025, Euro Tech Global Pte. Limited, a Singapore company was incorporated as a wholly-owned subsidiary of the Company.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;In accordance with ASC 855, &#x201c;&lt;em&gt;Subsequent Events&lt;/em&gt;&#x201d;, which establishes general standards of accounting for and disclosure of events that occur after the balance sheet date but before consolidated financial statements are issued, the Company evaluated all events and transactions that occurred after December 31, 2024, up through the date the Company issued the audited consolidated financial statements. Other than the event disclosed above, there was no other subsequent events occurred that would require recognition or disclosure in the Company&#x2019;s audited consolidated financial statements.&lt;/p&gt;</us-gaap:SubsequentEventsTextBlock>
    <us-gaap:StockRepurchasedDuringPeriodShares
      contextRef="From2025-02-01to2025-02-20_us-gaap_SubsequentEventMember"
      decimals="0"
      id="fid_7238"
      unitRef="Shares">350000</us-gaap:StockRepurchasedDuringPeriodShares>
    <us-gaap:RepurchaseAgreementsInterestExpenseAmount
      contextRef="From2025-02-01to2025-02-20_us-gaap_SubsequentEventMember"
      decimals="0"
      id="fid_7237"
      unitRef="USD">500000</us-gaap:RepurchaseAgreementsInterestExpenseAmount>
    <us-gaap:Cash
      contextRef="AsOf2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_5938"
      unitRef="CNY">73731000</us-gaap:Cash>
    <us-gaap:Cash
      contextRef="AsOf2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_5937"
      unitRef="CNY">135988000</us-gaap:Cash>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_5940"
      unitRef="CNY">135056000</us-gaap:AccountsReceivableNet>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_5939"
      unitRef="CNY">128235000</us-gaap:AccountsReceivableNet>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="AsOf2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_5942"
      unitRef="CNY">30788000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="AsOf2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_5941"
      unitRef="CNY">23741000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:ContractWithCustomerAssetNet
      contextRef="AsOf2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_5944"
      unitRef="CNY">66644000</us-gaap:ContractWithCustomerAssetNet>
    <us-gaap:ContractWithCustomerAssetNet
      contextRef="AsOf2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_5943"
      unitRef="CNY">72880000</us-gaap:ContractWithCustomerAssetNet>
    <us-gaap:Investments
      contextRef="AsOf2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_5946"
      unitRef="CNY">4708000</us-gaap:Investments>
    <us-gaap:Investments
      contextRef="AsOf2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_5945"
      unitRef="CNY">4469000</us-gaap:Investments>
    <us-gaap:ShortTermInvestments
      contextRef="AsOf2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_5948"
      unitRef="CNY">53292000</us-gaap:ShortTermInvestments>
    <us-gaap:ShortTermInvestments
      contextRef="AsOf2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_5947"
      unitRef="CNY">0</us-gaap:ShortTermInvestments>
    <us-gaap:AssetsCurrent
      contextRef="AsOf2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_5950"
      unitRef="CNY">364219000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="AsOf2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_5949"
      unitRef="CNY">365313000</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_5952"
      unitRef="CNY">57738000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_5951"
      unitRef="CNY">63505000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:OtherIntangibleAssetsNet
      contextRef="AsOf2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_5954"
      unitRef="CNY">1528000</us-gaap:OtherIntangibleAssetsNet>
    <us-gaap:OtherIntangibleAssetsNet
      contextRef="AsOf2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_5953"
      unitRef="CNY">1763000</us-gaap:OtherIntangibleAssetsNet>
    <clwt:LandLeaseRightOfUseAsset
      contextRef="AsOf2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_5956"
      unitRef="CNY">4550000</clwt:LandLeaseRightOfUseAsset>
    <clwt:LandLeaseRightOfUseAsset
      contextRef="AsOf2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_5955"
      unitRef="CNY">4699000</clwt:LandLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="AsOf2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_7044"
      unitRef="CNY">2389000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="AsOf2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_7048"
      unitRef="CNY">0</us-gaap:OperatingLeaseRightOfUseAsset>
    <clwt:DeferredTaxAssets
      contextRef="AsOf2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_5958"
      unitRef="CNY">8848000</clwt:DeferredTaxAssets>
    <clwt:DeferredTaxAssets
      contextRef="AsOf2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_5957"
      unitRef="CNY">5939000</clwt:DeferredTaxAssets>
    <us-gaap:LongTermInvestments
      contextRef="AsOf2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_5960"
      unitRef="CNY">1200000</us-gaap:LongTermInvestments>
    <us-gaap:LongTermInvestments
      contextRef="AsOf2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_5959"
      unitRef="CNY">1200000</us-gaap:LongTermInvestments>
    <us-gaap:AssetsNoncurrent
      contextRef="AsOf2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_5962"
      unitRef="CNY">76253000</us-gaap:AssetsNoncurrent>
    <us-gaap:AssetsNoncurrent
      contextRef="AsOf2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_5961"
      unitRef="CNY">77106000</us-gaap:AssetsNoncurrent>
    <us-gaap:Assets
      contextRef="AsOf2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_5964"
      unitRef="CNY">440472000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="AsOf2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_5963"
      unitRef="CNY">442419000</us-gaap:Assets>
    <us-gaap:OtherBorrowings
      contextRef="AsOf2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_5966"
      unitRef="CNY">6006000</us-gaap:OtherBorrowings>
    <us-gaap:OtherBorrowings
      contextRef="AsOf2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_5965"
      unitRef="CNY">6509000</us-gaap:OtherBorrowings>
    <us-gaap:AccountsPayableCurrent
      contextRef="AsOf2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_5968"
      unitRef="CNY">106785000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="AsOf2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_5967"
      unitRef="CNY">107211000</us-gaap:AccountsPayableCurrent>
    <us-gaap:OtherAccountsPayableAndAccruedLiabilities
      contextRef="AsOf2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_5970"
      unitRef="CNY">22371000</us-gaap:OtherAccountsPayableAndAccruedLiabilities>
    <us-gaap:OtherAccountsPayableAndAccruedLiabilities
      contextRef="AsOf2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_5969"
      unitRef="CNY">23720000</us-gaap:OtherAccountsPayableAndAccruedLiabilities>
    <clwt:ContractLiabilitiesCurrent
      contextRef="AsOf2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_5972"
      unitRef="CNY">35367000</clwt:ContractLiabilitiesCurrent>
    <clwt:ContractLiabilitiesCurrent
      contextRef="AsOf2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_5971"
      unitRef="CNY">43452000</clwt:ContractLiabilitiesCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="AsOf2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_7045"
      unitRef="CNY">563000</us-gaap:OperatingLeaseLiabilityCurrent>
    <clwt:OtherTaxesPayableCurrentLiabilities
      contextRef="AsOf2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_5974"
      unitRef="CNY">4994000</clwt:OtherTaxesPayableCurrentLiabilities>
    <clwt:OtherTaxesPayableCurrentLiabilities
      contextRef="AsOf2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_5973"
      unitRef="CNY">4119000</clwt:OtherTaxesPayableCurrentLiabilities>
    <us-gaap:LiabilitiesCurrent
      contextRef="AsOf2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_5976"
      unitRef="CNY">176086000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="AsOf2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_5975"
      unitRef="CNY">185011000</us-gaap:LiabilitiesCurrent>
    <clwt:DeferredGovernmentGrant
      contextRef="AsOf2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_5978"
      unitRef="CNY">4202000</clwt:DeferredGovernmentGrant>
    <clwt:DeferredGovernmentGrant
      contextRef="AsOf2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_5977"
      unitRef="CNY">1413000</clwt:DeferredGovernmentGrant>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="AsOf2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_7046"
      unitRef="CNY">1542000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="AsOf2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_7047"
      unitRef="USD">0</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:LiabilitiesNoncurrent
      contextRef="AsOf2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_5980"
      unitRef="CNY">5744000</us-gaap:LiabilitiesNoncurrent>
    <us-gaap:LiabilitiesNoncurrent
      contextRef="AsOf2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_5979"
      unitRef="CNY">1413000</us-gaap:LiabilitiesNoncurrent>
    <us-gaap:Liabilities
      contextRef="AsOf2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_5982"
      unitRef="CNY">181830000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="AsOf2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_5981"
      unitRef="CNY">186424000</us-gaap:Liabilities>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="AsOf2024-12-31_srt_SubsidiariesMember"
      decimals="0"
      id="fid_6000"
      unitRef="Shares">82572000</us-gaap:CommonStockSharesAuthorized>
    <clwt:ShareCapital
      contextRef="AsOf2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_5984"
      unitRef="CNY">82572000</clwt:ShareCapital>
    <clwt:ShareCapital
      contextRef="AsOf2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_5983"
      unitRef="CNY">82572000</clwt:ShareCapital>
    <clwt:CapitalReserve
      contextRef="AsOf2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_5986"
      unitRef="CNY">35761000</clwt:CapitalReserve>
    <clwt:CapitalReserve
      contextRef="AsOf2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_5985"
      unitRef="CNY">35761000</clwt:CapitalReserve>
    <us-gaap:StatutoryAccountingPracticesStatutoryCapitalAndSurplusBalance
      contextRef="AsOf2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_5988"
      unitRef="CNY">27097000</us-gaap:StatutoryAccountingPracticesStatutoryCapitalAndSurplusBalance>
    <us-gaap:StatutoryAccountingPracticesStatutoryCapitalAndSurplusBalance
      contextRef="AsOf2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_5987"
      unitRef="CNY">25411000</us-gaap:StatutoryAccountingPracticesStatutoryCapitalAndSurplusBalance>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="AsOf2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_5990"
      unitRef="CNY">106049000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="AsOf2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_5989"
      unitRef="CNY">105766000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_5992"
      unitRef="CNY">251479000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_5991"
      unitRef="CNY">249510000</us-gaap:StockholdersEquity>
    <us-gaap:MinorityInterest
      contextRef="AsOf2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_5994"
      unitRef="CNY">7163000</us-gaap:MinorityInterest>
    <us-gaap:MinorityInterest
      contextRef="AsOf2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_5993"
      unitRef="CNY">6485000</us-gaap:MinorityInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_5996"
      unitRef="CNY">258642000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_5995"
      unitRef="CNY">255995000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="AsOf2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_5998"
      unitRef="CNY">440472000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="AsOf2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_5997"
      unitRef="CNY">442419000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:Revenues
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6003"
      unitRef="CNY">348465000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6001"
      unitRef="CNY">325176000</us-gaap:Revenues>
    <us-gaap:Revenues
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6002"
      unitRef="CNY">403118000</us-gaap:Revenues>
    <us-gaap:CostOfRevenue
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6006"
      unitRef="CNY">270659000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6004"
      unitRef="CNY">215400000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6005"
      unitRef="CNY">335978000</us-gaap:CostOfRevenue>
    <us-gaap:GrossProfit
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6009"
      unitRef="CNY">77806000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6007"
      unitRef="CNY">109766000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6008"
      unitRef="CNY">67140000</us-gaap:GrossProfit>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6012"
      unitRef="CNY">63932000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6010"
      unitRef="CNY">56880000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6011"
      unitRef="CNY">59247000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6015"
      unitRef="CNY">13874000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6013"
      unitRef="CNY">52896000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6014"
      unitRef="CNY">7893000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestIncomeOther
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6018"
      unitRef="CNY">813000</us-gaap:InterestIncomeOther>
    <us-gaap:InterestIncomeOther
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6016"
      unitRef="CNY">1217000</us-gaap:InterestIncomeOther>
    <us-gaap:InterestIncomeOther
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6017"
      unitRef="CNY">105000</us-gaap:InterestIncomeOther>
    <us-gaap:InterestExpense
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6021"
      unitRef="CNY">252000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6019"
      unitRef="CNY">253000</us-gaap:InterestExpense>
    <us-gaap:InterestExpense
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6020"
      unitRef="CNY">634000</us-gaap:InterestExpense>
    <us-gaap:OtherIncome
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6024"
      unitRef="CNY">396000</us-gaap:OtherIncome>
    <us-gaap:OtherIncome
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6022"
      unitRef="CNY">32746000</us-gaap:OtherIncome>
    <us-gaap:OtherIncome
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6023"
      unitRef="CNY">11789000</us-gaap:OtherIncome>
    <clwt:OtherNonoperatingExpenses
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6027"
      unitRef="CNY">0</clwt:OtherNonoperatingExpenses>
    <clwt:OtherNonoperatingExpenses
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6025"
      unitRef="CNY">0</clwt:OtherNonoperatingExpenses>
    <clwt:OtherNonoperatingExpenses
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6026"
      unitRef="CNY">-3755000</clwt:OtherNonoperatingExpenses>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6031"
      unitRef="CNY">14831000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6028"
      unitRef="CNY">86606000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6030"
      unitRef="CNY">15398000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6033"
      unitRef="CNY">-365000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6029"
      unitRef="CNY">-16069000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6032"
      unitRef="CNY">368000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ProfitLoss
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6036"
      unitRef="CNY">14466000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6034"
      unitRef="CNY">70537000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6035"
      unitRef="CNY">15766000</us-gaap:ProfitLoss>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6039"
      unitRef="CNY">302000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6037"
      unitRef="CNY">-366000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLossAttributableToNoncontrollingInterest
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6038"
      unitRef="CNY">-1458000</us-gaap:NetIncomeLossAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6042"
      unitRef="CNY">14768000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6040"
      unitRef="CNY">70171000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6041"
      unitRef="CNY">14308000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      decimals="INF"
      id="fid_6045"
      unitRef="CNYPShares">0.18</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      decimals="INF"
      id="fid_6043"
      unitRef="CNYPShares">0.85</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="INF"
      id="fid_6044"
      unitRef="CNYPShares">0.17</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      decimals="0"
      id="fid_6048"
      unitRef="Shares">82572000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      decimals="0"
      id="fid_6046"
      unitRef="Shares">82572000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="0"
      id="fid_6047"
      unitRef="Shares">82572000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:ProfitLoss
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6051"
      unitRef="CNY">14466000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6049"
      unitRef="CNY">70537000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6050"
      unitRef="CNY">15766000</us-gaap:ProfitLoss>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6054"
      unitRef="CNY">235000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6052"
      unitRef="CNY">246000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6053"
      unitRef="CNY">257000</us-gaap:AmortizationOfIntangibleAssets>
    <clwt:AmortizationOfLandUseRight
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6057"
      unitRef="CNY">149000</clwt:AmortizationOfLandUseRight>
    <clwt:AmortizationOfLandUseRight
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6055"
      unitRef="CNY">180000</clwt:AmortizationOfLandUseRight>
    <clwt:AmortizationOfLandUseRight
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6056"
      unitRef="CNY">150000</clwt:AmortizationOfLandUseRight>
    <us-gaap:Depreciation
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6060"
      unitRef="CNY">6175000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6058"
      unitRef="CNY">5964000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6059"
      unitRef="CNY">6580000</us-gaap:Depreciation>
    <us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6063"
      unitRef="CNY">141000</us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense>
    <us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6061"
      unitRef="CNY">0</us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense>
    <us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6062"
      unitRef="CNY">0</us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense>
    <us-gaap:CapitalizedContractCostImpairmentLoss
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6066"
      unitRef="CNY">723000</us-gaap:CapitalizedContractCostImpairmentLoss>
    <us-gaap:CapitalizedContractCostImpairmentLoss
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6064"
      unitRef="CNY">-2158000</us-gaap:CapitalizedContractCostImpairmentLoss>
    <us-gaap:CapitalizedContractCostImpairmentLoss
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6065"
      unitRef="CNY">3560000</us-gaap:CapitalizedContractCostImpairmentLoss>
    <clwt:ImpairmentLossOnShortTermInvestments
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6067"
      unitRef="CNY">0</clwt:ImpairmentLossOnShortTermInvestments>
    <clwt:ImpairmentLossOnShortTermInvestments
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6068"
      unitRef="CNY">195000</clwt:ImpairmentLossOnShortTermInvestments>
    <us-gaap:GainOnSaleOfInvestments
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6177"
      unitRef="CNY">248000</us-gaap:GainOnSaleOfInvestments>
    <us-gaap:GainOnSaleOfInvestments
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6071"
      unitRef="CNY">0</us-gaap:GainOnSaleOfInvestments>
    <clwt:ProceedsFromDeferredGovernmentGrant
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6072"
      unitRef="CNY">0</clwt:ProceedsFromDeferredGovernmentGrant>
    <clwt:ProceedsFromDeferredGovernmentGrant
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6073"
      unitRef="CNY">700000</clwt:ProceedsFromDeferredGovernmentGrant>
    <clwt:PropertyPlantAndEquipmentWrittenOff
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6075"
      unitRef="CNY">-36241000</clwt:PropertyPlantAndEquipmentWrittenOff>
    <clwt:PropertyPlantAndEquipmentWrittenOff
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6076"
      unitRef="CNY">218000</clwt:PropertyPlantAndEquipmentWrittenOff>
    <clwt:ReversalOfAllowanceForDoubtfulAccounts
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6078"
      unitRef="CNY">-677000</clwt:ReversalOfAllowanceForDoubtfulAccounts>
    <clwt:ReversalOfAllowanceForDoubtfulAccounts
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6079"
      unitRef="CNY">-983000</clwt:ReversalOfAllowanceForDoubtfulAccounts>
    <clwt:IncreaseDecreaseInDeferredGovernmentGrant
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6083"
      unitRef="CNY">-2789000</clwt:IncreaseDecreaseInDeferredGovernmentGrant>
    <clwt:IncreaseDecreaseInDeferredGovernmentGrant
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6081"
      unitRef="CNY">386000</clwt:IncreaseDecreaseInDeferredGovernmentGrant>
    <clwt:IncreaseDecreaseInDeferredGovernmentGrant
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6082"
      unitRef="CNY">-3562000</clwt:IncreaseDecreaseInDeferredGovernmentGrant>
    <us-gaap:IncreaseDecreaseInDeferredIncomeTaxes
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6086"
      unitRef="CNY">-2909000</us-gaap:IncreaseDecreaseInDeferredIncomeTaxes>
    <us-gaap:IncreaseDecreaseInDeferredIncomeTaxes
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6084"
      unitRef="CNY">8727000</us-gaap:IncreaseDecreaseInDeferredIncomeTaxes>
    <us-gaap:IncreaseDecreaseInDeferredIncomeTaxes
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6085"
      unitRef="CNY">-361000</us-gaap:IncreaseDecreaseInDeferredIncomeTaxes>
    <clwt:IncreaseDecreaseInOperatingLeaseRightOfUseAssets
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_7235"
      unitRef="CNY">-2389000</clwt:IncreaseDecreaseInOperatingLeaseRightOfUseAssets>
    <us-gaap:IncreaseDecreaseInOperatingLeaseLiability
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_7236"
      unitRef="CNY">-1542000</us-gaap:IncreaseDecreaseInOperatingLeaseLiability>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6090"
      unitRef="CNY">-6821000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6088"
      unitRef="CNY">7538000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6089"
      unitRef="CNY">-28768000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6093"
      unitRef="CNY">-7047000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6091"
      unitRef="CNY">-2590000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6092"
      unitRef="CNY">-12347000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInContractWithCustomerAsset
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6096"
      unitRef="CNY">6236000</us-gaap:IncreaseDecreaseInContractWithCustomerAsset>
    <us-gaap:IncreaseDecreaseInContractWithCustomerAsset
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6094"
      unitRef="CNY">-4112000</us-gaap:IncreaseDecreaseInContractWithCustomerAsset>
    <us-gaap:IncreaseDecreaseInContractWithCustomerAsset
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6095"
      unitRef="CNY">-8241000</us-gaap:IncreaseDecreaseInContractWithCustomerAsset>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6099"
      unitRef="CNY">-239000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6097"
      unitRef="CNY">-70000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6098"
      unitRef="CNY">-1014000</us-gaap:IncreaseDecreaseInInventories>
    <clwt:IncreaseDecreaseInShortTermInvestments
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6102"
      unitRef="CNY">-53292000</clwt:IncreaseDecreaseInShortTermInvestments>
    <clwt:IncreaseDecreaseInShortTermInvestments
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6100"
      unitRef="CNY">14805000</clwt:IncreaseDecreaseInShortTermInvestments>
    <clwt:IncreaseDecreaseInShortTermInvestments
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6101"
      unitRef="CNY">0</clwt:IncreaseDecreaseInShortTermInvestments>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6106"
      unitRef="CNY">426000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6104"
      unitRef="CNY">-21502000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6105"
      unitRef="CNY">34751000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInOtherAccountsPayableAndAccruedLiabilities
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6109"
      unitRef="CNY">1349000</us-gaap:IncreaseDecreaseInOtherAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInOtherAccountsPayableAndAccruedLiabilities
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6107"
      unitRef="CNY">-64781000</us-gaap:IncreaseDecreaseInOtherAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInOtherAccountsPayableAndAccruedLiabilities
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6108"
      unitRef="CNY">70063000</us-gaap:IncreaseDecreaseInOtherAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6112"
      unitRef="CNY">8085000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6110"
      unitRef="CNY">8949000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6111"
      unitRef="CNY">-2978000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInPropertyAndOtherTaxesPayable
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6115"
      unitRef="CNY">-875000</us-gaap:IncreaseDecreaseInPropertyAndOtherTaxesPayable>
    <us-gaap:IncreaseDecreaseInPropertyAndOtherTaxesPayable
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6113"
      unitRef="CNY">-4074000</us-gaap:IncreaseDecreaseInPropertyAndOtherTaxesPayable>
    <us-gaap:IncreaseDecreaseInPropertyAndOtherTaxesPayable
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6114"
      unitRef="CNY">1469000</us-gaap:IncreaseDecreaseInPropertyAndOtherTaxesPayable>
    <clwt:IncreaseDecreaseInOperatingLeaseLiabilitiesCurrent
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6178"
      unitRef="CNY">-563000</clwt:IncreaseDecreaseInOperatingLeaseLiabilitiesCurrent>
    <clwt:IncreaseDecreaseInOperatingLeaseLiabilitiesCurrent
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6179"
      unitRef="CNY">0</clwt:IncreaseDecreaseInOperatingLeaseLiabilitiesCurrent>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6122"
      unitRef="CNY">-40233000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6120"
      unitRef="CNY">-10649000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6121"
      unitRef="CNY">100149000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <clwt:CapitalInjectionProceedFromInvestment
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6125"
      unitRef="CNY">-8318000</clwt:CapitalInjectionProceedFromInvestment>
    <clwt:CapitalInjectionProceedFromInvestment
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6123"
      unitRef="CNY">0</clwt:CapitalInjectionProceedFromInvestment>
    <clwt:CapitalInjectionProceedFromInvestment
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6124"
      unitRef="CNY">0</clwt:CapitalInjectionProceedFromInvestment>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6129"
      unitRef="CNY">39374000</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6130"
      unitRef="CNY">0</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquireIntangibleAssets
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6132"
      unitRef="CNY">200000</us-gaap:PaymentsToAcquireIntangibleAssets>
    <us-gaap:PaymentsToAcquireIntangibleAssets
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6133"
      unitRef="CNY">200000</us-gaap:PaymentsToAcquireIntangibleAssets>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6140"
      unitRef="CNY">408000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6138"
      unitRef="CNY">1708000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6139"
      unitRef="CNY">1143000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquireShortTermInvestments
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6141"
      unitRef="CNY">0</us-gaap:PaymentsToAcquireShortTermInvestments>
    <us-gaap:PaymentsToAcquireShortTermInvestments
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6142"
      unitRef="CNY">15000000</us-gaap:PaymentsToAcquireShortTermInvestments>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6146"
      unitRef="CNY">-8726000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6144"
      unitRef="CNY">37466000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6145"
      unitRef="CNY">-16343000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:RepaymentsOfBankDebt
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6149"
      unitRef="CNY">6500000</us-gaap:RepaymentsOfBankDebt>
    <us-gaap:RepaymentsOfBankDebt
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6147"
      unitRef="CNY">5500000</us-gaap:RepaymentsOfBankDebt>
    <us-gaap:RepaymentsOfBankDebt
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6148"
      unitRef="CNY">14000000</us-gaap:RepaymentsOfBankDebt>
    <us-gaap:ProceedsFromBankDebt
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6152"
      unitRef="CNY">6000000</us-gaap:ProceedsFromBankDebt>
    <us-gaap:ProceedsFromBankDebt
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6150"
      unitRef="CNY">6500000</us-gaap:ProceedsFromBankDebt>
    <us-gaap:ProceedsFromBankDebt
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6151"
      unitRef="CNY">6000000</us-gaap:ProceedsFromBankDebt>
    <us-gaap:DividendsAndInterestPaid
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6155"
      unitRef="CNY">12798000</us-gaap:DividendsAndInterestPaid>
    <us-gaap:DividendsAndInterestPaid
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6153"
      unitRef="CNY">13211000</us-gaap:DividendsAndInterestPaid>
    <us-gaap:DividendsAndInterestPaid
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6154"
      unitRef="CNY">9400000</us-gaap:DividendsAndInterestPaid>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6158"
      unitRef="CNY">-13298000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6156"
      unitRef="CNY">-12211000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6157"
      unitRef="CNY">-17400000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6161"
      unitRef="CNY">-62257000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6159"
      unitRef="CNY">14606000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6160"
      unitRef="CNY">66406000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseExcludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="AsOf2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6164"
      unitRef="CNY">135988000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="AsOf2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6162"
      unitRef="CNY">121382000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="AsOf2021-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6163"
      unitRef="CNY">54976000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="AsOf2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6167"
      unitRef="CNY">73731000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="AsOf2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6165"
      unitRef="CNY">135988000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="AsOf2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6166"
      unitRef="CNY">121382000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6170"
      unitRef="CNY">0</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6168"
      unitRef="CNY">0</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6169"
      unitRef="CNY">0</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6173"
      unitRef="CNY">252000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6171"
      unitRef="CNY">253000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6172"
      unitRef="CNY">626000</us-gaap:InterestPaidNet>
    <clwt:NonCashFinanceLeases
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6176"
      unitRef="CNY">0</clwt:NonCashFinanceLeases>
    <clwt:NonCashFinanceLeases
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6174"
      unitRef="CNY">0</clwt:NonCashFinanceLeases>
    <clwt:NonCashFinanceLeases
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6175"
      unitRef="CNY">0</clwt:NonCashFinanceLeases>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2021-12-31_clwt_ZhejiangTianlanShareCapitalMember"
      decimals="-3"
      id="fid_7437"
      unitRef="CNY">82572000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2021-12-31_clwt_ZhejiangTianlanCapitalReserveMember"
      decimals="-3"
      id="fid_7438"
      unitRef="CNY">35761000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2021-12-31_clwt_ZhejiangTianlanPrcStatutoryReserveMember"
      decimals="-3"
      id="fid_7439"
      unitRef="CNY">16582000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2021-12-31_clwt_ZhejiangTianlanRetainedEarningsMember"
      decimals="-3"
      id="fid_7440"
      unitRef="CNY">55409000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2021-12-31_clwt_ZhejiangTianlanNonControllingInterestsMember"
      decimals="-3"
      id="fid_7441"
      unitRef="CNY">5296000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2021-12-31_clwt_SubsidiaryMember"
      decimals="-3"
      id="fid_7442"
      unitRef="CNY">192620000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-01to2022-12-31_clwt_ZhejiangTianlanShareCapitalMember"
      decimals="-3"
      id="fid_6895"
      unitRef="CNY">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-01to2022-12-31_clwt_ZhejiangTianlanCapitalReserveMember"
      decimals="-3"
      id="fid_6896"
      unitRef="CNY">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-01to2022-12-31_clwt_ZhejiangTianlanPrcStatutoryReserveMember"
      decimals="-3"
      id="fid_6897"
      unitRef="CNY">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-01to2022-12-31_clwt_ZhejiangTianlanRetainedEarningsMember"
      decimals="-3"
      id="fid_6898"
      unitRef="CNY">14308000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-01to2022-12-31_clwt_ZhejiangTianlanNonControllingInterestsMember"
      decimals="-3"
      id="fid_6899"
      unitRef="CNY">1458000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-01-01to2022-12-31_clwt_SubsidiaryMember"
      decimals="-3"
      id="fid_6900"
      unitRef="CNY">15766000</us-gaap:NetIncomeLoss>
    <clwt:DividendPaidAmount
      contextRef="From2022-01-01to2022-12-31_clwt_ZhejiangTianlanShareCapitalMember"
      decimals="-3"
      id="fid_7444"
      unitRef="CNY">0</clwt:DividendPaidAmount>
    <clwt:DividendPaidAmount
      contextRef="From2022-01-01to2022-12-31_clwt_ZhejiangTianlanCapitalReserveMember"
      decimals="-3"
      id="fid_7445"
      unitRef="CNY">0</clwt:DividendPaidAmount>
    <clwt:DividendPaidAmount
      contextRef="From2022-01-01to2022-12-31_clwt_ZhejiangTianlanPrcStatutoryReserveMember"
      decimals="-3"
      id="fid_7446"
      unitRef="CNY">0</clwt:DividendPaidAmount>
    <clwt:DividendPaidAmount
      contextRef="From2022-01-01to2022-12-31_clwt_ZhejiangTianlanRetainedEarningsMember"
      decimals="-3"
      id="fid_7447"
      unitRef="CNY">-9082000</clwt:DividendPaidAmount>
    <clwt:DividendPaidAmount
      contextRef="From2022-01-01to2022-12-31_clwt_ZhejiangTianlanNonControllingInterestsMember"
      decimals="-3"
      id="fid_7448"
      unitRef="CNY">-318000</clwt:DividendPaidAmount>
    <clwt:DividendPaidAmount
      contextRef="From2022-01-01to2022-12-31_clwt_SubsidiaryMember"
      decimals="-3"
      id="fid_7443"
      unitRef="CNY">-9400000</clwt:DividendPaidAmount>
    <clwt:AppropriationOfReserves
      contextRef="From2022-01-01to2022-12-31_clwt_ZhejiangTianlanShareCapitalMember"
      decimals="-3"
      id="fid_7450"
      unitRef="CNY">0</clwt:AppropriationOfReserves>
    <clwt:AppropriationOfReserves
      contextRef="From2022-01-01to2022-12-31_clwt_ZhejiangTianlanCapitalReserveMember"
      decimals="-3"
      id="fid_7451"
      unitRef="CNY">0</clwt:AppropriationOfReserves>
    <clwt:AppropriationOfReserves
      contextRef="From2022-01-01to2022-12-31_clwt_ZhejiangTianlanPrcStatutoryReserveMember"
      decimals="-3"
      id="fid_7452"
      unitRef="CNY">1442000</clwt:AppropriationOfReserves>
    <clwt:AppropriationOfReserves
      contextRef="From2022-01-01to2022-12-31_clwt_ZhejiangTianlanRetainedEarningsMember"
      decimals="-3"
      id="fid_7453"
      unitRef="CNY">-1442000</clwt:AppropriationOfReserves>
    <clwt:AppropriationOfReserves
      contextRef="From2022-01-01to2022-12-31_clwt_ZhejiangTianlanNonControllingInterestsMember"
      decimals="-3"
      id="fid_7454"
      unitRef="CNY">0</clwt:AppropriationOfReserves>
    <clwt:AppropriationOfReserves
      contextRef="From2022-01-01to2022-12-31_clwt_SubsidiaryMember"
      decimals="-3"
      id="fid_7449"
      unitRef="CNY">0</clwt:AppropriationOfReserves>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-12-31_clwt_ZhejiangTianlanShareCapitalMember"
      decimals="-3"
      id="fid_7492"
      unitRef="CNY">82572000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-12-31_clwt_ZhejiangTianlanCapitalReserveMember"
      decimals="-3"
      id="fid_7494"
      unitRef="CNY">35761000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-12-31_clwt_ZhejiangTianlanPrcStatutoryReserveMember"
      decimals="-3"
      id="fid_7496"
      unitRef="CNY">18024000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-12-31_clwt_ZhejiangTianlanRetainedEarningsMember"
      decimals="-3"
      id="fid_7498"
      unitRef="CNY">56193000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-12-31_clwt_ZhejiangTianlanNonControllingInterestsMember"
      decimals="-3"
      id="fid_7500"
      unitRef="CNY">6436000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2022-12-31_clwt_SubsidiaryMember"
      decimals="-3"
      id="fid_7490"
      unitRef="CNY">198986000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-01to2023-12-31_clwt_ZhejiangTianlanShareCapitalMember"
      decimals="-3"
      id="fid_6923"
      unitRef="CNY">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-01to2023-12-31_clwt_ZhejiangTianlanCapitalReserveMember"
      decimals="-3"
      id="fid_6924"
      unitRef="CNY">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-01to2023-12-31_clwt_ZhejiangTianlanPrcStatutoryReserveMember"
      decimals="-3"
      id="fid_6925"
      unitRef="CNY">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-01to2023-12-31_clwt_ZhejiangTianlanRetainedEarningsMember"
      decimals="-3"
      id="fid_6926"
      unitRef="CNY">70171000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-01to2023-12-31_clwt_ZhejiangTianlanNonControllingInterestsMember"
      decimals="-3"
      id="fid_6927"
      unitRef="CNY">366000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-01-01to2023-12-31_clwt_SubsidiaryMember"
      decimals="-3"
      id="fid_6928"
      unitRef="CNY">70537000</us-gaap:NetIncomeLoss>
    <clwt:DividendPaid
      contextRef="From2023-01-01to2023-12-31_clwt_ZhejiangTianlanShareCapitalMember"
      decimals="-3"
      id="fid_7456"
      unitRef="CNY">0</clwt:DividendPaid>
    <clwt:DividendPaid
      contextRef="From2023-01-01to2023-12-31_clwt_ZhejiangTianlanCapitalReserveMember"
      decimals="-3"
      id="fid_7457"
      unitRef="CNY">0</clwt:DividendPaid>
    <clwt:DividendPaid
      contextRef="From2023-01-01to2023-12-31_clwt_ZhejiangTianlanPrcStatutoryReserveMember"
      decimals="-3"
      id="fid_7458"
      unitRef="CNY">0</clwt:DividendPaid>
    <clwt:DividendPaid
      contextRef="From2023-01-01to2023-12-31_clwt_ZhejiangTianlanRetainedEarningsMember"
      decimals="-3"
      id="fid_7459"
      unitRef="CNY">-13211000</clwt:DividendPaid>
    <clwt:DividendPaid
      contextRef="From2023-01-01to2023-12-31_clwt_ZhejiangTianlanNonControllingInterestsMember"
      decimals="-3"
      id="fid_7460"
      unitRef="CNY">-618000</clwt:DividendPaid>
    <clwt:DividendPaid
      contextRef="From2023-01-01to2023-12-31_clwt_SubsidiaryMember"
      decimals="-3"
      id="fid_7455"
      unitRef="CNY">-13829000</clwt:DividendPaid>
    <clwt:AppropriationOfReserves
      contextRef="From2023-01-01to2023-12-31_clwt_ZhejiangTianlanShareCapitalMember"
      decimals="-3"
      id="fid_7462"
      unitRef="CNY">0</clwt:AppropriationOfReserves>
    <clwt:AppropriationOfReserves
      contextRef="From2023-01-01to2023-12-31_clwt_ZhejiangTianlanCapitalReserveMember"
      decimals="-3"
      id="fid_7463"
      unitRef="CNY">0</clwt:AppropriationOfReserves>
    <clwt:AppropriationOfReserves
      contextRef="From2023-01-01to2023-12-31_clwt_ZhejiangTianlanPrcStatutoryReserveMember"
      decimals="-3"
      id="fid_7464"
      unitRef="CNY">7387000</clwt:AppropriationOfReserves>
    <clwt:AppropriationOfReserves
      contextRef="From2023-01-01to2023-12-31_clwt_ZhejiangTianlanRetainedEarningsMember"
      decimals="-3"
      id="fid_7465"
      unitRef="CNY">-7387000</clwt:AppropriationOfReserves>
    <clwt:AppropriationOfReserves
      contextRef="From2023-01-01to2023-12-31_clwt_ZhejiangTianlanNonControllingInterestsMember"
      decimals="-3"
      id="fid_7466"
      unitRef="CNY">301000</clwt:AppropriationOfReserves>
    <clwt:AppropriationOfReserves
      contextRef="From2023-01-01to2023-12-31_clwt_SubsidiaryMember"
      decimals="-3"
      id="fid_7461"
      unitRef="CNY">301000</clwt:AppropriationOfReserves>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31_clwt_ZhejiangTianlanShareCapitalMember"
      decimals="-3"
      id="fid_7470"
      unitRef="CNY">82572000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31_clwt_ZhejiangTianlanCapitalReserveMember"
      decimals="-3"
      id="fid_7472"
      unitRef="CNY">35761000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31_clwt_ZhejiangTianlanPrcStatutoryReserveMember"
      decimals="-3"
      id="fid_7474"
      unitRef="CNY">25411000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31_clwt_ZhejiangTianlanRetainedEarningsMember"
      decimals="-3"
      id="fid_7476"
      unitRef="CNY">105766000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31_clwt_ZhejiangTianlanNonControllingInterestsMember"
      decimals="-3"
      id="fid_7270"
      unitRef="CNY">6485000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2023-12-31_clwt_SubsidiaryMember"
      decimals="-3"
      id="fid_7468"
      unitRef="CNY">255995000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-01-01to2024-12-31_clwt_ZhejiangTianlanRetainedEarningsMember"
      decimals="-3"
      id="fid_7301"
      unitRef="CNY">14767000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-01-01to2024-12-31_clwt_ZhejiangTianlanNonControllingInterestsMember"
      decimals="-3"
      id="fid_7306"
      unitRef="CNY">-302000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2024-01-01to2024-12-31_clwt_SubsidiaryMember"
      decimals="-3"
      id="fid_7508"
      unitRef="CNY">14465000</us-gaap:NetIncomeLoss>
    <clwt:DividendPaidAmount
      contextRef="From2024-01-01to2024-12-31_clwt_ZhejiangTianlanRetainedEarningsMember"
      decimals="-3"
      id="fid_7477"
      unitRef="CNY">-12798000</clwt:DividendPaidAmount>
    <clwt:DividendPaidAmount
      contextRef="From2024-01-01to2024-12-31_clwt_SubsidiaryMember"
      decimals="-3"
      id="fid_7480"
      unitRef="CNY">-12798000</clwt:DividendPaidAmount>
    <clwt:AppropriationOfReserves
      contextRef="From2024-01-01to2024-12-31_clwt_ZhejiangTianlanPrcStatutoryReserveMember"
      decimals="-3"
      id="fid_7482"
      unitRef="CNY">1686000</clwt:AppropriationOfReserves>
    <clwt:AppropriationOfReserves
      contextRef="From2024-01-01to2024-12-31_clwt_ZhejiangTianlanRetainedEarningsMember"
      decimals="-3"
      id="fid_7478"
      unitRef="CNY">-1686000</clwt:AppropriationOfReserves>
    <clwt:AppropriationOfReserves
      contextRef="From2024-01-01to2024-12-31_clwt_ZhejiangTianlanNonControllingInterestsMember"
      decimals="-3"
      id="fid_7479"
      unitRef="CNY">980000</clwt:AppropriationOfReserves>
    <clwt:AppropriationOfReserves
      contextRef="From2024-01-01to2024-12-31_clwt_SubsidiaryMember"
      decimals="-3"
      id="fid_7481"
      unitRef="CNY">980000</clwt:AppropriationOfReserves>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2024-12-31_clwt_ZhejiangTianlanShareCapitalMember"
      decimals="-3"
      id="fid_7288"
      unitRef="CNY">82572000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2024-12-31_clwt_ZhejiangTianlanCapitalReserveMember"
      decimals="-3"
      id="fid_7293"
      unitRef="CNY">35761000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2024-12-31_clwt_ZhejiangTianlanPrcStatutoryReserveMember"
      decimals="-3"
      id="fid_7298"
      unitRef="CNY">27097000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2024-12-31_clwt_ZhejiangTianlanRetainedEarningsMember"
      decimals="-3"
      id="fid_7303"
      unitRef="CNY">106049000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2024-12-31_clwt_ZhejiangTianlanNonControllingInterestsMember"
      decimals="-3"
      id="fid_7308"
      unitRef="CNY">7163000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="AsOf2024-12-31_clwt_SubsidiaryMember"
      decimals="-3"
      id="fid_7502"
      unitRef="CNY">258642000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_6181">&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;1. &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;Organization and business&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;Zhejiang Tianlan Environmental Protection Technology Company Limited&#160;(the &#x201c;Company&#x201d;) was incorporated in&#160;Hangzhou City, Zhejiang Province, the People&#x2019;s Republic of China (&#x201c;PRC&#x201d;) on May 18, 2000. The Company is a limited liability company limited by shares with an operating period up to long term.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;The Company provides a comprehensive service for design, general contract, equipment manufacturing, installation, testing and operation management of the treatment of waste gases emitted from various boilers and industrial furnaces of power plants, steel works and chemical plants since 2000.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;The Company has listed its shares on the New Third Board in the PRC since November 17, 2015 and suspended trading from August 15, 2017 and resumed trading on February 2, 2018 and suspended trading from November 24, 2020 and resumed trading on January 6, 2021.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;The Group&#x2019;s principal subsidiaries at December 31, 2024 and 2023 are set out below.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;strong&gt;Name of entity &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="6" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Ownership interest held by the Group &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Place of incorporation and principal place of operation &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Principal activities&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;3&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:0.1pt"&gt;Zhejiang Tianlan Environmental Protection Engineering Company Limited&#160; &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:9%;vertical-align:bottom;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;100&lt;/p&gt;&lt;/td&gt;&lt;td style="width:3%;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;%*&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:9%;vertical-align:bottom;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;100&lt;/p&gt;&lt;/td&gt;&lt;td style="width:3%;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;%*&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:9%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:35%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Design, general contract, installation and operating management of environmental protection projects&#160; &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:0.1pt"&gt;Hangzhou Tianlan Environmental Protection Equipment Company Limited&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;51&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;51&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Manufacturing and installation services of environmental protection equipment&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:0.1pt"&gt;Hangzhou Tianlan Pure Environmental Protection Technology Company Limited &lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;38.25&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;38.25&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Manufacturing of environmental protection equipment&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:0.1pt"&gt;Hangzhou Tiancan Environmental Technology Company Limited &lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;80&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;80&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Manufacturing of environmental protection equipment&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:0.1pt"&gt;Hangzhou Zhongyi Ecological and Environmental Consulting Company Limited&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;40.1&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;%**&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;40.1&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;%**&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Consultation services of environmental protection projects&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:0.1pt"&gt;Xuancheng Lanjing Environmental Protection Equipment Co., Ltd&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&#160;19.51 &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Manufacturing and installation services of environmental protection equipment&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;* This company was acquired in August 2020. &lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;** This company was acquired in April 2022.&lt;/p&gt;</us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock>
    <clwt:ScheduleOfSignificantSubsidiariesTableTextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_6988">&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;strong&gt;Name of entity &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="6" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Ownership interest held by the Group &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Place of incorporation and principal place of operation &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Principal activities&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;3&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:0.1pt"&gt;Zhejiang Tianlan Environmental Protection Engineering Company Limited&#160; &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:9%;vertical-align:bottom;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;100&lt;/p&gt;&lt;/td&gt;&lt;td style="width:3%;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;%*&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:9%;vertical-align:bottom;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;100&lt;/p&gt;&lt;/td&gt;&lt;td style="width:3%;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;%*&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:9%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:35%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Design, general contract, installation and operating management of environmental protection projects&#160; &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:0.1pt"&gt;Hangzhou Tianlan Environmental Protection Equipment Company Limited&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;51&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;51&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Manufacturing and installation services of environmental protection equipment&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:0.1pt"&gt;Hangzhou Tianlan Pure Environmental Protection Technology Company Limited &lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;38.25&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;38.25&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Manufacturing of environmental protection equipment&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:0.1pt"&gt;Hangzhou Tiancan Environmental Technology Company Limited &lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;80&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;80&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Manufacturing of environmental protection equipment&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:0.1pt"&gt;Hangzhou Zhongyi Ecological and Environmental Consulting Company Limited&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;40.1&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;%**&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;40.1&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;%**&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Consultation services of environmental protection projects&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:0.1pt"&gt;Xuancheng Lanjing Environmental Protection Equipment Co., Ltd&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&#160;19.51 &lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;%&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;PRC&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Manufacturing and installation services of environmental protection equipment&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</clwt:ScheduleOfSignificantSubsidiariesTableTextBlock>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="From2024-01-01to2024-12-31_clwt_ZhejiangTianlanEnvironmentalProtectionEngineeringsMember_clwt_ZhejiangTianlanMember"
      decimals="INF"
      id="fid_7069"
      unitRef="Pure">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="From2023-01-01to2023-12-31_clwt_ZhejiangTianlanEnvironmentalProtectionEngineeringsMember_clwt_ZhejiangTianlanMember"
      decimals="INF"
      id="fid_7070"
      unitRef="Pure">1</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <clwt:PlaceOfIncorporation
      contextRef="From2024-01-01to2024-12-31_clwt_ZhejiangTianlanEnvironmentalProtectionEngineeringsMember_clwt_ZhejiangTianlanMember"
      id="fid_7071">PRC</clwt:PlaceOfIncorporation>
    <us-gaap:EquityMethodInvestmentDescriptionOfPrincipalActivities
      contextRef="From2024-01-01to2024-12-31_clwt_ZhejiangTianlanEnvironmentalProtectionEngineeringsMember_clwt_ZhejiangTianlanMember"
      id="fid_7072">Design, general contract, installation and operating management of environmental protection projects</us-gaap:EquityMethodInvestmentDescriptionOfPrincipalActivities>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="From2024-01-01to2024-12-31_clwt_HangzhouTianlanEnvironmenstalProtectionEquipmentCompanyLimitedMember_clwt_ZhejiangTianlanMember"
      decimals="INF"
      id="fid_7073"
      unitRef="Pure">0.51</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="From2023-01-01to2023-12-31_clwt_HangzhouTianlanEnvironmenstalProtectionEquipmentCompanyLimitedMember_clwt_ZhejiangTianlanMember"
      decimals="INF"
      id="fid_7074"
      unitRef="Pure">0.51</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <clwt:PlaceOfIncorporation
      contextRef="From2024-01-01to2024-12-31_clwt_HangzhouTianlanEnvironmenstalProtectionEquipmentCompanyLimitedMember_clwt_ZhejiangTianlanMember"
      id="fid_7075">PRC</clwt:PlaceOfIncorporation>
    <us-gaap:EquityMethodInvestmentDescriptionOfPrincipalActivities
      contextRef="From2024-01-01to2024-12-31_clwt_HangzhouTianlanEnvironmenstalProtectionEquipmentCompanyLimitedMember_clwt_ZhejiangTianlanMember"
      id="fid_7076">Manufacturing and installation services of environmental protection equipment</us-gaap:EquityMethodInvestmentDescriptionOfPrincipalActivities>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="From2024-01-01to2024-12-31_clwt_HangzhouTianlanPureEnvironmentalProtectionTechnologyCompanysLimitedMember_clwt_ZhejiangTianlanMember"
      decimals="INF"
      id="fid_7077"
      unitRef="Pure">0.3825</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="From2023-01-01to2023-12-31_clwt_HangzhouTianlanPureEnvironmentalProtectionTechnologyCompanysLimitedMember_clwt_ZhejiangTianlanMember"
      decimals="INF"
      id="fid_7078"
      unitRef="Pure">0.3825</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <clwt:PlaceOfIncorporation
      contextRef="From2024-01-01to2024-12-31_clwt_HangzhouTianlanPureEnvironmentalProtectionTechnologyCompanysLimitedMember_clwt_ZhejiangTianlanMember"
      id="fid_7079">PRC</clwt:PlaceOfIncorporation>
    <us-gaap:EquityMethodInvestmentDescriptionOfPrincipalActivities
      contextRef="From2024-01-01to2024-12-31_clwt_HangzhouTianlanPureEnvironmentalProtectionTechnologyCompanysLimitedMember_clwt_ZhejiangTianlanMember"
      id="fid_7080">Manufacturing of environmental protection equipment</us-gaap:EquityMethodInvestmentDescriptionOfPrincipalActivities>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="From2024-01-01to2024-12-31_clwt_HangzhouTiancanEnvironmentalTechnologyCompanysLimitedMember_clwt_ZhejiangTianlanMember"
      decimals="INF"
      id="fid_7081"
      unitRef="Pure">0.80</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="From2023-01-01to2023-12-31_clwt_HangzhouTiancanEnvironmentalTechnologyCompanysLimitedMember_clwt_ZhejiangTianlanMember"
      decimals="INF"
      id="fid_7082"
      unitRef="Pure">0.80</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <clwt:PlaceOfIncorporation
      contextRef="From2024-01-01to2024-12-31_clwt_HangzhouTiancanEnvironmentalTechnologyCompanysLimitedMember_clwt_ZhejiangTianlanMember"
      id="fid_7083">PRC</clwt:PlaceOfIncorporation>
    <us-gaap:EquityMethodInvestmentDescriptionOfPrincipalActivities
      contextRef="From2024-01-01to2024-12-31_clwt_HangzhouTiancanEnvironmentalTechnologyCompanysLimitedMember_clwt_ZhejiangTianlanMember"
      id="fid_7084">Manufacturing of environmental protection equipment</us-gaap:EquityMethodInvestmentDescriptionOfPrincipalActivities>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="From2024-01-01to2024-12-31_clwt_ZhejiangTianlanMember_clwt_HangzhouZhongyiEcologicalAndEnvironmentalConsultingCompanyLimitedMember"
      decimals="INF"
      id="fid_7085"
      unitRef="Pure">0.401</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="From2023-01-01to2023-12-31_clwt_ZhejiangTianlanMember_clwt_HangzhouZhongyiEcologicalAndEnvironmentalConsultingCompanyLimitedMember"
      decimals="INF"
      id="fid_7096"
      unitRef="Pure">0.401</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <clwt:PlaceOfIncorporation
      contextRef="From2024-01-01to2024-12-31_clwt_ZhejiangTianlanMember_clwt_HangzhouZhongyiEcologicalAndEnvironmentalConsultingCompanyLimitedMember"
      id="fid_7086">PRC</clwt:PlaceOfIncorporation>
    <us-gaap:EquityMethodInvestmentDescriptionOfPrincipalActivities
      contextRef="From2024-01-01to2024-12-31_clwt_ZhejiangTianlanMember_clwt_HangzhouZhongyiEcologicalAndEnvironmentalConsultingCompanyLimitedMember"
      id="fid_7087">Consultation services of environmental protection projects</us-gaap:EquityMethodInvestmentDescriptionOfPrincipalActivities>
    <us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions
      contextRef="From2024-01-01to2024-12-31_clwt_ZhejiangTianlanMember_clwt_XuanchengLanjingEnvironmentalProtectionEquipmentCoLtdMember"
      decimals="INF"
      id="fid_7099"
      unitRef="Pure">0.1951</us-gaap:SubsidiaryOrEquityMethodInvesteeCumulativePercentageOwnershipAfterAllTransactions>
    <clwt:PlaceOfIncorporation
      contextRef="From2024-01-01to2024-12-31_clwt_ZhejiangTianlanMember_clwt_XuanchengLanjingEnvironmentalProtectionEquipmentCoLtdMember"
      id="fid_7098">PRC</clwt:PlaceOfIncorporation>
    <us-gaap:EquityMethodInvestmentDescriptionOfPrincipalActivities
      contextRef="From2024-01-01to2024-12-31_clwt_ZhejiangTianlanMember_clwt_XuanchengLanjingEnvironmentalProtectionEquipmentCoLtdMember"
      id="fid_7097">Manufacturing and installation services of environmental protection equipment</us-gaap:EquityMethodInvestmentDescriptionOfPrincipalActivities>
    <us-gaap:SignificantAccountingPoliciesTextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_6182">&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;2. &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;Summary of significant accounting policies &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;(a) &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;Basis of presentation&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;The accompanying consolidated financial statements are presented in accordance with accounting principles generally accepted in the United States of America (&#x201c;GAAP&#x201d;).&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;(b) &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;Basis of consolidation&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;The accompanying consolidated financial statements include the results of operations of the Company and its subsidiaries. Significant intercompany transactions and balances have been eliminated.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;(c) &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;Subsidiaries&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;Subsidiaries are all entities over which the Group has control; has the power to appoint or remove the majority of the members of the board of directors; has the right to cast a majority of votes at the meeting of the board of directors or to govern the financial and operating policies of the investee under a statute or agreement among the shareholders or equity holders.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;(d) &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;Revenue recognition&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;Our revenue is derived from long-term contracts for customers, as well as short-term contracts for customers. Accounting treatment for these contracts in accordance with Accounting Standards Update (&#x201c;ASU&#x201d;) 2014-09 (Accounting Standards Codification (&#x201c;ASC&#x201d;) Topic 606, Revenue from Contracts with Customers), is as follows:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;&lt;span style="text-decoration:underline"&gt;Performance obligations satisfied over time (Design, installation and operation management services)&lt;/span&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;Recognition of performance obligations&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;A performance obligation is a promise in a contract to transfer a distinct good or service to the customer, and is the unit of account in the new revenue standard. The contract transaction price is allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied. Engineering projects typically span between 12 to 36 months. The majority of our contracts have a single performance obligation as the promise to transfer the individual goods or services is not separately identifiable from other promises in the contracts and, therefore, not distinct. Some contracts have multiple performance obligations, most commonly due to the contract covering multiple phases of the project life cycle (design, installation and operation management services).&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;Revenues are recognized as our obligations are satisfied over time, using the ratio of project costs incurred to estimated total costs for each contract because of the continuous transfer of control to the customer as all of the work is performed at the customer&#x2019;s site and, therefore, the customer controls the asset as it is being installed. This continuous transfer of control to the customer is further supported by clauses in the contract that allow the customer to unilaterally terminate the contract for convenience, pay the Group for costs incurred plus a reasonable profit and take control of any work in process. This cost-to-cost measure is used because management considers it to be the best available measure of progress on these contracts. Contract costs include all direct material, labor, subcontract and other costs.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;Items excluded from cost-to-cost&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;Pre-contract costs are generally not material and are charged to expense as incurred, but in certain cases pre-contract recognition may be deferred if specific probability criteria are met.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;Variable consideration&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;Contract modifications through change orders, claims and incentives are routine in the performance of the Group&#x2019;s contracts to account for changes in the contract specifications or requirements. In most instances, contract modifications are not distinct from the existing contract due to the significant integration of services provided in the contract and are accounted for as a modification of the existing contract and performance obligation. Either the Group or its customers may initiate change orders, which may include changes in specifications or designs, manner of performance, facilities, equipment, materials, sites and period of completion of the work. Change orders that are unapproved as to both price and scope are evaluated as claims. The Group considers claims to be amounts in excess of approved contract prices that the Group seeks to collect from its customers or others for customer-caused delays, errors in specifications and designs, contract terminations, change orders that are either in dispute or are unapproved as to both scope and price, or other causes of unanticipated additional contract costs.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;The Group estimates variable consideration for a performance obligation at the most likely amount to which the Group expects to be entitled (or the most likely amount the Group expects to incur in the case of liquidated damages), utilizing estimation methods that best predict the amount of consideration to which the Group will be entitled (or will incur in the case of liquidated damages). The Group includes variable consideration in the estimated transaction price to the extent it is probable that a significant reversal of cumulative revenue recognized will not occur or when the uncertainty associated with the variable consideration is resolved. The Group&#x2019;s estimates of variable consideration and determination of whether to include estimated amounts in transaction price are based largely on an assessment of its anticipated performance and all information (historical, current and forecasted) that is reasonably available to the Group.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;The effect of variable consideration on the transaction price of a performance obligation is recognized as an adjustment to revenue on a cumulative catch-up basis. To the extent unapproved change orders and claims reflected in transaction price (or excluded from transaction price in the case of liquidated damages) are not resolved in the Group&#x2019;s favor, or to the extent incentives reflected in transaction price are not earned, there could be reductions in, or reversals of, previously recognized revenue.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;(e) &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;Research and development costs&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;Research and development costs (&#x201c;R&amp;amp;D&#x201d; costs) are expensed as incurred. The R&amp;amp;D costs amounted to approximately RMB27,371,000, RMB20,452,000 and RMB29,115,000 for the years ended December 31, 2024, 2023 and 2022 respectively and were included in &#x201c;Selling and administrative expenses&#x201d; in the Group&#x2019;s consolidated statements of operations.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;(f) &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;Income tax &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;The Group follows the liability method of accounting for income tax. Under this method, deferred tax assets and liabilities are recorded for future tax consequences of temporary differences between the financial reporting and tax bases of assets and liabilities, and are measured using the enacted tax rates and laws that are expected to be in effect when the underlying assets or liabilities are recovered or settled. The Group also evaluates whether the recorded deferred tax assets and valuation allowances can be realized and, when necessary, reduces the amounts to what is expected to be realized.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;The accounting guidance on accounting for uncertainty in income taxes also addresses derecognition, classification, interest and penalties on income taxes, and accounting in interim periods. The Group does not believe it has any uncertain tax positions through the periods ended December 31, 2023, 2022 and 2021 respectively which would have a material impact on the Group&#x2019;s consolidated financial statements.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;The Group files tax returns in the PRC. The tax returns for 2023, 2022 and 2021 are subject to examination by the PRC taxing authorities, commencing with the first year filed.&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;(g) &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;Cash and cash equivalents&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;Cash and cash equivalents consist of bank deposits with original maturities of three months or less, all of which are unrestricted as to withdrawal and uninsured. There were no cash equivalents as of December 31, 2024 and 2023.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;(h) &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;Accounts receivable and allowance for doubtful accounts &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;The Group does not charge interest to its customers and carries its customer receivables at their face amounts, less an allowance for doubtful accounts. As is common practice in the industry, the Group classifies all accounts receivable as current assets.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;The Group grants trade credit, on a non-collateralized basis, to its customers and is subject to potential credit risk related to changes in business and overall economic activity. The Group analyzes specific accounts receivable balances, historical bad debts, customer credit-worthiness, current economic trends and changes in customer payment terms when evaluating the adequacy of the allowance for doubtful accounts. In the event that a customer balance is deemed to be uncollectible, the account balance is written-off against the allowance for doubtful accounts.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;(i) &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;Classification of contract assets, net and liabilities &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;For revenue recognized associated with its contracts with customers over time, for which the Group has an enforceable right to receive compensation. Many of our contracts contain specific provisions that determine when the Group can bill for its work performed under these contracts.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;Any revenue earned on a contract that has not yet been billed to the customer is recorded as a contract asset on the Group&#x2019;s consolidated balance sheets.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;The Group&#x2019;s consolidated balance sheets present contract liabilities that contain deferred revenue that represent any costs incurred on contracts in process for which revenue has not yet been recognized.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;(j) &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;Inventories&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;Inventories are measured using the weighted average method and are stated at the lower of cost or net realizable value. Cost of finished goods comprise direct material, direct production costs and an allocated portion of production overhead costs based on normal operating capacity.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;(k) &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;Property, plant and equipment and land use right, net&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;Property, plant and equipment is carried at cost. Major modifications or refurbishments which extend the useful life of the assets are capitalized and depreciated over the adjusted remaining useful life of the assets. Upon retirement or disposition of property, plant and equipment, the cost and related accumulated depreciation are removed and any resulting gain or loss is recognized in consolidated income from operations. The cost of maintenance and repairs is charged to expense as incurred. Property, plant and equipment is reviewed for impairment and tested for recoverability whenever events or changes in circumstances indicate that the carrying amount may not be recoverable. If the carrying value of property, plant and equipment exceeds its fair value, an impairment charge would be recorded in the consolidated statement of operations.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;Land in the PRC is owned by the PRC government. The government in the PRC, according to PRC Law, may sell the right to use the land for a specific period of time. Thus, all of the Group&#x2019;s land purchases in the PRC are considered to be leasehold land and are classified as land use right.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;Depreciation of property, plant and equipment and amortization of land use right are computed using the straight-line method over the assets&#x2019; estimated useful lives as follows:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="width:4%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:30%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Land use right&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Over terms of the leases&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Buildings and leasehold improvements&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;11 to 50 years, with 5% residual value&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Furniture, fixtures and office equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;5 years, with 5% residual value&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Motor vehicles&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;5 years, with 5% residual value&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Plant and machineries&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;5 to 10 years, with 5% residual value&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;(l) &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;Intangible assets, net&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The Group is currently amortizing its acquired intangible assets, consisted of patents and others, with finite-lived over periods generally ranging between three to twenty years.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;(m) &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;Impairment of long lived assets&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;Long-lived assets such as property, plant and equipment and intangible assets with finite lives are evaluated for impairment whenever events or changes in circumstances indicate that the carrying value of an asset may not be fully recoverable or that the useful life is shorter than the Group had originally estimated. When these events occur, the Group evaluates the impairment for the long-lived assets by comparing the carrying value of the assets to an estimate of future undiscounted cash flows expected to be generated from the use of the assets and their eventual disposition. If the sum of the expected future undiscounted cash flows is less than the carrying value of the assets, the Group recognizes an impairment loss based on the excess of the carrying value of the assets over the fair value of the assets. The impairment of long-lived assets amounted to approximately RMB Nil, RMB Nil and RMB Nil for the years ended December 31, 2024, 2023 and 2022 respectively and were included in &#x201c;Selling and administrative expenses&#x201d; in the Group&#x2019;s consolidated statements of operations.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;(n) &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;Government grant income&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;Government grant income consists of receipt of funds to subsidize the investment cost of technical development in China. No present or future obligation arises from the receipt of such amount.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;Government grants are recognized in the consolidated balance sheet initially when there is reasonable assurance that they will be received and that the Group will comply with the conditions attaching to them. Grants that compensate the Group for expenses incurred are recognized as income in the consolidated statement of operations on a systematic basis in the same periods in which the expenses are incurred. Grants that compensate the Group for the cost of an asset are deducted from the carrying amount of the asset and consequently are effectively recognized in the consolidated statements of operations over the useful life of the asset by way of reduced depreciation expenses.&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;(o) &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;Leases arrangements &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 34.65pt; text-align:justify;"&gt;The Group adopted ASU No. 2016-02, Leases (Topic 842). The Group leases certain equipment under finance leases. The economic substance of the leases is a financing transaction for acquisition of the equipment. Accordingly, the right-of-use assets for these leases are included on the Group&#x2019;s consolidated balance sheets in property, plant and equipment, net of accumulated depreciation, amortization and impairment losses, with a corresponding amount recorded in current portion of long-term finance lease obligations. The finance lease assets are amortized over the life of the lease or, if shorter, the life of the leased asset, on a straight-line basis and included in depreciation expense. The financing component associated with finance lease obligations is included in interest expense. Generally, for the Group&#x2019;s finance leases an implicit rate to calculate present value is provided in the lease agreement, however if a rate in not provided the Group determines this rate by estimating the Group&#x2019;s incremental borrowing rate, utilizing the borrowing rates associated with the Group&#x2019;s various debt instruments.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 34.65pt; text-align:justify;"&gt;The Group determines if an arrangement is a lease at inception. Lease liabilities are the Group&#x2019;s obligation to make lease payments arising from a lease and are measured on a discounted basis.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;(p) &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;Share capital&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 34.65pt; text-align:justify;"&gt;Paid in capital refers to the registered capital paid up by the shareholders of the Company.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 34.65pt; text-align:justify;"&gt;At December 31, 2024, there were 82,572,000 shares (2023: 82,572,000 shares) issued.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;(q) &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;Use of estimates&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 34.65pt; text-align:justify;"&gt;The preparation of the accompanying consolidated financial statements in conformity with GAAP requires management to make estimates and judgments that affect the reported amounts of assets and liabilities, the disclosure of contingent assets and liabilities at the date of the consolidated financial statements and the reported amounts of revenues and expenses during the reporting period. Certain accounting estimates of the Group require a higher degree of judgment than others in their application. These include the recognition of revenue and earnings from contracts over time, contract assets, net and contract liabilities. Management continually evaluates all of its estimates and judgments based on available information and experience; however, actual results could differ from these estimates.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;(r) &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;Related parties&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 34.65pt; text-align:justify;"&gt;Entities are considered to be related to the Group if the parties, directly or indirectly, through one or more intermediaries, control, are controlled by, or are under common control with the Group. Related parties also include principal owners of the Group, its management, members of the immediate families of principal owners of the Group and its management and other parties with which the Group may deal if one party controls or can significantly influence the management or operating policies of the other to an extent that one of the transacting parties might be prevented from fully pursuing its own separate interests. A party which can significantly influence the management or operating policies of the transacting parties or if it has an ownership interest in one of the transacting parties and can significantly influence the other to an extent that one or more of the transacting parties might be prevented from fully pursuing its own separate interests is also a related party.&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;(s) &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;Net income per ordinary share&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;The Group computes net income per ordinary share using the treasury stock method. Under the treasury stock method, basic earnings per share attributable to Zhejiang Tianlan Environmental Protection Technology Company Limited are computed by dividing net income attributable to Zhejiang Tianlan Environmental Protection Technology Company Limited by the weighted average number of ordinary shares outstanding during the period.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;(t) &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;Warranties&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;The suppliers of the Group offer a standard one-year warranty to end customer of the Group. The Group only provides labour service to repair or replace parts. The Group does not maintain a general warranty reserve because historically labour costs for such repair or replacement have been de minimis.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;(u) &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;Shipping and handling costs&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;Amounts billed to customers related to shipping and handling are classified as revenues, and the Group&#x2019;s shipping and handling costs are included in cost of revenues.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;(v) &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;Finance costs&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;Interest relating to loans repaid is expensed in the period the repayment occurs.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;(w) &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;Concentrations &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;Financial instruments that potentially subject the Group to a concentration of credit risk consist principally of cash and cash equivalents and accounts receivable, net. The Group maintains substantially all of its cash and cash equivalent balances with large financial institutions which are believed to be high quality institutions.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;The Group is subject to a concentration of risk because it derives a significant portion of its revenues from a few customers. The Group&#x2019;s top five customers accounted for approximately 42%, 38%, and 35% of consolidated revenues for the years ended December 31, 2024, 2023 and 2022, respectively. For the years ended December 31, 2024, 2023 and 2022, one customer accounted for 16%, 22% and 14% of annual revenues, respectively.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;The Group grants trade credit under contractual payment terms, generally without collateral, to its customers, which include high credit quality electric utilities, general contractors, owners and managers of industrial properties.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;Consequently, the Group is subject to potential credit risk related to changes in business and economic factors. At December 31, 2024 and 2023, none of the Group&#x2019;s customers individually exceeded 10.0% of accounts receivable. The Group believes the terms and conditions in its contracts, billing and collection policies are adequate to minimize the potential credit risk.&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;(x)&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;Statutory reserve&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;The Group is required to make appropriation to reserve, comprising the PRC statutory reserve, based on after-tax net income determined with generally accepted accounting principles of the PRC (&#x201c;PRC GAAP&#x201d;).&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;Appropriations to the PRC statutory reserve are required to be at least 10% of the after tax net income determined in accordance with PRC GAAP until the reserve is equal to 50% of the entities&#x2019; registered capital.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;(y) &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;Fair value measurements &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;"&gt;ASC 820 provides guidance on how to measure fair value for financial reporting purpose. The Group uses the three-tier hierarchy of fair value measurement, which prioritizes the inputs used in measuring fair value based upon their degree of availability in external active&#160;&#160;&#160; markets. These tiers include: Level 1 (the highest priority), defined as observable inputs, such as quoted prices in active markets; Level 2, defined as inputs other than quoted prices in active markets that are either directly or indirectly observable; and Level 3 (the lowest priority), defined as unobservable inputs in which little or no market data exists, therefore requiring an entity to develop its own assumptions.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;"&gt;As of December 31, 2024 and 2023, the Group determined that the carrying values of cash, and cash equivalents, accounts receivable, net, prepayments and other current assets, contract assets, bank borrowings, accounts payable, other payables and accrued expenses and contract liabilities approximate their fair values because of the short-term nature of these instruments.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;(z) &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;Short-term and long-term investments &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;The Group has elected to apply the measurement alternative to equity securities without readily determinable fair values. As such, the Group&#x2019;s non-marketable equity securities are measured at cost, less any impairment, and are adjusted for changes in fair value resulting from observable transactions for identical or similar investments of the investee.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;(aa) &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;Recent accounting pronouncements&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;Changes to GAAP are typically established by the Financial Accounting Standards Board (&#x201c;FASB&#x201d;) in the form of accounting standards updates (&#x201c;ASUs&#x201d;) to the FASB&#x2019;s ASC. The Group considers the applicability and impact of all ASUs. The Group, based on its assessment, determined that any recently issued or proposed ASUs not listed below are either not applicable to the Group or may have minimal impact on its consolidated financial statements.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;&lt;span style="text-decoration:underline"&gt;Recently adopted accounting pronouncements&lt;/span&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;In June 2016, the FASB issued ASU 2016-13, &#x201c;Financial Instruments&#x2014;Credit Losses (Topic 326), Measurement of Credit Losses on Financial Instruments&#x201d;. The new standard requires the measurement and recognition of expected credit losses using the current expected credit loss model for financial assets held at amortized cost, which includes the Group&#x2019;s accounts receivable, contract assets and non-current assets. It replaces the existing incurred loss impairment model with an expected loss methodology. The recorded credit losses are adjusted each period for changes in expected lifetime credit losses. The standard requires a cumulative effect adjustment to the consolidated balance sheet as of the beginning of the first reporting period in which the guidance is effective. ASC 326, Financial Instruments &#x2014; Credit Losses is effective for public companies for annual reporting periods, and interim periods within those years beginning after December 15, 2019. For all other entities, it is effective for fiscal years beginning after December 15, 2022, including interim periods within those fiscal years. The standard is effective for the Group from January 1, 2023. The Group is in the process determining the impact of the adoption of this standard on its consolidated financial statements.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;In December 2019, the FASB issued ASU 2019-12, &#x201c;Income Taxes (Topic 740): Simplifying the Accounting for Income Taxes&#x201d;, which simplifies the accounting for income taxes. This guidance became effective for the first quarter of 2021 on a prospective basis. The implementation of ASU 2019-12 in the year ended December 31, 2021, did not have a material impact on the Group&#x2019;s consolidated financial statements.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;In October 2021, the FASB issued ASU 2021-08, &#x201c;Business Combinations (Topic 805)&#x201d;. ASU 2021-08 creates an exception to the general recognition and measurement principle for contract assets and contract liabilities from contracts with customers acquired in a business combination. Under this exception, an acquirer applies ASC 606 to recognize and measure contract assets and contract liabilities on the acquisition date. ASC 805 generally requires the acquirer in a business combination to recognize and measure the assets it acquires and the liabilities it assumes at fair value on the acquisition date. The ASU 2021-08 will become effective for fiscal years beginning after December 15, 2022. The adoption of this ASU is not expected to have a material impact on the Group&#x2019;s consolidated financial statements.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;&lt;span style="text-decoration:underline"&gt;Recently issued accounting pronouncements not yet adopted&lt;/span&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;In December 2022, the FASB issued ASU 2022-06, &#x201c;Reference Rate Reform (Topic 848): Deferral of the Sunset Date of Topic 848&#x201d;. This ASU defers the sunset date of Topic 848, which provides relief to entities affected by reference rate reform. The ASU defers the sunset date of Topic 848 from December 31, 2022, to December 31, 2025. The standard is effective immediately and the Group adopted the standard in December 2022 with no financial impact. The Group is currently assessing the impact ASU 2020-04, for which this ASU 2022-06 relates, will have on its consolidated financial statements.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;The Group has reviewed all recently issued, but not yet effective, accounting pronouncements and does not believe the future adoption of any such pronouncements may be expected to cause a material impact on its financial condition or the results of its operations.&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;(ab)&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;Non-controlling interests &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;For entities that are consolidated, but not 100% owned, a portion of the income or loss and equity is allocated to owners other than the Group. The aggregate of the income or loss and corresponding equity that is not owned by the Group is included within non-controlling interests in the consolidated financial statements.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;Non-controlling interests is presented as a separate component of equity in the consolidated balance sheets. Net income includes the net income attributable to the holders of non-controlling interests in the consolidated statements of operations and comprehensive income / (loss). Profits and losses are allocated to non-controlling interests in proportion to their relative ownership interests regardless of their basis.&lt;/p&gt;</us-gaap:SignificantAccountingPoliciesTextBlock>
    <us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_6837">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;The accompanying consolidated financial statements are presented in accordance with accounting principles generally accepted in the United States of America (&#x201c;GAAP&#x201d;).&lt;/p&gt;</us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock>
    <us-gaap:ConsolidationPolicyTextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_6207">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;The accompanying consolidated financial statements include the results of operations of the Company and its subsidiaries. Significant intercompany transactions and balances have been eliminated.&lt;/p&gt;</us-gaap:ConsolidationPolicyTextBlock>
    <us-gaap:ConsolidationSubsidiariesOrOtherInvestmentsConsolidatedEntitiesPolicy
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_6208">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;Subsidiaries are all entities over which the Group has control; has the power to appoint or remove the majority of the members of the board of directors; has the right to cast a majority of votes at the meeting of the board of directors or to govern the financial and operating policies of the investee under a statute or agreement among the shareholders or equity holders.&lt;/p&gt;</us-gaap:ConsolidationSubsidiariesOrOtherInvestmentsConsolidatedEntitiesPolicy>
    <us-gaap:RevenueRecognitionPolicyTextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_6209">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;Our revenue is derived from long-term contracts for customers, as well as short-term contracts for customers. Accounting treatment for these contracts in accordance with Accounting Standards Update (&#x201c;ASU&#x201d;) 2014-09 (Accounting Standards Codification (&#x201c;ASC&#x201d;) Topic 606, Revenue from Contracts with Customers), is as follows:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;&lt;span style="text-decoration:underline"&gt;Performance obligations satisfied over time (Design, installation and operation management services)&lt;/span&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;Recognition of performance obligations&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;A performance obligation is a promise in a contract to transfer a distinct good or service to the customer, and is the unit of account in the new revenue standard. The contract transaction price is allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied. Engineering projects typically span between 12 to 36 months. The majority of our contracts have a single performance obligation as the promise to transfer the individual goods or services is not separately identifiable from other promises in the contracts and, therefore, not distinct. Some contracts have multiple performance obligations, most commonly due to the contract covering multiple phases of the project life cycle (design, installation and operation management services).&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;Revenues are recognized as our obligations are satisfied over time, using the ratio of project costs incurred to estimated total costs for each contract because of the continuous transfer of control to the customer as all of the work is performed at the customer&#x2019;s site and, therefore, the customer controls the asset as it is being installed. This continuous transfer of control to the customer is further supported by clauses in the contract that allow the customer to unilaterally terminate the contract for convenience, pay the Group for costs incurred plus a reasonable profit and take control of any work in process. This cost-to-cost measure is used because management considers it to be the best available measure of progress on these contracts. Contract costs include all direct material, labor, subcontract and other costs.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;Items excluded from cost-to-cost&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;Pre-contract costs are generally not material and are charged to expense as incurred, but in certain cases pre-contract recognition may be deferred if specific probability criteria are met.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;Variable consideration&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;Contract modifications through change orders, claims and incentives are routine in the performance of the Group&#x2019;s contracts to account for changes in the contract specifications or requirements. In most instances, contract modifications are not distinct from the existing contract due to the significant integration of services provided in the contract and are accounted for as a modification of the existing contract and performance obligation. Either the Group or its customers may initiate change orders, which may include changes in specifications or designs, manner of performance, facilities, equipment, materials, sites and period of completion of the work. Change orders that are unapproved as to both price and scope are evaluated as claims. The Group considers claims to be amounts in excess of approved contract prices that the Group seeks to collect from its customers or others for customer-caused delays, errors in specifications and designs, contract terminations, change orders that are either in dispute or are unapproved as to both scope and price, or other causes of unanticipated additional contract costs.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;The Group estimates variable consideration for a performance obligation at the most likely amount to which the Group expects to be entitled (or the most likely amount the Group expects to incur in the case of liquidated damages), utilizing estimation methods that best predict the amount of consideration to which the Group will be entitled (or will incur in the case of liquidated damages). The Group includes variable consideration in the estimated transaction price to the extent it is probable that a significant reversal of cumulative revenue recognized will not occur or when the uncertainty associated with the variable consideration is resolved. The Group&#x2019;s estimates of variable consideration and determination of whether to include estimated amounts in transaction price are based largely on an assessment of its anticipated performance and all information (historical, current and forecasted) that is reasonably available to the Group.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;The effect of variable consideration on the transaction price of a performance obligation is recognized as an adjustment to revenue on a cumulative catch-up basis. To the extent unapproved change orders and claims reflected in transaction price (or excluded from transaction price in the case of liquidated damages) are not resolved in the Group&#x2019;s favor, or to the extent incentives reflected in transaction price are not earned, there could be reductions in, or reversals of, previously recognized revenue.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;</us-gaap:RevenueRecognitionPolicyTextBlock>
    <us-gaap:ResearchAndDevelopmentExpensePolicy
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_6210">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;Research and development costs (&#x201c;R&amp;amp;D&#x201d; costs) are expensed as incurred. The R&amp;amp;D costs amounted to approximately RMB27,371,000, RMB20,452,000 and RMB29,115,000 for the years ended December 31, 2024, 2023 and 2022 respectively and were included in &#x201c;Selling and administrative expenses&#x201d; in the Group&#x2019;s consolidated statements of operations.&lt;/p&gt;</us-gaap:ResearchAndDevelopmentExpensePolicy>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="0"
      id="fid_7134"
      unitRef="CNY">27371000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="0"
      id="fid_7132"
      unitRef="CNY">20452000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiaryIssuerMember"
      decimals="0"
      id="fid_7133"
      unitRef="CNY">29115000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:IncomeTaxPolicyTextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_6211">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;The Group follows the liability method of accounting for income tax. Under this method, deferred tax assets and liabilities are recorded for future tax consequences of temporary differences between the financial reporting and tax bases of assets and liabilities, and are measured using the enacted tax rates and laws that are expected to be in effect when the underlying assets or liabilities are recovered or settled. The Group also evaluates whether the recorded deferred tax assets and valuation allowances can be realized and, when necessary, reduces the amounts to what is expected to be realized.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;The accounting guidance on accounting for uncertainty in income taxes also addresses derecognition, classification, interest and penalties on income taxes, and accounting in interim periods. The Group does not believe it has any uncertain tax positions through the periods ended December 31, 2023, 2022 and 2021 respectively which would have a material impact on the Group&#x2019;s consolidated financial statements.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;The Group files tax returns in the PRC. The tax returns for 2023, 2022 and 2021 are subject to examination by the PRC taxing authorities, commencing with the first year filed.&lt;/p&gt;</us-gaap:IncomeTaxPolicyTextBlock>
    <us-gaap:CashAndCashEquivalentsPolicyTextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_6212">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;Cash and cash equivalents consist of bank deposits with original maturities of three months or less, all of which are unrestricted as to withdrawal and uninsured. There were no cash equivalents as of December 31, 2024 and 2023.&lt;/p&gt;</us-gaap:CashAndCashEquivalentsPolicyTextBlock>
    <us-gaap:ReceivablesPolicyTextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_6213">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;The Group does not charge interest to its customers and carries its customer receivables at their face amounts, less an allowance for doubtful accounts. As is common practice in the industry, the Group classifies all accounts receivable as current assets.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;The Group grants trade credit, on a non-collateralized basis, to its customers and is subject to potential credit risk related to changes in business and overall economic activity. The Group analyzes specific accounts receivable balances, historical bad debts, customer credit-worthiness, current economic trends and changes in customer payment terms when evaluating the adequacy of the allowance for doubtful accounts. In the event that a customer balance is deemed to be uncollectible, the account balance is written-off against the allowance for doubtful accounts.&lt;/p&gt;</us-gaap:ReceivablesPolicyTextBlock>
    <clwt:ClassificationOfContractAssetsNetAndLiabilitiesPolicyTextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_6838">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;For revenue recognized associated with its contracts with customers over time, for which the Group has an enforceable right to receive compensation. Many of our contracts contain specific provisions that determine when the Group can bill for its work performed under these contracts.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;Any revenue earned on a contract that has not yet been billed to the customer is recorded as a contract asset on the Group&#x2019;s consolidated balance sheets.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;The Group&#x2019;s consolidated balance sheets present contract liabilities that contain deferred revenue that represent any costs incurred on contracts in process for which revenue has not yet been recognized.&lt;/p&gt;</clwt:ClassificationOfContractAssetsNetAndLiabilitiesPolicyTextBlock>
    <us-gaap:InventoryPolicyTextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_6215">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;Inventories are measured using the weighted average method and are stated at the lower of cost or net realizable value. Cost of finished goods comprise direct material, direct production costs and an allocated portion of production overhead costs based on normal operating capacity.&lt;/p&gt;</us-gaap:InventoryPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentPolicyTextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_6839">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;Property, plant and equipment is carried at cost. Major modifications or refurbishments which extend the useful life of the assets are capitalized and depreciated over the adjusted remaining useful life of the assets. Upon retirement or disposition of property, plant and equipment, the cost and related accumulated depreciation are removed and any resulting gain or loss is recognized in consolidated income from operations. The cost of maintenance and repairs is charged to expense as incurred. Property, plant and equipment is reviewed for impairment and tested for recoverability whenever events or changes in circumstances indicate that the carrying amount may not be recoverable. If the carrying value of property, plant and equipment exceeds its fair value, an impairment charge would be recorded in the consolidated statement of operations.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;Land in the PRC is owned by the PRC government. The government in the PRC, according to PRC Law, may sell the right to use the land for a specific period of time. Thus, all of the Group&#x2019;s land purchases in the PRC are considered to be leasehold land and are classified as land use right.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;Depreciation of property, plant and equipment and amortization of land use right are computed using the straight-line method over the assets&#x2019; estimated useful lives as follows:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="width:4%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:30%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Land use right&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Over terms of the leases&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Buildings and leasehold improvements&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;11 to 50 years, with 5% residual value&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Furniture, fixtures and office equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;5 years, with 5% residual value&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Motor vehicles&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;5 years, with 5% residual value&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Plant and machineries&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;5 to 10 years, with 5% residual value&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:PropertyPlantAndEquipmentPolicyTextBlock>
    <clwt:PropertyPlantAndEquipmentUsefulLifeTableTextblock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_7011">&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="width:4%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:30%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Land use right&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Over terms of the leases&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Buildings and leasehold improvements&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;11 to 50 years, with 5% residual value&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Furniture, fixtures and office equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;5 years, with 5% residual value&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Motor vehicles&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;5 years, with 5% residual value&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Plant and machineries&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;5 to 10 years, with 5% residual value&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</clwt:PropertyPlantAndEquipmentUsefulLifeTableTextblock>
    <clwt:PublicUtilitiesPropertyPlantAndEquipmentLeaseholdImprovementsFuelUsefulLife
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember_clwt_LandUseRightMember"
      id="fid_7110">Over terms of the leases</clwt:PublicUtilitiesPropertyPlantAndEquipmentLeaseholdImprovementsFuelUsefulLife>
    <clwt:PublicUtilitiesPropertyPlantAndEquipmentLeaseholdImprovementsFuelUsefulLife
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember_us-gaap_BuildingAndBuildingImprovementsMember"
      id="fid_7111">11 to 50 years, with 5% residual value</clwt:PublicUtilitiesPropertyPlantAndEquipmentLeaseholdImprovementsFuelUsefulLife>
    <clwt:PublicUtilitiesPropertyPlantAndEquipmentLeaseholdImprovementsFuelUsefulLife
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember_us-gaap_FurnitureAndFixturesMember"
      id="fid_7112">5 years, with 5% residual value</clwt:PublicUtilitiesPropertyPlantAndEquipmentLeaseholdImprovementsFuelUsefulLife>
    <clwt:PublicUtilitiesPropertyPlantAndEquipmentLeaseholdImprovementsFuelUsefulLife
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember_us-gaap_VehiclesMember"
      id="fid_7113">5 years, with 5% residual value</clwt:PublicUtilitiesPropertyPlantAndEquipmentLeaseholdImprovementsFuelUsefulLife>
    <clwt:PublicUtilitiesPropertyPlantAndEquipmentLeaseholdImprovementsFuelUsefulLife
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember_clwt_PlantAndMachineriesMember"
      id="fid_7114">5 to 10 years, with 5% residual value</clwt:PublicUtilitiesPropertyPlantAndEquipmentLeaseholdImprovementsFuelUsefulLife>
    <us-gaap:IntangibleAssetsFiniteLivedPolicy
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_6846">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The Group is currently amortizing its acquired intangible assets, consisted of patents and others, with finite-lived over periods generally ranging between three to twenty years.&lt;/p&gt;</us-gaap:IntangibleAssetsFiniteLivedPolicy>
    <us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_6217">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;Long-lived assets such as property, plant and equipment and intangible assets with finite lives are evaluated for impairment whenever events or changes in circumstances indicate that the carrying value of an asset may not be fully recoverable or that the useful life is shorter than the Group had originally estimated. When these events occur, the Group evaluates the impairment for the long-lived assets by comparing the carrying value of the assets to an estimate of future undiscounted cash flows expected to be generated from the use of the assets and their eventual disposition. If the sum of the expected future undiscounted cash flows is less than the carrying value of the assets, the Group recognizes an impairment loss based on the excess of the carrying value of the assets over the fair value of the assets. The impairment of long-lived assets amounted to approximately RMB Nil, RMB Nil and RMB Nil for the years ended December 31, 2024, 2023 and 2022 respectively and were included in &#x201c;Selling and administrative expenses&#x201d; in the Group&#x2019;s consolidated statements of operations.&lt;/p&gt;</us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock>
    <clwt:GovernmentGrantIncomePolicyTextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_6840">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;Government grant income consists of receipt of funds to subsidize the investment cost of technical development in China. No present or future obligation arises from the receipt of such amount.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;Government grants are recognized in the consolidated balance sheet initially when there is reasonable assurance that they will be received and that the Group will comply with the conditions attaching to them. Grants that compensate the Group for expenses incurred are recognized as income in the consolidated statement of operations on a systematic basis in the same periods in which the expenses are incurred. Grants that compensate the Group for the cost of an asset are deducted from the carrying amount of the asset and consequently are effectively recognized in the consolidated statements of operations over the useful life of the asset by way of reduced depreciation expenses.&lt;/p&gt;</clwt:GovernmentGrantIncomePolicyTextBlock>
    <us-gaap:LesseeLeasesPolicyTextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_6219">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 34.65pt; text-align:justify;"&gt;The Group adopted ASU No. 2016-02, Leases (Topic 842). The Group leases certain equipment under finance leases. The economic substance of the leases is a financing transaction for acquisition of the equipment. Accordingly, the right-of-use assets for these leases are included on the Group&#x2019;s consolidated balance sheets in property, plant and equipment, net of accumulated depreciation, amortization and impairment losses, with a corresponding amount recorded in current portion of long-term finance lease obligations. The finance lease assets are amortized over the life of the lease or, if shorter, the life of the leased asset, on a straight-line basis and included in depreciation expense. The financing component associated with finance lease obligations is included in interest expense. Generally, for the Group&#x2019;s finance leases an implicit rate to calculate present value is provided in the lease agreement, however if a rate in not provided the Group determines this rate by estimating the Group&#x2019;s incremental borrowing rate, utilizing the borrowing rates associated with the Group&#x2019;s various debt instruments.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 34.65pt; text-align:justify;"&gt;The Group determines if an arrangement is a lease at inception. Lease liabilities are the Group&#x2019;s obligation to make lease payments arising from a lease and are measured on a discounted basis.&lt;/p&gt;</us-gaap:LesseeLeasesPolicyTextBlock>
    <clwt:ShareCapitalPolicyTextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_6841">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 34.65pt; text-align:justify;"&gt;Paid in capital refers to the registered capital paid up by the shareholders of the Company.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 34.65pt; text-align:justify;"&gt;At December 31, 2024, there were 82,572,000 shares (2023: 82,572,000 shares) issued.&lt;/p&gt;</clwt:ShareCapitalPolicyTextBlock>
    <us-gaap:CommonStockSharesIssued
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="0"
      id="fid_7127"
      unitRef="Shares">82572000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued
      contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="0"
      id="fid_7128"
      unitRef="Shares">82572000</us-gaap:CommonStockSharesIssued>
    <us-gaap:UseOfEstimates
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_6221">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 34.65pt; text-align:justify;"&gt;The preparation of the accompanying consolidated financial statements in conformity with GAAP requires management to make estimates and judgments that affect the reported amounts of assets and liabilities, the disclosure of contingent assets and liabilities at the date of the consolidated financial statements and the reported amounts of revenues and expenses during the reporting period. Certain accounting estimates of the Group require a higher degree of judgment than others in their application. These include the recognition of revenue and earnings from contracts over time, contract assets, net and contract liabilities. Management continually evaluates all of its estimates and judgments based on available information and experience; however, actual results could differ from these estimates.&lt;/p&gt;</us-gaap:UseOfEstimates>
    <clwt:RelatedPartiesPolicy
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_6222">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 34.65pt; text-align:justify;"&gt;Entities are considered to be related to the Group if the parties, directly or indirectly, through one or more intermediaries, control, are controlled by, or are under common control with the Group. Related parties also include principal owners of the Group, its management, members of the immediate families of principal owners of the Group and its management and other parties with which the Group may deal if one party controls or can significantly influence the management or operating policies of the other to an extent that one of the transacting parties might be prevented from fully pursuing its own separate interests. A party which can significantly influence the management or operating policies of the transacting parties or if it has an ownership interest in one of the transacting parties and can significantly influence the other to an extent that one or more of the transacting parties might be prevented from fully pursuing its own separate interests is also a related party.&lt;/p&gt;</clwt:RelatedPartiesPolicy>
    <clwt:NetIncomePerOrdinarySharePolicyTextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_6842">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;The Group computes net income per ordinary share using the treasury stock method. Under the treasury stock method, basic earnings per share attributable to Zhejiang Tianlan Environmental Protection Technology Company Limited are computed by dividing net income attributable to Zhejiang Tianlan Environmental Protection Technology Company Limited by the weighted average number of ordinary shares outstanding during the period.&lt;/p&gt;</clwt:NetIncomePerOrdinarySharePolicyTextBlock>
    <us-gaap:ExtendedProductWarrantyPolicy
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_6224">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;The suppliers of the Group offer a standard one-year warranty to end customer of the Group. The Group only provides labour service to repair or replace parts. The Group does not maintain a general warranty reserve because historically labour costs for such repair or replacement have been de minimis.&lt;/p&gt;</us-gaap:ExtendedProductWarrantyPolicy>
    <clwt:ShippingAndHandlingCostsPolicyTextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_6843">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;Amounts billed to customers related to shipping and handling are classified as revenues, and the Group&#x2019;s shipping and handling costs are included in cost of revenues.&lt;/p&gt;</clwt:ShippingAndHandlingCostsPolicyTextBlock>
    <clwt:FinanceCostsPolicyTextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_6226">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;Interest relating to loans repaid is expensed in the period the repayment occurs.&lt;/p&gt;</clwt:FinanceCostsPolicyTextBlock>
    <us-gaap:ConcentrationRiskCreditRisk
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_6227">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;Financial instruments that potentially subject the Group to a concentration of credit risk consist principally of cash and cash equivalents and accounts receivable, net. The Group maintains substantially all of its cash and cash equivalent balances with large financial institutions which are believed to be high quality institutions.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;The Group is subject to a concentration of risk because it derives a significant portion of its revenues from a few customers. The Group&#x2019;s top five customers accounted for approximately 42%, 38%, and 35% of consolidated revenues for the years ended December 31, 2024, 2023 and 2022, respectively. For the years ended December 31, 2024, 2023 and 2022, one customer accounted for 16%, 22% and 14% of annual revenues, respectively.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;The Group grants trade credit under contractual payment terms, generally without collateral, to its customers, which include high credit quality electric utilities, general contractors, owners and managers of industrial properties.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;Consequently, the Group is subject to potential credit risk related to changes in business and economic factors. At December 31, 2024 and 2023, none of the Group&#x2019;s customers individually exceeded 10.0% of accounts receivable. The Group believes the terms and conditions in its contracts, billing and collection policies are adequate to minimize the potential credit risk.&lt;/p&gt;</us-gaap:ConcentrationRiskCreditRisk>
    <clwt:ConcentrationPercentage
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember_us-gaap_SalesRevenueNetMember"
      decimals="INF"
      id="fid_7138"
      unitRef="Pure">0.42</clwt:ConcentrationPercentage>
    <clwt:ConcentrationPercentage
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiaryIssuerMember_us-gaap_SalesRevenueNetMember"
      decimals="INF"
      id="fid_7136"
      unitRef="Pure">0.38</clwt:ConcentrationPercentage>
    <clwt:ConcentrationPercentage
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiaryIssuerMember_us-gaap_SalesRevenueNetMember"
      decimals="INF"
      id="fid_7137"
      unitRef="Pure">0.35</clwt:ConcentrationPercentage>
    <clwt:ConcentrationPercentage
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember_us-gaap_SalesRevenueNetMember_clwt_CustomerOneMember"
      decimals="INF"
      id="fid_7141"
      unitRef="Pure">0.16</clwt:ConcentrationPercentage>
    <clwt:ConcentrationPercentage
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiaryIssuerMember_us-gaap_SalesRevenueNetMember_clwt_CustomerOneMember"
      decimals="INF"
      id="fid_7139"
      unitRef="Pure">0.22</clwt:ConcentrationPercentage>
    <clwt:ConcentrationPercentage
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiaryIssuerMember_us-gaap_SalesRevenueNetMember_clwt_CustomerOneMember"
      decimals="INF"
      id="fid_7140"
      unitRef="Pure">0.14</clwt:ConcentrationPercentage>
    <clwt:StatutoryReservesPolicyTextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_6228">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;The Group is required to make appropriation to reserve, comprising the PRC statutory reserve, based on after-tax net income determined with generally accepted accounting principles of the PRC (&#x201c;PRC GAAP&#x201d;).&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;Appropriations to the PRC statutory reserve are required to be at least 10% of the after tax net income determined in accordance with PRC GAAP until the reserve is equal to 50% of the entities&#x2019; registered capital.&lt;/p&gt;</clwt:StatutoryReservesPolicyTextBlock>
    <us-gaap:FairValueMeasurementPolicyPolicyTextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_6229">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;"&gt;ASC 820 provides guidance on how to measure fair value for financial reporting purpose. The Group uses the three-tier hierarchy of fair value measurement, which prioritizes the inputs used in measuring fair value based upon their degree of availability in external active&#160;&#160;&#160; markets. These tiers include: Level 1 (the highest priority), defined as observable inputs, such as quoted prices in active markets; Level 2, defined as inputs other than quoted prices in active markets that are either directly or indirectly observable; and Level 3 (the lowest priority), defined as unobservable inputs in which little or no market data exists, therefore requiring an entity to develop its own assumptions.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 33.75pt; text-align:justify;"&gt;As of December 31, 2024 and 2023, the Group determined that the carrying values of cash, and cash equivalents, accounts receivable, net, prepayments and other current assets, contract assets, bank borrowings, accounts payable, other payables and accrued expenses and contract liabilities approximate their fair values because of the short-term nature of these instruments.&lt;/p&gt;</us-gaap:FairValueMeasurementPolicyPolicyTextBlock>
    <clwt:ShortTermAndLongTermInvestmentsPolicyTextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_6844">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;The Group has elected to apply the measurement alternative to equity securities without readily determinable fair values. As such, the Group&#x2019;s non-marketable equity securities are measured at cost, less any impairment, and are adjusted for changes in fair value resulting from observable transactions for identical or similar investments of the investee.&lt;/p&gt;</clwt:ShortTermAndLongTermInvestmentsPolicyTextBlock>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_6231">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;Changes to GAAP are typically established by the Financial Accounting Standards Board (&#x201c;FASB&#x201d;) in the form of accounting standards updates (&#x201c;ASUs&#x201d;) to the FASB&#x2019;s ASC. The Group considers the applicability and impact of all ASUs. The Group, based on its assessment, determined that any recently issued or proposed ASUs not listed below are either not applicable to the Group or may have minimal impact on its consolidated financial statements.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;&lt;span style="text-decoration:underline"&gt;Recently adopted accounting pronouncements&lt;/span&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;In June 2016, the FASB issued ASU 2016-13, &#x201c;Financial Instruments&#x2014;Credit Losses (Topic 326), Measurement of Credit Losses on Financial Instruments&#x201d;. The new standard requires the measurement and recognition of expected credit losses using the current expected credit loss model for financial assets held at amortized cost, which includes the Group&#x2019;s accounts receivable, contract assets and non-current assets. It replaces the existing incurred loss impairment model with an expected loss methodology. The recorded credit losses are adjusted each period for changes in expected lifetime credit losses. The standard requires a cumulative effect adjustment to the consolidated balance sheet as of the beginning of the first reporting period in which the guidance is effective. ASC 326, Financial Instruments &#x2014; Credit Losses is effective for public companies for annual reporting periods, and interim periods within those years beginning after December 15, 2019. For all other entities, it is effective for fiscal years beginning after December 15, 2022, including interim periods within those fiscal years. The standard is effective for the Group from January 1, 2023. The Group is in the process determining the impact of the adoption of this standard on its consolidated financial statements.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;In December 2019, the FASB issued ASU 2019-12, &#x201c;Income Taxes (Topic 740): Simplifying the Accounting for Income Taxes&#x201d;, which simplifies the accounting for income taxes. This guidance became effective for the first quarter of 2021 on a prospective basis. The implementation of ASU 2019-12 in the year ended December 31, 2021, did not have a material impact on the Group&#x2019;s consolidated financial statements.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;In October 2021, the FASB issued ASU 2021-08, &#x201c;Business Combinations (Topic 805)&#x201d;. ASU 2021-08 creates an exception to the general recognition and measurement principle for contract assets and contract liabilities from contracts with customers acquired in a business combination. Under this exception, an acquirer applies ASC 606 to recognize and measure contract assets and contract liabilities on the acquisition date. ASC 805 generally requires the acquirer in a business combination to recognize and measure the assets it acquires and the liabilities it assumes at fair value on the acquisition date. The ASU 2021-08 will become effective for fiscal years beginning after December 15, 2022. The adoption of this ASU is not expected to have a material impact on the Group&#x2019;s consolidated financial statements.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;&lt;span style="text-decoration:underline"&gt;Recently issued accounting pronouncements not yet adopted&lt;/span&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;In December 2022, the FASB issued ASU 2022-06, &#x201c;Reference Rate Reform (Topic 848): Deferral of the Sunset Date of Topic 848&#x201d;. This ASU defers the sunset date of Topic 848, which provides relief to entities affected by reference rate reform. The ASU defers the sunset date of Topic 848 from December 31, 2022, to December 31, 2025. The standard is effective immediately and the Group adopted the standard in December 2022 with no financial impact. The Group is currently assessing the impact ASU 2020-04, for which this ASU 2022-06 relates, will have on its consolidated financial statements.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;The Group has reviewed all recently issued, but not yet effective, accounting pronouncements and does not believe the future adoption of any such pronouncements may be expected to cause a material impact on its financial condition or the results of its operations.&lt;/p&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <clwt:NonControllingInterestsPolicyTextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_6845">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;For entities that are consolidated, but not 100% owned, a portion of the income or loss and equity is allocated to owners other than the Group. The aggregate of the income or loss and corresponding equity that is not owned by the Group is included within non-controlling interests in the consolidated financial statements.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;Non-controlling interests is presented as a separate component of equity in the consolidated balance sheets. Net income includes the net income attributable to the holders of non-controlling interests in the consolidated statements of operations and comprehensive income / (loss). Profits and losses are allocated to non-controlling interests in proportion to their relative ownership interests regardless of their basis.&lt;/p&gt;</clwt:NonControllingInterestsPolicyTextBlock>
    <us-gaap:LeasesOfLesseeDisclosureTextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_6183">&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;3. &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;Lease obligations &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;The Group has operating leases primarily for office space. The Group&#x2019;s lease have remaining lease terms of several months to 33 months.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;The components of lease expense are as follows:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Years ended December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Operating lease cost:&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Amortization of right-of-use assets&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;141&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Interest on lease liabilities included under cost of revenue and selling and administrative expenses&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;16&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Total operating lease cost&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;157&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;Supplemental consolidated cash flow information related to leases is as follows:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Years ended December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Cash paid for amounts included in the measurement of lease liabilities:&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Finance cash flows from operating leases&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;440&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Right-of-use assets obtained in exchange for lease obligations (noncash):&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Operating leases&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;Supplemental consolidated balance sheet information related to leases is as follows:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Operating leases&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Right-of-use assets, at cost &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;2,529&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Accumulated amortization &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(141 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Right-of-use assets, net &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;2,388&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Current portion of operating lease &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;563&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Non-current portion of operating lease&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;1,542&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Total operating lease liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;2,105&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Weighted average remaining lease term&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;operating leases &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;33 months&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Weighted average discount rate&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Operating leases&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;3.6&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:LeasesOfLesseeDisclosureTextBlock>
    <us-gaap:LeaseCostTableTextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_6989">&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Years ended December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Operating lease cost:&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Amortization of right-of-use assets&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;141&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Interest on lease liabilities included under cost of revenue and selling and administrative expenses&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;16&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Total operating lease cost&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;157&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:LeaseCostTableTextBlock>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_7545"
      unitRef="USD">141000</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6240"
      unitRef="CNY">0</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_7546"
      unitRef="USD">16000</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6238"
      unitRef="CNY">0</us-gaap:FinanceLeaseInterestExpense>
    <clwt:TotalOperatingLeaseCost
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_7547"
      unitRef="USD">157000</clwt:TotalOperatingLeaseCost>
    <clwt:TotalOperatingLeaseCost
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6242"
      unitRef="CNY">0</clwt:TotalOperatingLeaseCost>
    <clwt:ScheduleOfSupplementalConsolidatedCashFlowInformationRelatedToLeasesTableTextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_7507">&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Years ended December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Cash paid for amounts included in the measurement of lease liabilities:&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Finance cash flows from operating leases&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;440&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Right-of-use assets obtained in exchange for lease obligations (noncash):&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Operating leases&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</clwt:ScheduleOfSupplementalConsolidatedCashFlowInformationRelatedToLeasesTableTextBlock>
    <clwt:FinanceLeasePayments
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_7548"
      unitRef="USD">440000</clwt:FinanceLeasePayments>
    <clwt:FinanceLeasePayments
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6248"
      unitRef="CNY">0</clwt:FinanceLeasePayments>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_7549"
      unitRef="USD">0</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6250"
      unitRef="CNY">0</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <clwt:ScheduleOfSupplementalConsolidatedBalanceSheetInformationRelatedToLeasesTableTextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_7506">&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Operating leases&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Right-of-use assets, at cost &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;2,529&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Accumulated amortization &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(141 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Right-of-use assets, net &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;2,388&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Current portion of operating lease &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;563&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Non-current portion of operating lease&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;1,542&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Total operating lease liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;2,105&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Weighted average remaining lease term&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;operating leases &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;33 months&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Weighted average discount rate&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Operating leases&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;3.6&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</clwt:ScheduleOfSupplementalConsolidatedBalanceSheetInformationRelatedToLeasesTableTextBlock>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember_clwt_LeaseObligationsMember"
      decimals="-3"
      id="fid_7550"
      unitRef="USD">2529000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember_clwt_LeaseObligationsMember"
      decimals="-3"
      id="fid_7183"
      unitRef="USD">0</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember_clwt_LeaseObligationsMember"
      decimals="-3"
      id="fid_7551"
      unitRef="USD">141000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember_clwt_LeaseObligationsMember"
      decimals="-3"
      id="fid_6266"
      unitRef="CNY">0</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember_clwt_LeaseObligationsMember"
      decimals="-3"
      id="fid_7552"
      unitRef="USD">2388000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember_clwt_LeaseObligationsMember"
      decimals="-3"
      id="fid_6268"
      unitRef="CNY">0</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember_clwt_LeaseObligationsMember"
      decimals="-3"
      id="fid_7553"
      unitRef="USD">563000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember_clwt_LeaseObligationsMember"
      decimals="-3"
      id="fid_7181"
      unitRef="USD">0</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember_clwt_LeaseObligationsMember"
      decimals="-3"
      id="fid_7554"
      unitRef="USD">1542000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiability
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember_clwt_LeaseObligationsMember"
      decimals="-3"
      id="fid_7555"
      unitRef="USD">2105000</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseLiability
      contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember_clwt_LeaseObligationsMember"
      decimals="-3"
      id="fid_7177"
      unitRef="USD">0</us-gaap:OperatingLeaseLiability>
    <clwt:WeightedAverageRemainingLeaseTermOperatingLeases
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember_clwt_LeaseObligationsMember"
      id="fid_7557">P33M</clwt:WeightedAverageRemainingLeaseTermOperatingLeases>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember_clwt_LeaseObligationsMember"
      decimals="INF"
      id="fid_7556"
      unitRef="Pure">0.036</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_6184">&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;4. &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;Accounts receivable, net&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;Accounts receivable, net consisted of the following at December 31:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;3&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt; &lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Contract receivables&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;171,008&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;157,879&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;Less: allowance for doubtful accounts&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: #000000 1px solid;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;(35,952&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;)&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: #000000 1px solid;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;(29,644&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: black 3px double;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;135,056&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: black 3px double;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;128,235&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;The roll-forward of activity in the allowance for doubtful accounts was as follows for the years ended December 31:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;3&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Balance at beginning of year&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;29,644&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;40,019&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Add: provision for allowances &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;6,304&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;10,376&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Less: reversal of provision for doubtful accounts&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;(677 &lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Less: write-off of doubtful accounts&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(20,074 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Balance at end of year&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;35,952&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;29,644&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;The following is an aging analysis of accounts receivable, net at December 31:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;3&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Within 1 year&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;100,254&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;121,658&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;1 year -&#160; 2 years&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;30,292&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;31,499&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;2 years - 3 years&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;10,701&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;3,140&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;3 years - 4 years&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;3,515&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;699&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;4 years - 5 years&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;456&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;883&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Over 5 years&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;25,790&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Less: allowance for doubtful accounts&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(35,952 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&#160;(29,644&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;)&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;135,056&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;128,235&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;At December 31, 2024, the accounts receivable, net pledged as security for the Company&#x2019;s bank loans and third party loans amounted to RMB Nil (2023: RMB Nil).&lt;/p&gt;</us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock>
    <us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_7519">&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;3&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt; &lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Contract receivables&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;171,008&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;157,879&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;Less: allowance for doubtful accounts&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: #000000 1px solid;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;(35,952&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;)&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: #000000 1px solid;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;(29,644&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: black 3px double;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;135,056&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: black 3px double;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;128,235&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock>
    <us-gaap:AccountsReceivableGross
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6405"
      unitRef="CNY">171008000</us-gaap:AccountsReceivableGross>
    <us-gaap:AccountsReceivableGross
      contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6404"
      unitRef="CNY">157879000</us-gaap:AccountsReceivableGross>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6407"
      unitRef="CNY">35952000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6406"
      unitRef="CNY">29644000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6409"
      unitRef="CNY">135056000</us-gaap:AccountsReceivableNet>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6408"
      unitRef="CNY">128235000</us-gaap:AccountsReceivableNet>
    <us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_6992">&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;3&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Balance at beginning of year&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;29,644&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;40,019&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Add: provision for allowances &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;6,304&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;10,376&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Less: reversal of provision for doubtful accounts&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;(677 &lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Less: write-off of doubtful accounts&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(20,074 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Balance at end of year&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;35,952&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;29,644&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6415"
      unitRef="CNY">29644000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="AsOf2022-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6424"
      unitRef="CNY">40019000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:AllowanceForDoubtfulAccountsReceivablePeriodIncreaseDecrease
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6419"
      unitRef="CNY">6304000</us-gaap:AllowanceForDoubtfulAccountsReceivablePeriodIncreaseDecrease>
    <us-gaap:AllowanceForDoubtfulAccountsReceivablePeriodIncreaseDecrease
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6417"
      unitRef="CNY">10376000</us-gaap:AllowanceForDoubtfulAccountsReceivablePeriodIncreaseDecrease>
    <clwt:ReversalOfProvisionForDoubtfulAccounts
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6420"
      unitRef="CNY">0</clwt:ReversalOfProvisionForDoubtfulAccounts>
    <clwt:ReversalOfProvisionForDoubtfulAccounts
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6418"
      unitRef="CNY">-677000</clwt:ReversalOfProvisionForDoubtfulAccounts>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6414"
      unitRef="CNY">0</us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6421"
      unitRef="CNY">20074000</us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6425"
      unitRef="CNY">35952000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6416"
      unitRef="CNY">29644000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:PastDueFinancingReceivablesTableTextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_6993">&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;3&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Within 1 year&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;100,254&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;121,658&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;1 year -&#160; 2 years&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;30,292&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;31,499&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;2 years - 3 years&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;10,701&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;3,140&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;3 years - 4 years&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;3,515&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;699&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;4 years - 5 years&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;456&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;883&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Over 5 years&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;25,790&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Less: allowance for doubtful accounts&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(35,952 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&#160;(29,644&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;)&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;135,056&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;128,235&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:PastDueFinancingReceivablesTableTextBlock>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember_clwt_WithinOneYearMember"
      decimals="-3"
      id="fid_6441"
      unitRef="CNY">100254000</us-gaap:AccountsReceivableNet>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember_clwt_WithinOneYearMember"
      decimals="-3"
      id="fid_6440"
      unitRef="CNY">121658000</us-gaap:AccountsReceivableNet>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember_clwt_OneYearToTwoYearMember"
      decimals="-3"
      id="fid_6443"
      unitRef="CNY">30292000</us-gaap:AccountsReceivableNet>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember_clwt_OneYearToTwoYearMember"
      decimals="-3"
      id="fid_6442"
      unitRef="CNY">31499000</us-gaap:AccountsReceivableNet>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember_clwt_TwoYearToThreeYearMember"
      decimals="-3"
      id="fid_6445"
      unitRef="CNY">10701000</us-gaap:AccountsReceivableNet>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember_clwt_TwoYearToThreeYearMember"
      decimals="-3"
      id="fid_6444"
      unitRef="CNY">3140000</us-gaap:AccountsReceivableNet>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember_clwt_ThreeYearsToFourYearMember"
      decimals="-3"
      id="fid_6447"
      unitRef="CNY">3515000</us-gaap:AccountsReceivableNet>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember_clwt_ThreeYearsToFourYearMember"
      decimals="-3"
      id="fid_6446"
      unitRef="CNY">699000</us-gaap:AccountsReceivableNet>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember_clwt_FourYearsToFiveYearsMember"
      decimals="-3"
      id="fid_6449"
      unitRef="CNY">456000</us-gaap:AccountsReceivableNet>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember_clwt_FourYearsToFiveYearsMember"
      decimals="-3"
      id="fid_6448"
      unitRef="CNY">883000</us-gaap:AccountsReceivableNet>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember_clwt_OverfiveYearsMember"
      decimals="-3"
      id="fid_7146"
      unitRef="USD">25790000</us-gaap:AccountsReceivableNet>
    <clwt:AllowanceForDoubtfulAccountsReceivables
      contextRef="AsOf2024-12-31"
      decimals="-3"
      id="fid_7147"
      unitRef="USD">35952000</clwt:AllowanceForDoubtfulAccountsReceivables>
    <clwt:AllowanceForDoubtfulAccountsReceivables
      contextRef="AsOf2023-12-31"
      decimals="-3"
      id="fid_7558"
      unitRef="USD">29644000</clwt:AllowanceForDoubtfulAccountsReceivables>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6451"
      unitRef="CNY">135056000</us-gaap:AccountsReceivableNet>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6450"
      unitRef="CNY">128235000</us-gaap:AccountsReceivableNet>
    <us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_6185">&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;5. &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;Prepayments and other current assets&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;Prepayments and other current assets mainly represent deposits paid for bidding projects, purchases, services and finance leases and prepaid expenses.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;3&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Prepayments&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;21,462&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;16,622&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Deposits paid for bidding projects and temporary payments&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;7,610&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;6,257&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Other current assets&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;1,716&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;862&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;30,788&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;23,741&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureTextBlock>
    <us-gaap:ScheduleOfOtherCurrentAssetsTableTextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_6994">&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;3&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Prepayments&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;21,462&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;16,622&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Deposits paid for bidding projects and temporary payments&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;7,610&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;6,257&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Other current assets&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;1,716&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;862&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;30,788&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;23,741&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:ScheduleOfOtherCurrentAssetsTableTextBlock>
    <us-gaap:PrepaidExpenseCurrentAndNoncurrent
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6712"
      unitRef="CNY">21462000</us-gaap:PrepaidExpenseCurrentAndNoncurrent>
    <us-gaap:PrepaidExpenseCurrentAndNoncurrent
      contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6711"
      unitRef="CNY">16622000</us-gaap:PrepaidExpenseCurrentAndNoncurrent>
    <clwt:DepositsPaidForBiddingProjectsAndTemporaryPayments
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6710"
      unitRef="CNY">7610000</clwt:DepositsPaidForBiddingProjectsAndTemporaryPayments>
    <clwt:DepositsPaidForBiddingProjectsAndTemporaryPayments
      contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6709"
      unitRef="CNY">6257000</clwt:DepositsPaidForBiddingProjectsAndTemporaryPayments>
    <us-gaap:OtherAssetsCurrent
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6708"
      unitRef="CNY">1716000</us-gaap:OtherAssetsCurrent>
    <us-gaap:OtherAssetsCurrent
      contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6707"
      unitRef="CNY">862000</us-gaap:OtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssets
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6706"
      unitRef="CNY">30788000</us-gaap:PrepaidExpenseAndOtherAssets>
    <us-gaap:PrepaidExpenseAndOtherAssets
      contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6705"
      unitRef="CNY">23741000</us-gaap:PrepaidExpenseAndOtherAssets>
    <clwt:ContractWithCustomerAssetAndLiabilityDisclosureTextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_6186">&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;6. &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;Contract assets, net and liabilities&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;Contracts with customers usually stipulate the timing of payment, which is defined by the terms found within the various contracts under which work was performed during the period. Therefore, contract assets and liabilities are created when the timing of costs incurred on work performed does not coincide with the billing terms.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;The Group&#x2019;s consolidated balance sheets present contract assets, net which contains earned unbilled revenue associated with contract work that has been completed but not paid by customers, that are generally due once the job is completed and approved.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;Contract assets, net consisted of the following at December 31:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;3&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Unbilled revenue&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;66,644&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;72,880&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;The Group&#x2019;s consolidated balance sheets present contract liabilities which contain deferred revenue (previously identified as billings in excess of costs and estimated earnings on uncompleted contracts).&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;Contract liabilities consisted of the following at December 31:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;3&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 3.8pt"&gt;Deferred revenue&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;35,367&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;43,452&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;The following table provides information about contract assets, net and contract liabilities from contracts with customers at December 31:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;3&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Contract assets&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;66,644&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;72,880&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Contract liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(35,367 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(43,452 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Net contract assets&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;31,277&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;29,428&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;The difference between the opening and closing balances of the Group&#x2019;s contract assets, net and contract liabilities primarily results from the timing of the Group&#x2019;s billings in relation to its performance of work.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;The net asset position for contracts in process consisted of the following at December 31:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;3&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Costs and estimated earnings on uncompleted contracts&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;48,274&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;239,648&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Less: billings to date&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(16,997 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(210,220 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;31,277&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;29,428&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;Contract assets, net consisted of the following at December 31:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;3&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Gross contract assets &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;77,657&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;83,170&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Less: allowance for doubtful accounts &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(11,013 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(10,290 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;66,644&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;72,880&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</clwt:ContractWithCustomerAssetAndLiabilityDisclosureTextBlock>
    <us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_6995">&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;3&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Unbilled revenue&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;66,644&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;72,880&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;3&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 3.8pt"&gt;Deferred revenue&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;35,367&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;43,452&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;3&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Contract assets&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;66,644&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;72,880&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Contract liabilities&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(35,367 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(43,452 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Net contract assets&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;31,277&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;29,428&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;3&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Gross contract assets &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;77,657&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;83,170&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Less: allowance for doubtful accounts &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(11,013 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(10,290 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;66,644&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;72,880&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock>
    <us-gaap:ContractWithCustomerAssetNet
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember_us-gaap_UnbilledRevenuesMember"
      decimals="-3"
      id="fid_6716"
      unitRef="CNY">66644000</us-gaap:ContractWithCustomerAssetNet>
    <us-gaap:ContractWithCustomerAssetNet
      contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember_us-gaap_UnbilledRevenuesMember"
      decimals="-3"
      id="fid_6715"
      unitRef="CNY">72880000</us-gaap:ContractWithCustomerAssetNet>
    <us-gaap:DeferredRevenue
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6719"
      unitRef="CNY">35367000</us-gaap:DeferredRevenue>
    <us-gaap:DeferredRevenue
      contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6720"
      unitRef="CNY">43452000</us-gaap:DeferredRevenue>
    <us-gaap:ContractWithCustomerAssetNet
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6732"
      unitRef="CNY">66644000</us-gaap:ContractWithCustomerAssetNet>
    <us-gaap:ContractWithCustomerAssetNet
      contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6731"
      unitRef="CNY">72880000</us-gaap:ContractWithCustomerAssetNet>
    <us-gaap:ContractWithCustomerLiability
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6730"
      unitRef="CNY">35367000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability
      contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6729"
      unitRef="CNY">43452000</us-gaap:ContractWithCustomerLiability>
    <clwt:ContractWithCustomerAssetLiabilityNet
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6728"
      unitRef="CNY">31277000</clwt:ContractWithCustomerAssetLiabilityNet>
    <clwt:ContractWithCustomerAssetLiabilityNet
      contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6727"
      unitRef="CNY">29428000</clwt:ContractWithCustomerAssetLiabilityNet>
    <clwt:ContractWithCustomerNetAssetLiabilityPositionTableTextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_6997">&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;3&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Costs and estimated earnings on uncompleted contracts&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;48,274&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;239,648&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Less: billings to date&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(16,997 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(210,220 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;31,277&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;29,428&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</clwt:ContractWithCustomerNetAssetLiabilityPositionTableTextBlock>
    <clwt:CostsAndEstimatedEarningsOnUncompletedContracts
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6748"
      unitRef="CNY">48274000</clwt:CostsAndEstimatedEarningsOnUncompletedContracts>
    <clwt:CostsAndEstimatedEarningsOnUncompletedContracts
      contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6747"
      unitRef="CNY">239648000</clwt:CostsAndEstimatedEarningsOnUncompletedContracts>
    <clwt:BillingsToDate
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_7562"
      unitRef="USD">16997000</clwt:BillingsToDate>
    <clwt:BillingsToDate
      contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_7563"
      unitRef="USD">210220000</clwt:BillingsToDate>
    <clwt:CostsAndEstimatedEarningsOnUncompletedContractsInExcessOfBillingsUnbilledRevenue
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6744"
      unitRef="CNY">31277000</clwt:CostsAndEstimatedEarningsOnUncompletedContractsInExcessOfBillingsUnbilledRevenue>
    <clwt:CostsAndEstimatedEarningsOnUncompletedContractsInExcessOfBillingsUnbilledRevenue
      contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6743"
      unitRef="CNY">29428000</clwt:CostsAndEstimatedEarningsOnUncompletedContractsInExcessOfBillingsUnbilledRevenue>
    <us-gaap:ContractWithCustomerAssetGross
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6759"
      unitRef="CNY">77657000</us-gaap:ContractWithCustomerAssetGross>
    <us-gaap:ContractWithCustomerAssetGross
      contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6760"
      unitRef="CNY">83170000</us-gaap:ContractWithCustomerAssetGross>
    <us-gaap:ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6757"
      unitRef="CNY">11013000</us-gaap:ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss>
    <us-gaap:ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss
      contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6758"
      unitRef="CNY">10290000</us-gaap:ContractWithCustomerAssetAccumulatedAllowanceForCreditLoss>
    <us-gaap:ContractWithCustomerAssetNet
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6755"
      unitRef="CNY">66644000</us-gaap:ContractWithCustomerAssetNet>
    <us-gaap:ContractWithCustomerAssetNet
      contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6756"
      unitRef="CNY">72880000</us-gaap:ContractWithCustomerAssetNet>
    <us-gaap:InventoryDisclosureTextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_6187">&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;7. &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;Inventories&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;3&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Raw materials&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;676&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;54&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Finished goods&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;4,032&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;4,415&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;4,708&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;4,469&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:InventoryDisclosureTextBlock>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_6998">&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;3&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Raw materials&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;676&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;54&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Finished goods&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;4,032&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;4,415&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;4,708&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;4,469&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryRawMaterialsNetOfReserves
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6292"
      unitRef="CNY">676000</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventoryRawMaterialsNetOfReserves
      contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6291"
      unitRef="CNY">54000</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6294"
      unitRef="CNY">4032000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6293"
      unitRef="CNY">4415000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryNet
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6296"
      unitRef="CNY">4708000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6295"
      unitRef="CNY">4469000</us-gaap:InventoryNet>
    <clwt:CashCashEquivalentsAndShortTermAndLongTermInvestmentsTextBlock
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      id="fid_6189">&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;8. &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;Short-term and long-term investments&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;The Group&#x2019;s short-term investments consist of wealth management products and long-term investments consist of minority ownership interests in RMB53,292,000 (2023: Nil) limited liability company, generally from private equity arrangements. These investments are carried under the equity method of accounting, with changes in the carrying value reported as realized gains or losses in the consolidated financial statements. &lt;/p&gt;</clwt:CashCashEquivalentsAndShortTermAndLongTermInvestmentsTextBlock>
    <us-gaap:OtherOwnershipInterestsValue
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="0"
      id="fid_6495"
      unitRef="CNY">53292000</us-gaap:OtherOwnershipInterestsValue>
    <us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_6190">&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;9. &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;Property, plant and equipment&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;3&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Building and leasehold improvements&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;112,792&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;112,792&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Furniture, fixtures and office equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;4,272&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;4,122&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Motor vehicles&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;4,503&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;4,478&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Plant and machineries&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;10,852&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;10,619&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;132,419&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;132,011&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Less: Accumulated depreciation and amortization &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;(74,681 &lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;(68,506 &lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(74,681 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(68,506 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Net &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;57,738&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;63,505&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="BORDER-BOTTOM: 1px solid;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Year ended December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="7" style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="BORDER-BOTTOM: 1px solid;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="BORDER-BOTTOM: 1px solid;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;3&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="BORDER-BOTTOM: 1px solid;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;2&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Depreciation charge&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;6,175&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;5,964&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;6,580&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;At December 31, 2024, the net book value of property, plant and equipment pledged as security for the Company&#x2019;s bank loans and third party loans amounted to approximately RMB777,000 (2023: RMB1,026,000).&lt;/p&gt;</us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock>
    <us-gaap:PropertyPlantAndEquipmentTextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_6999">&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;3&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Building and leasehold improvements&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;112,792&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;112,792&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Furniture, fixtures and office equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;4,272&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;4,122&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Motor vehicles&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;4,503&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;4,478&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Plant and machineries&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;10,852&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;10,619&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;132,419&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;132,011&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Less: Accumulated depreciation and amortization &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;(74,681 &lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;(68,506 &lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(74,681 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(68,506 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Net &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;57,738&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;63,505&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="BORDER-BOTTOM: 1px solid;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Year ended December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="7" style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="BORDER-BOTTOM: 1px solid;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="BORDER-BOTTOM: 1px solid;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;3&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2" style="BORDER-BOTTOM: 1px solid;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;2&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Depreciation charge&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;6,175&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;5,964&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;6,580&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:PropertyPlantAndEquipmentTextBlock>
    <us-gaap:BuildingsAndImprovementsGross
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6482"
      unitRef="CNY">112792000</us-gaap:BuildingsAndImprovementsGross>
    <us-gaap:BuildingsAndImprovementsGross
      contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6468"
      unitRef="CNY">112792000</us-gaap:BuildingsAndImprovementsGross>
    <us-gaap:FurnitureAndFixturesGross
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6470"
      unitRef="CNY">4272000</us-gaap:FurnitureAndFixturesGross>
    <us-gaap:FurnitureAndFixturesGross
      contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6469"
      unitRef="CNY">4122000</us-gaap:FurnitureAndFixturesGross>
    <us-gaap:MachineryAndEquipmentGross
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6472"
      unitRef="CNY">4503000</us-gaap:MachineryAndEquipmentGross>
    <us-gaap:MachineryAndEquipmentGross
      contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6471"
      unitRef="CNY">4478000</us-gaap:MachineryAndEquipmentGross>
    <clwt:PlantAndMachineries
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6483"
      unitRef="CNY">10852000</clwt:PlantAndMachineries>
    <clwt:PlantAndMachineries
      contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6473"
      unitRef="CNY">10619000</clwt:PlantAndMachineries>
    <clwt:PropertyPlantsAndEquipmentGross
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6475"
      unitRef="CNY">132419000</clwt:PropertyPlantsAndEquipmentGross>
    <clwt:PropertyPlantsAndEquipmentGross
      contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6474"
      unitRef="CNY">132011000</clwt:PropertyPlantsAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6477"
      unitRef="CNY">74681000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6476"
      unitRef="CNY">68506000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <clwt:Accumulated
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6485"
      unitRef="CNY">74681000</clwt:Accumulated>
    <clwt:Accumulated
      contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6479"
      unitRef="CNY">68506000</clwt:Accumulated>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6481"
      unitRef="CNY">57738000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6480"
      unitRef="CNY">63505000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6491"
      unitRef="CNY">6175000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6489"
      unitRef="CNY">5964000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6490"
      unitRef="CNY">6580000</us-gaap:DepreciationDepletionAndAmortization>
    <srt:BankLoans
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="0"
      id="fid_7151"
      unitRef="CNY">777000</srt:BankLoans>
    <srt:BankLoans
      contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="0"
      id="fid_7150"
      unitRef="CNY">1026000</srt:BankLoans>
    <us-gaap:IntangibleAssetsDisclosureTextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_6192">&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;10. &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;Intangible assets, net&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;3&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;Amortizable intangible assets&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Gross carrying amount&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Patents&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;4,150&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;4,150&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Others&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;165&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;165&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;4,315&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;4,315&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Less: Accumulated amortization&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(2,787 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(2,552 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Net carrying amount&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;1,528&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;1,763&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Year ended December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;3&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;2&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Amortization expense&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;235&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;246&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;257&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;At December 31, 2024, estimated future intangible assets amortization expense for each of the next five years and thereafter was as follows:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Future amortization expense &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;2025&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;235&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;2026&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;235&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;2027&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;235&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;2028&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;235&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;2029&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;235&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Thereafter&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;353&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;1,528&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:IntangibleAssetsDisclosureTextBlock>
    <clwt:IntangibleAssetsDisclosureTableTextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_7000">&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;3&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;Amortizable intangible assets&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Gross carrying amount&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Patents&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;4,150&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;4,150&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Others&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;165&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;165&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;4,315&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;4,315&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Less: Accumulated amortization&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(2,787 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(2,552 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Net carrying amount&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;1,528&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;1,763&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Year ended December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;3&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;2&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Amortization expense&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;235&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;246&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;257&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</clwt:IntangibleAssetsDisclosureTableTextBlock>
    <us-gaap:FiniteLivedPatentsGross
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6304"
      unitRef="CNY">4150000</us-gaap:FiniteLivedPatentsGross>
    <us-gaap:FiniteLivedPatentsGross
      contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6299"
      unitRef="CNY">4150000</us-gaap:FiniteLivedPatentsGross>
    <us-gaap:OtherFiniteLivedIntangibleAssetsGross
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6305"
      unitRef="CNY">165000</us-gaap:OtherFiniteLivedIntangibleAssetsGross>
    <us-gaap:OtherFiniteLivedIntangibleAssetsGross
      contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6300"
      unitRef="CNY">165000</us-gaap:OtherFiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6306"
      unitRef="CNY">4315000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6301"
      unitRef="CNY">4315000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6307"
      unitRef="CNY">-2787000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6302"
      unitRef="CNY">-2552000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6308"
      unitRef="CNY">1528000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6303"
      unitRef="CNY">1763000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6311"
      unitRef="CNY">235000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6309"
      unitRef="CNY">246000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6310"
      unitRef="CNY">257000</us-gaap:AmortizationOfIntangibleAssets>
    <clwt:EstimatedFutureIntangibleAssetsAmortizationExpenseTableTextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_7001">&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Future amortization expense &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;2025&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;235&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;2026&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;235&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;2027&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;235&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;2028&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;235&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;2029&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;235&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Thereafter&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;353&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;1,528&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</clwt:EstimatedFutureIntangibleAssetsAmortizationExpenseTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6312"
      unitRef="CNY">235000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6313"
      unitRef="CNY">235000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6314"
      unitRef="CNY">235000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6315"
      unitRef="CNY">235000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6316"
      unitRef="CNY">235000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6317"
      unitRef="CNY">353000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive>
    <clwt:FiniteLivedIntangibleAssetsAmortizationExpense
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6318"
      unitRef="CNY">1528000</clwt:FiniteLivedIntangibleAssetsAmortizationExpense>
    <clwt:LandUseRightNetDisclosureTextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_6193">&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;11. &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;Land use right, net&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;3&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Gross carrying amount&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Land use right&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;7,361&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;7,361&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Less: Accumulated amortization&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(2,811 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(2,662 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Net carrying amount&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;4,550&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;4,699&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Year ended December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;3&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;2&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Amortization expense&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;149&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;180&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;150&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;At December 31, 2024, the land use right pledged as security for the Company&#x2019;s bank loans and third party&#x2019;s loans amounted to approximately RMB1,326,000 (2023: RMB1,371,000).&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;As December 31, 2024, estimated future land use right amortization expense for each of the next five years and thereafter was as follows:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Future amortization expense&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;2025&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;149&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;2026&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;149&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;2027&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;149&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;2028&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;149&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;2029&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;149&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Thereafter&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;3,805&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;4,550&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</clwt:LandUseRightNetDisclosureTextBlock>
    <clwt:LandUseRightNetTableTextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_7002">&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;3&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Gross carrying amount&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Land use right&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;7,361&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;7,361&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Less: Accumulated amortization&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(2,811 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(2,662 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Net carrying amount&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;4,550&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;4,699&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Year ended December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;3&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;2&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Amortization expense&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;149&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;180&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;150&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</clwt:LandUseRightNetTableTextBlock>
    <us-gaap:FiniteLivedContractualRightsGross
      contextRef="AsOf2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6497"
      unitRef="CNY">7361000</us-gaap:FiniteLivedContractualRightsGross>
    <us-gaap:FiniteLivedContractualRightsGross
      contextRef="AsOf2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6496"
      unitRef="CNY">7361000</us-gaap:FiniteLivedContractualRightsGross>
    <clwt:LandUseRightAccumulatedAmortisation
      contextRef="AsOf2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6499"
      unitRef="CNY">-2811000</clwt:LandUseRightAccumulatedAmortisation>
    <clwt:LandUseRightAccumulatedAmortisation
      contextRef="AsOf2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6498"
      unitRef="CNY">-2662000</clwt:LandUseRightAccumulatedAmortisation>
    <clwt:FiniteLivedIntangibleAssetContractualRightNetLandUseRight
      contextRef="AsOf2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6501"
      unitRef="CNY">4550000</clwt:FiniteLivedIntangibleAssetContractualRightNetLandUseRight>
    <clwt:FiniteLivedIntangibleAssetContractualRightNetLandUseRight
      contextRef="AsOf2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6500"
      unitRef="CNY">4699000</clwt:FiniteLivedIntangibleAssetContractualRightNetLandUseRight>
    <us-gaap:AccretionExpense
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="0"
      id="fid_6504"
      unitRef="CNY">149</us-gaap:AccretionExpense>
    <us-gaap:AccretionExpense
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="0"
      id="fid_6502"
      unitRef="CNY">180</us-gaap:AccretionExpense>
    <us-gaap:AccretionExpense
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiaryIssuerMember"
      decimals="0"
      id="fid_6503"
      unitRef="CNY">150</us-gaap:AccretionExpense>
    <clwt:LandUseRightPledgedBankLoan
      contextRef="AsOf2024-12-31_srt_SubsidiariesMember"
      decimals="0"
      id="fid_6512"
      unitRef="CNY">1326000</clwt:LandUseRightPledgedBankLoan>
    <clwt:LandUseRightPledgedBankLoan
      contextRef="AsOf2023-12-31_srt_SubsidiariesMember"
      decimals="0"
      id="fid_6513"
      unitRef="CNY">1371000</clwt:LandUseRightPledgedBankLoan>
    <clwt:LandUseRightNetEstimatedFutureLandUseRightAmortizationExpenseTableTextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_7003">&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Future amortization expense&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;2025&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;149&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;2026&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;149&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;2027&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;149&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;2028&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;149&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;2029&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;149&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Thereafter&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;3,805&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;4,550&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</clwt:LandUseRightNetEstimatedFutureLandUseRightAmortizationExpenseTableTextBlock>
    <clwt:LandUseRightAmortizationExpenseYearTwo
      contextRef="AsOf2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6505"
      unitRef="CNY">149000</clwt:LandUseRightAmortizationExpenseYearTwo>
    <clwt:LandUseRightAmortizationExpenseNextTwelveMonths
      contextRef="AsOf2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6506"
      unitRef="CNY">149000</clwt:LandUseRightAmortizationExpenseNextTwelveMonths>
    <clwt:LandUseRightAmortizationExpenseYearThree
      contextRef="AsOf2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6507"
      unitRef="CNY">149000</clwt:LandUseRightAmortizationExpenseYearThree>
    <clwt:LandUseRightAmortizationExpenseYearFour
      contextRef="AsOf2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6508"
      unitRef="CNY">149000</clwt:LandUseRightAmortizationExpenseYearFour>
    <clwt:LandUseRightAmortizationExpenseYearFive
      contextRef="AsOf2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6509"
      unitRef="CNY">149000</clwt:LandUseRightAmortizationExpenseYearFive>
    <clwt:LandUseRightAmortizationExpenseThereafter
      contextRef="AsOf2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6510"
      unitRef="CNY">3805000</clwt:LandUseRightAmortizationExpenseThereafter>
    <clwt:LandUseRightAmortizationExpense
      contextRef="AsOf2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6511"
      unitRef="CNY">4550000</clwt:LandUseRightAmortizationExpense>
    <clwt:BankBorrowingsDisclosureTextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_6194">&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;12. &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;Bank borrowings&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;3&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Bank loans borrowed by the Company (note i)&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;1,001&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;1,502&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Bank loans borrowed by subsidiaries of the Company (note ii)&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;5,005&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;5,007&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;6,006&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;6,509&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:8%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;(i)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The bank loans are denominated in Renminbi and are repayable within 1 year. The bank loans borrowed by the Company as of December 31, 2024 bears interest at fixed rates of 3.85% (2023: 3.85%) per annum. Interest paid during the year ended December 31, 2024 was approximately RMB54,000 (2023: RMB32,000 and 2022: RMB408,000).&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;(ii)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The bank loans are denominated in Renminbi and are repayable within 1 year. The bank loans borrowed by subsidiaries of the Company as of December 31, 2024, bears interest at a fixed rate of 4.85 % (2023: a fixed rate of 4.85 %) per annum and are secured by the subsidiary&#x2019;s office premises and leasehold improvements and land use right. Interest paid during the year ended December 31, 2024 was approximately RMB184,000 (2023: RMB221,000 and 2022: RMB218,000).&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</clwt:BankBorrowingsDisclosureTextBlock>
    <clwt:ScheduleOfBankBorrowingsTableTextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_7004">&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;3&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Bank loans borrowed by the Company (note i)&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;1,001&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;1,502&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Bank loans borrowed by subsidiaries of the Company (note ii)&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;5,005&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;5,007&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;6,006&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;6,509&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</clwt:ScheduleOfBankBorrowingsTableTextBlock>
    <srt:BankLoans
      contextRef="AsOf2024-12-31_srt_SubsidiariesMember_clwt_BankLoanBorrowedByTheCompanysMember"
      decimals="-3"
      id="fid_6774"
      unitRef="CNY">1001000</srt:BankLoans>
    <srt:BankLoans
      contextRef="AsOf2023-12-31_srt_SubsidiariesMember_clwt_BankLoanBorrowedByTheCompanysMember"
      decimals="-3"
      id="fid_6775"
      unitRef="CNY">1502000</srt:BankLoans>
    <srt:BankLoans
      contextRef="AsOf2024-12-31_srt_SubsidiariesMember_clwt_BankLoanBorrowedBySubsidiariesOfTheCompanysMember"
      decimals="-3"
      id="fid_6776"
      unitRef="CNY">5005000</srt:BankLoans>
    <srt:BankLoans
      contextRef="AsOf2023-12-31_srt_SubsidiariesMember_clwt_BankLoanBorrowedBySubsidiariesOfTheCompanysMember"
      decimals="-3"
      id="fid_6777"
      unitRef="CNY">5007000</srt:BankLoans>
    <srt:BankLoans
      contextRef="AsOf2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6778"
      unitRef="CNY">6006000</srt:BankLoans>
    <srt:BankLoans
      contextRef="AsOf2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6779"
      unitRef="CNY">6509000</srt:BankLoans>
    <us-gaap:SubordinatedBorrowingInterestRate
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember_clwt_BorrowedByTheCompanyMember"
      decimals="INF"
      id="fid_6780"
      unitRef="Pure">0.0385</us-gaap:SubordinatedBorrowingInterestRate>
    <us-gaap:SubordinatedBorrowingInterestRate
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember_clwt_BorrowedByTheCompanyMember"
      decimals="INF"
      id="fid_6788"
      unitRef="Pure">0.0385</us-gaap:SubordinatedBorrowingInterestRate>
    <us-gaap:InterestPaid
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember_clwt_BorrowedByTheCompanyMember"
      decimals="0"
      id="fid_6782"
      unitRef="CNY">54000</us-gaap:InterestPaid>
    <us-gaap:InterestPaid
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember_clwt_BorrowedByTheCompanyMember"
      decimals="0"
      id="fid_6784"
      unitRef="CNY">32000</us-gaap:InterestPaid>
    <us-gaap:InterestPaid
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember_clwt_BorrowedByTheCompanyMember"
      decimals="0"
      id="fid_7559"
      unitRef="USD">408000</us-gaap:InterestPaid>
    <us-gaap:SubordinatedBorrowingInterestRate
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember_clwt_BorrowedBySubsidiariesCompanyMember"
      decimals="INF"
      id="fid_6781"
      unitRef="Pure">0.0485</us-gaap:SubordinatedBorrowingInterestRate>
    <us-gaap:SubordinatedBorrowingInterestRate
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember_clwt_BorrowedBySubsidiariesCompanyMember"
      decimals="INF"
      id="fid_6789"
      unitRef="Pure">0.0485</us-gaap:SubordinatedBorrowingInterestRate>
    <us-gaap:InterestPaid
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember_clwt_BorrowedBySubsidiariesCompanyMember"
      decimals="0"
      id="fid_6785"
      unitRef="CNY">184000</us-gaap:InterestPaid>
    <us-gaap:InterestPaid
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember_clwt_BorrowedBySubsidiariesCompanyMember"
      decimals="0"
      id="fid_6787"
      unitRef="CNY">221000</us-gaap:InterestPaid>
    <us-gaap:InterestPaid
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember_clwt_BorrowedBySubsidiariesCompanyMember"
      decimals="0"
      id="fid_6786"
      unitRef="CNY">218000</us-gaap:InterestPaid>
    <us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_6195">&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;13. &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;Other payables and accrued expenses&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;3&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Accrued expenses&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;11,089&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;11,274&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Output VAT &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;6,587&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;6,348&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Deposits received and temporary receipts &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;4,695&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;6,098&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;22,371&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;23,720&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock>
    <us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_7005">&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;3&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Accrued expenses&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;11,089&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;11,274&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Output VAT &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;6,587&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;6,348&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Deposits received and temporary receipts &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;4,695&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;6,098&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;22,371&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;23,720&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock>
    <us-gaap:AccruedBonusesCurrent
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6531"
      unitRef="CNY">11089000</us-gaap:AccruedBonusesCurrent>
    <us-gaap:AccruedBonusesCurrent
      contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6526"
      unitRef="CNY">11274000</us-gaap:AccruedBonusesCurrent>
    <clwt:OutputValueAddedTax
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6532"
      unitRef="CNY">6587000</clwt:OutputValueAddedTax>
    <clwt:OutputValueAddedTax
      contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6527"
      unitRef="CNY">6348000</clwt:OutputValueAddedTax>
    <clwt:DepositsReceivedAndTemporaryReceipts
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6533"
      unitRef="CNY">4695000</clwt:DepositsReceivedAndTemporaryReceipts>
    <clwt:DepositsReceivedAndTemporaryReceipts
      contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6528"
      unitRef="CNY">6098000</clwt:DepositsReceivedAndTemporaryReceipts>
    <us-gaap:AccountsPayableAndAccruedLiabilitiesFairValueDisclosure
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6530"
      unitRef="CNY">22371000</us-gaap:AccountsPayableAndAccruedLiabilitiesFairValueDisclosure>
    <us-gaap:AccountsPayableAndAccruedLiabilitiesFairValueDisclosure
      contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6529"
      unitRef="CNY">23720000</us-gaap:AccountsPayableAndAccruedLiabilitiesFairValueDisclosure>
    <clwt:OtherTaxesPayableDisclosureTextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_6197">&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;14. &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;Other taxes payable&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;Other taxes payable mainly comprise Valued-Added Tax (&#x201c;VAT&#x201d;). The Group is subject to output VAT levied at the rate of 3% to 13 % (2023: 3% to 13%) of the revenue from sales of equipment.&#160; The input VAT paid on purchases of materials and other direct inputs can be used to offset the output VAT levied on operating revenue to determine the net VAT payable or recoverable. &lt;/p&gt;</clwt:OtherTaxesPayableDisclosureTextBlock>
    <clwt:ValuedAddedTaxInterestRate
      contextRef="AsOf2024-12-31_srt_SubsidiariesMember_clwt_BottomsMember"
      decimals="INF"
      id="fid_6319"
      unitRef="Pure">0.03</clwt:ValuedAddedTaxInterestRate>
    <clwt:ValuedAddedTaxInterestRate
      contextRef="AsOf2024-12-31_srt_SubsidiariesMember_clwt_TopsMember"
      decimals="INF"
      id="fid_6320"
      unitRef="Pure">0.13</clwt:ValuedAddedTaxInterestRate>
    <clwt:ValuedAddedTaxInterestRate
      contextRef="AsOf2023-12-31_srt_SubsidiariesMember_clwt_BottomsMember"
      decimals="INF"
      id="fid_6321"
      unitRef="Pure">0.03</clwt:ValuedAddedTaxInterestRate>
    <clwt:ValuedAddedTaxInterestRate
      contextRef="AsOf2023-12-31_srt_SubsidiariesMember_clwt_TopsMember"
      decimals="INF"
      id="fid_6322"
      unitRef="Pure">0.13</clwt:ValuedAddedTaxInterestRate>
    <clwt:CapitalReserveDisclosureTextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_6198">&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;15. &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;Capital reserve&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;Capital reserve represents capital contributions from shareholders in excess of the paid-in capital amount and capitalization of gain on disposal of subsidiaries to the shareholders in previous years.&lt;/p&gt;</clwt:CapitalReserveDisclosureTextBlock>
    <clwt:OtherIncomeAndOtherLossesDisclosureTextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_6199">&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;16. &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;Other income and other losses&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 35.45pt; text-align:justify;"&gt;&lt;strong&gt;Other income &lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Year ended December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;3&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;2&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Impairment gain on contract assets &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;(722 &lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;2,158&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Investment income&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;(8,504 &lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;2,863&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;824&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Fait value gain on short term investment&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;248&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&#160;-&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&#160;-&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Compensation income&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;193&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;7,796&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Amounts waived by payees&#160; &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;676&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;980&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Reversal of allowance for doubtful accounts&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;(6,225&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;10,841&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;983&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Subsidy income from PRC government &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;14,730&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;9,088&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;9,002&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;396&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;32,746&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;11,789&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 35.45pt; text-align:justify;"&gt;&lt;strong&gt;Other losses &lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Year ended December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;3&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;2&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Impairment loss on short term investments&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;195&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Impairment loss on contract assets &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;3,560&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;3,755&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</clwt:OtherIncomeAndOtherLossesDisclosureTextBlock>
    <clwt:ScheduleOfOtherIncomeTabletextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_7006">&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Year ended December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;3&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;2&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Impairment gain on contract assets &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;(722 &lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;2,158&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Investment income&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;(8,504 &lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;2,863&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;824&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Fait value gain on short term investment&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;248&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&#160;-&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;&#160;-&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Compensation income&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;193&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;7,796&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Amounts waived by payees&#160; &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;676&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;980&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Reversal of allowance for doubtful accounts&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;(6,225&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;10,841&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;983&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Subsidy income from PRC government &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;14,730&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;9,088&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;9,002&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;396&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;32,746&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;11,789&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</clwt:ScheduleOfOtherIncomeTabletextBlock>
    <clwt:ImpairmentGainOnContractAssets
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6813"
      unitRef="CNY">-722000</clwt:ImpairmentGainOnContractAssets>
    <clwt:ImpairmentGainOnContractAssets
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6811"
      unitRef="CNY">2158000</clwt:ImpairmentGainOnContractAssets>
    <clwt:ImpairmentGainOnContractAssets
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6812"
      unitRef="CNY">0</clwt:ImpairmentGainOnContractAssets>
    <us-gaap:InvestmentIncomeNet
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6797"
      unitRef="CNY">-8504000</us-gaap:InvestmentIncomeNet>
    <us-gaap:InvestmentIncomeNet
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6798"
      unitRef="CNY">2863000</us-gaap:InvestmentIncomeNet>
    <us-gaap:InvestmentIncomeNet
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6796"
      unitRef="CNY">824000</us-gaap:InvestmentIncomeNet>
    <clwt:FaitValueGainOnShortTermInvestment
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_7203"
      unitRef="CNY">248000</clwt:FaitValueGainOnShortTermInvestment>
    <clwt:FaitValueGainOnShortTermInvestment
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_7560"
      unitRef="USD">0</clwt:FaitValueGainOnShortTermInvestment>
    <clwt:FaitValueGainOnShortTermInvestment
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_7561"
      unitRef="USD">0</clwt:FaitValueGainOnShortTermInvestment>
    <clwt:CompensationIncome
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6790"
      unitRef="CNY">193000</clwt:CompensationIncome>
    <clwt:CompensationIncome
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6792"
      unitRef="CNY">7796000</clwt:CompensationIncome>
    <clwt:CompensationIncome
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6791"
      unitRef="CNY">0</clwt:CompensationIncome>
    <clwt:AmountsWaivedByPayees
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6800"
      unitRef="CNY">676000</clwt:AmountsWaivedByPayees>
    <clwt:AmountsWaivedByPayees
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6801"
      unitRef="CNY">0</clwt:AmountsWaivedByPayees>
    <clwt:AmountsWaivedByPayees
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6799"
      unitRef="CNY">980000</clwt:AmountsWaivedByPayees>
    <clwt:AllowanceForDoubtfulAccountsReversal
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6803"
      unitRef="CNY">-6225000</clwt:AllowanceForDoubtfulAccountsReversal>
    <clwt:AllowanceForDoubtfulAccountsReversal
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6804"
      unitRef="CNY">10841000</clwt:AllowanceForDoubtfulAccountsReversal>
    <clwt:AllowanceForDoubtfulAccountsReversal
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6802"
      unitRef="CNY">983000</clwt:AllowanceForDoubtfulAccountsReversal>
    <clwt:SubsidyIncome
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6806"
      unitRef="CNY">14730000</clwt:SubsidyIncome>
    <clwt:SubsidyIncome
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6807"
      unitRef="CNY">9088000</clwt:SubsidyIncome>
    <clwt:SubsidyIncome
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6805"
      unitRef="CNY">9002000</clwt:SubsidyIncome>
    <us-gaap:OtherIncome
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6809"
      unitRef="CNY">396000</us-gaap:OtherIncome>
    <us-gaap:OtherIncome
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6810"
      unitRef="CNY">32746000</us-gaap:OtherIncome>
    <us-gaap:OtherIncome
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6808"
      unitRef="CNY">11789000</us-gaap:OtherIncome>
    <clwt:ScheduleOfOtherLossesTabletextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_7007">&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Year ended December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;3&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;2&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Impairment loss on short term investments&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;195&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Impairment loss on contract assets &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;3,560&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;3,755&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</clwt:ScheduleOfOtherLossesTabletextBlock>
    <clwt:ImpairmentLossOnShortTermInvestments
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6815"
      unitRef="CNY">0</clwt:ImpairmentLossOnShortTermInvestments>
    <clwt:ImpairmentLossOnShortTermInvestments
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6816"
      unitRef="CNY">0</clwt:ImpairmentLossOnShortTermInvestments>
    <clwt:ImpairmentLossOnShortTermInvestments
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6814"
      unitRef="CNY">195000</clwt:ImpairmentLossOnShortTermInvestments>
    <clwt:ImpairmentLossOnContractAssets
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6818"
      unitRef="CNY">0</clwt:ImpairmentLossOnContractAssets>
    <clwt:ImpairmentLossOnContractAssets
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6819"
      unitRef="CNY">0</clwt:ImpairmentLossOnContractAssets>
    <clwt:ImpairmentLossOnContractAssets
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6817"
      unitRef="CNY">3560000</clwt:ImpairmentLossOnContractAssets>
    <us-gaap:OtherNonoperatingGainsLosses
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6824"
      unitRef="CNY">0</us-gaap:OtherNonoperatingGainsLosses>
    <us-gaap:OtherNonoperatingGainsLosses
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6825"
      unitRef="CNY">0</us-gaap:OtherNonoperatingGainsLosses>
    <us-gaap:OtherNonoperatingGainsLosses
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiariesMember"
      decimals="-3"
      id="fid_6823"
      unitRef="CNY">3755000</us-gaap:OtherNonoperatingGainsLosses>
    <us-gaap:IncomeTaxDisclosureTextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_6200">&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;17. &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;Income tax (credit) / expense&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;According to relevant PRC tax laws and regulations, entities incorporated in the PRC are subject to Enterprise Income Tax (&#x201c;EIT&#x201d;) at a statutory rate of 25% or reduced national EIT rates of 15% for certain High and New Technology Enterprises (&#x201c;HNTE&#x201d;) on PRC taxable income. Zhejiang Tianlan Environmental Protection Technology Company Limited and Hangzhou Tianlan Environmental Protection Equipment Company Limited are classified as HNTE which enjoy a preferential tax rate of 15%.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;During the years ended December 31, 2024 and 2023, the PRC tax laws and regulations have launched a tax reduction scheme for small enterprises, Hangzhou Tianlan Pure Environmental Protection Technology Company Limited, Hangzhou Tiancan Environmental Technology Company Limited, Hangzhou Zhongyi Ecological Environment Consulting Co., Limited, Zhejiang Tianlan Environmental Protection Engineering Company Limited, and Xuancheng Lanjing Environmental Protection Equipment Co., Limited&lt;strong&gt; &lt;/strong&gt;are entitled to enjoy this tax benefit. As such, they are subjects to Enterprise Income Tax rate of 20% only. &lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;The Company and its subsidiaries are based in the PRC and file an EIT return. The components of the provision for income tax expense/(credit) were as follows:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Year ended December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;3&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;2&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Current tax expense / (credit)&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:11.25pt"&gt;PRC EIT&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;3,275&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;7,340&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(7 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Income tax expense / (credit)&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;3,275&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;7,340&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;(7 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Deferred tax expense / (credit)&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(2,910 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;8,729&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(361 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Total deferred tax expense / (credit)&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;(2,910 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;8,729&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;(361 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Total expense / (credit)&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;365&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;16,069&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;(368 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;The items comprising the difference between income tax computed at the EIT statutory rates in effect for 2024, 2023 and 2022 and our effective tax rates were as follows:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Year ended&#160; December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;3&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;2&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Income before income tax&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;14,831&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;86,606&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;15,398&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Computed tax using respective companies&#x2019; statutory tax rates&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;2,152&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;12,991&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;2,309&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;(Over)-provision for income tax in prior years&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;(5 &lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;(591 &lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;(69 &lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Temporary differences&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;1,090&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;2,931&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;2,089&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Tax effect of revenue not subject to tax&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;3&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Tax effect of expenses not deductible for tax purposes&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;699&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;4,472&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;500&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Tax effect of special deduction for research and development costs &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;(4,081 &lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;(3,734 &lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;(5,257 &lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Others &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;510&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;57&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Income taxes expense /(credit) at effective tax rate&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;365&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;16,069 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;(368 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;The components of deferred tax assets are as follows:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;3&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Allowance for doubtful accounts&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;5,058&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;4,218&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Deferred government grant&#160; &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;631&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;213&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Impairment losses on assets&#160;&#160; &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;1,771&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;1,508&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Change in fair value&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;(37 &lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Investment loss&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;1,425&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Total deferred tax assets&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;8,848&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;5,939&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;Uncertain tax positions&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 35.95pt; text-align:justify;"&gt;As a result of the Group&#x2019;s analysis, management has determined that the Group does not have any material uncertain tax positions.&lt;/p&gt;</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_7008">&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Year ended December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;3&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;2&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Current tax expense / (credit)&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:11.25pt"&gt;PRC EIT&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;3,275&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;7,340&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(7 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Income tax expense / (credit)&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;3,275&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;7,340&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;(7 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Deferred tax expense / (credit)&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(2,910 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;8,729&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(361 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Total deferred tax expense / (credit)&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;(2,910 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;8,729&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;(361 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Total expense / (credit)&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;365&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;16,069&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;(368 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock>
    <clwt:IncomeTaxExpensePrcEit
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6551"
      unitRef="CNY">3275000</clwt:IncomeTaxExpensePrcEit>
    <clwt:IncomeTaxExpensePrcEit
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6549"
      unitRef="CNY">7340000</clwt:IncomeTaxExpensePrcEit>
    <clwt:IncomeTaxExpensePrcEit
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6550"
      unitRef="CNY">-7000</clwt:IncomeTaxExpensePrcEit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6554"
      unitRef="CNY">3275000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6552"
      unitRef="CNY">7340000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6553"
      unitRef="CNY">-7000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:DeferredOtherTaxExpenseBenefit
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6557"
      unitRef="CNY">-2910000</us-gaap:DeferredOtherTaxExpenseBenefit>
    <us-gaap:DeferredOtherTaxExpenseBenefit
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6555"
      unitRef="CNY">8729000</us-gaap:DeferredOtherTaxExpenseBenefit>
    <us-gaap:DeferredOtherTaxExpenseBenefit
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6556"
      unitRef="CNY">-361000</us-gaap:DeferredOtherTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6560"
      unitRef="CNY">-2910000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6558"
      unitRef="CNY">8729000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6559"
      unitRef="CNY">-361000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6563"
      unitRef="CNY">365000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6561"
      unitRef="CNY">16069000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6562"
      unitRef="CNY">-368000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_7010">&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="10" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;Year ended&#160; December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;3&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;2&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Income before income tax&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;14,831&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;86,606&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;15,398&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Computed tax using respective companies&#x2019; statutory tax rates&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;2,152&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;12,991&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;2,309&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;(Over)-provision for income tax in prior years&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;(5 &lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;(591 &lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;(69 &lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Temporary differences&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;1,090&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;2,931&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;2,089&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Tax effect of revenue not subject to tax&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;3&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Tax effect of expenses not deductible for tax purposes&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;699&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;4,472&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;500&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Tax effect of special deduction for research and development costs &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;(4,081 &lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;(3,734 &lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;(5,257 &lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Others &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;510&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;57&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Income taxes expense /(credit) at effective tax rate&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;365&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;16,069 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;(368 &lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="0"
      id="fid_6584"
      unitRef="CNY">14831</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="0"
      id="fid_6582"
      unitRef="CNY">86606</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiaryIssuerMember"
      decimals="0"
      id="fid_6583"
      unitRef="CNY">15398</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="0"
      id="fid_6587"
      unitRef="CNY">2152</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
    <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="0"
      id="fid_6585"
      unitRef="CNY">12991</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
    <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiaryIssuerMember"
      decimals="0"
      id="fid_6586"
      unitRef="CNY">2309</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
    <clwt:OverProvisionForIncomeTaxInPriorYears
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="0"
      id="fid_6596"
      unitRef="CNY">-5</clwt:OverProvisionForIncomeTaxInPriorYears>
    <clwt:OverProvisionForIncomeTaxInPriorYears
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="0"
      id="fid_6588"
      unitRef="CNY">591</clwt:OverProvisionForIncomeTaxInPriorYears>
    <clwt:OverProvisionForIncomeTaxInPriorYears
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiaryIssuerMember"
      decimals="0"
      id="fid_6595"
      unitRef="CNY">69</clwt:OverProvisionForIncomeTaxInPriorYears>
    <clwt:TemporaryDifferences
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="0"
      id="fid_6598"
      unitRef="CNY">1090</clwt:TemporaryDifferences>
    <clwt:TemporaryDifferences
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="0"
      id="fid_6589"
      unitRef="CNY">2931</clwt:TemporaryDifferences>
    <clwt:TemporaryDifferences
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiaryIssuerMember"
      decimals="0"
      id="fid_6597"
      unitRef="CNY">2089</clwt:TemporaryDifferences>
    <clwt:TaxEffectOfRevenueNotSubjectToTax
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiaryIssuerMember"
      decimals="0"
      id="fid_6599"
      unitRef="CNY">3</clwt:TaxEffectOfRevenueNotSubjectToTax>
    <us-gaap:IncomeTaxReconciliationNondeductibleExpense
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="0"
      id="fid_6602"
      unitRef="CNY">699</us-gaap:IncomeTaxReconciliationNondeductibleExpense>
    <us-gaap:IncomeTaxReconciliationNondeductibleExpense
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="0"
      id="fid_6590"
      unitRef="CNY">4472</us-gaap:IncomeTaxReconciliationNondeductibleExpense>
    <us-gaap:IncomeTaxReconciliationNondeductibleExpense
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiaryIssuerMember"
      decimals="0"
      id="fid_6601"
      unitRef="CNY">500</us-gaap:IncomeTaxReconciliationNondeductibleExpense>
    <us-gaap:IncomeTaxReconciliationNondeductibleExpenseResearchAndDevelopment
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="0"
      id="fid_6604"
      unitRef="CNY">4081</us-gaap:IncomeTaxReconciliationNondeductibleExpenseResearchAndDevelopment>
    <us-gaap:IncomeTaxReconciliationNondeductibleExpenseResearchAndDevelopment
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="0"
      id="fid_6591"
      unitRef="CNY">3734</us-gaap:IncomeTaxReconciliationNondeductibleExpenseResearchAndDevelopment>
    <us-gaap:IncomeTaxReconciliationNondeductibleExpenseResearchAndDevelopment
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiaryIssuerMember"
      decimals="0"
      id="fid_6603"
      unitRef="CNY">5257</us-gaap:IncomeTaxReconciliationNondeductibleExpenseResearchAndDevelopment>
    <us-gaap:IncomeTaxReconciliationOtherAdjustments
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="0"
      id="fid_6606"
      unitRef="CNY">510</us-gaap:IncomeTaxReconciliationOtherAdjustments>
    <us-gaap:IncomeTaxReconciliationOtherAdjustments
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiaryIssuerMember"
      decimals="0"
      id="fid_6605"
      unitRef="CNY">57</us-gaap:IncomeTaxReconciliationOtherAdjustments>
    <clwt:IncomeTaxesCreditExpenseAtEffectiveTaxRate
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="0"
      id="fid_6594"
      unitRef="CNY">365</clwt:IncomeTaxesCreditExpenseAtEffectiveTaxRate>
    <clwt:IncomeTaxesCreditExpenseAtEffectiveTaxRate
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="0"
      id="fid_6592"
      unitRef="CNY">16069</clwt:IncomeTaxesCreditExpenseAtEffectiveTaxRate>
    <clwt:IncomeTaxesCreditExpenseAtEffectiveTaxRate
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiaryIssuerMember"
      decimals="0"
      id="fid_6593"
      unitRef="CNY">-368</clwt:IncomeTaxesCreditExpenseAtEffectiveTaxRate>
    <us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_7009">&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;December 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;4&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;202&lt;/strong&gt;&lt;strong&gt;3&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"&gt;&lt;strong&gt;RMB&#x2019;000&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Allowance for doubtful accounts&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;5,058&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;4,218&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Deferred government grant&#160; &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;631&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;213&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Impairment losses on assets&#160;&#160; &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;1,771&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;1,508&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Change in fair value&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;(37 &lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Investment loss&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;1,425&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Total deferred tax assets&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;8,848&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;5,939&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="0"
      id="fid_7229"
      unitRef="USD">5058</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts
      contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="0"
      id="fid_6615"
      unitRef="CNY">4218</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts>
    <us-gaap:DeferredTaxAssetsDeferredIncome
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="0"
      id="fid_7230"
      unitRef="USD">631</us-gaap:DeferredTaxAssetsDeferredIncome>
    <us-gaap:DeferredTaxAssetsDeferredIncome
      contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="0"
      id="fid_6616"
      unitRef="CNY">213</us-gaap:DeferredTaxAssetsDeferredIncome>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsImpairmentLosses
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="0"
      id="fid_7231"
      unitRef="USD">1771</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsImpairmentLosses>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsImpairmentLosses
      contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="0"
      id="fid_6617"
      unitRef="CNY">1508</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsImpairmentLosses>
    <clwt:DeferredtaxassetstaxdeferrechangeInFairValue
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="0"
      id="fid_7234"
      unitRef="USD">-37</clwt:DeferredtaxassetstaxdeferrechangeInFairValue>
    <clwt:InvestmentLoss
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="0"
      id="fid_7232"
      unitRef="USD">1425</clwt:InvestmentLoss>
    <clwt:InvestmentLoss
      contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="0"
      id="fid_6618"
      unitRef="CNY">0</clwt:InvestmentLoss>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="AsOf2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="0"
      id="fid_7233"
      unitRef="USD">8848</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:DeferredTaxAssetsNet
      contextRef="AsOf2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="0"
      id="fid_6619"
      unitRef="CNY">5939</us-gaap:DeferredTaxAssetsNet>
    <us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_6201">&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;18. &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;Pension plan&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;As stipulated by the rules and regulations in the PRC, the Group contributes to state-sponsored retirement plans for its employees in Mainland China. The Group contributes approximately 12% to 14% of the basic salaries of its employees, and has no further obligations for the actual payment of pension or post-retirement benefits beyond the annual contributions. The state-sponsored retirement plans are responsible for the entire pension obligations payable to retired employees.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;During the years ended December 31, 2024, 2023 and 2022, the aggregate contributions of the Group to the aforementioned pension plans and retirement benefit schemes were approximately RMB3,710,000, RMB2,766,000 and RMB2,691,000 respectively.&lt;/p&gt;</us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock>
    <clwt:PensionSchemeBasicSalaryPercentage
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember_clwt_BottomsMember"
      decimals="INF"
      id="fid_6331"
      unitRef="Pure">0.12</clwt:PensionSchemeBasicSalaryPercentage>
    <clwt:PensionSchemeBasicSalaryPercentage
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember_clwt_TopsMember"
      decimals="INF"
      id="fid_6332"
      unitRef="Pure">0.14</clwt:PensionSchemeBasicSalaryPercentage>
    <us-gaap:PensionContributions
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6330"
      unitRef="CNY">3710000000</us-gaap:PensionContributions>
    <us-gaap:PensionContributions
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6328"
      unitRef="CNY">2766000000</us-gaap:PensionContributions>
    <us-gaap:PensionContributions
      contextRef="From2022-01-01to2022-12-31_srt_SubsidiaryIssuerMember"
      decimals="-3"
      id="fid_6329"
      unitRef="CNY">2691000000</us-gaap:PensionContributions>
    <us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_6202">&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;19. &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;Risk factors&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;Financial risk factors&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;The Group&#x2019;s activities expose it mainly to credit risk.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;Credit risk&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;The Group has no significant concentration of credit risk, cash in banks in PRC is insured with limit of approximately RMB500,000, per bank per each depositor. Uninsured cash in banks and restricted cash balances in PRC are of approximately RMB67,750,000 (2023: RMB128,000,000). Cash transactions are limited to high credit quality banks.&lt;/p&gt;</us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock>
    <us-gaap:ConcentrationRiskCreditRiskFinancialInstrumentMaximumExposure
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember_clwt_CNMember"
      decimals="0"
      id="fid_6832"
      unitRef="CNY">500000</us-gaap:ConcentrationRiskCreditRiskFinancialInstrumentMaximumExposure>
    <us-gaap:RestrictedCash
      contextRef="AsOf2024-12-31_srt_SubsidiariesMember_clwt_CNMember"
      decimals="0"
      id="fid_7212"
      unitRef="USD">67750000</us-gaap:RestrictedCash>
    <us-gaap:RestrictedCash
      contextRef="AsOf2023-12-31_srt_SubsidiariesMember_clwt_CNMember"
      decimals="0"
      id="fid_6831"
      unitRef="CNY">128000000</us-gaap:RestrictedCash>
    <us-gaap:RelatedPartyTransactionsDisclosureTextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_6203">&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;20. &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;Related party transaction&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;There was no engineering service income from an investment in 2024&#160;(2023: Nil) and there was remuneration to key management personnel of approximately RMB2,037,000 (2023: RMB 1,878,000).&lt;/p&gt;</us-gaap:RelatedPartyTransactionsDisclosureTextBlock>
    <clwt:Remuneration
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember_clwt_EngineeringServiceMember"
      decimals="0"
      id="fid_7209"
      unitRef="USD">2037000</clwt:Remuneration>
    <clwt:Remuneration
      contextRef="From2023-01-01to2023-12-31_srt_SubsidiariesMember_clwt_EngineeringServiceMember"
      decimals="0"
      id="fid_6835"
      unitRef="CNY">1878000</clwt:Remuneration>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_6204">&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;21 &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;Commitments and contingencies &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;(i)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Insurance&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 70.85pt; text-align:justify;"&gt;The Group carries insurance policies to cover various risks, primarily general liability, automobile liability, workers&#x2019; compensation and employee medical expenses under which we are liable to reimburse the insurance company for a portion of each claim paid.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;(ii)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Purchase commitments&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 70.85pt; text-align:justify;"&gt;To manage the risk of changes in material prices and subcontracting costs used in tendering bids for contracts, most of the time, the Group obtains firm quotations from suppliers and subcontractors before submitting a bid. These quotations do not include any quantity guarantees. As soon as the Group is advised that its bid is successful, the Group enters into firm contracts with most of its materials suppliers and sub-contractors, thereby mitigating the risk of future price variations affecting the contract costs.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;(iii)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Litigation&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 70.85pt; text-align:justify;"&gt;The Group is now and may in the future be involved as a party to various legal proceedings that are incidental to the ordinary course of business. Management, after consultation with legal counsel, does not believe that the outcome of these actions will have a material impact on the consolidated financial statements of the Group. There are no significant unresolved legal issues as of December 31, 2024 and 2023.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;(v)&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;Contingencies&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 70.85pt; text-align:justify;"&gt;The Group accounts for loss contingencies in accordance with ASC 450 and other related guidelines. As of December 31, 2024 and 2023, the Group&#x2019;s management is of the opinion that there are no commitments and contingencies to account for.&lt;/p&gt;</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <us-gaap:SubsequentEventsTextBlock
      contextRef="From2024-01-01to2024-12-31_srt_SubsidiariesMember"
      id="fid_6205">&lt;table cellpadding="0" style="border-spacing:0;font-size:10pt;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td style="width:4%;vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;22 &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&lt;strong&gt;Subsequent event&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0.5in; text-align:justify;"&gt;The Company evaluated all events and transactions that occurred after December 31, 2024, up through the date the Company issued the audited consolidated financial statements. Other than the event disclosed above, there was no other subsequent events occurred that would require recognition or disclosure in the Company&#x2019;s audited consolidated financial statements.&lt;/p&gt;</us-gaap:SubsequentEventsTextBlock>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
